FP Complete 的经典博文介绍 Haskell 应用中「ReaderT Env IO」这一标准设计模式。核心思想是:应用定义唯一的核心类型 Env,统一承载运行时配置、可 mock 的全局函数(如日志、数据库)以及用 IORef/TVar 表示的必要可变状态,业务代码整体跑在 ReaderT Env IO 中。文章对比了编译期条件编译、unsafePerformIO 全局值等替代方案,论证为何显式/隐式传入配置更优,并说明用 mtl 风格的 typeclass(MonadReader/MonadIO)可以部分恢复纯度。