作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
IO
在 Haskell 中很棘手。线程、FFI、异步异常、懒惰,应有尽有。
然后我们有 MonadIO
它允许使用 IO
对 monadic 堆栈进行分层在底部。自 IO
Action 可以做任意的事情,在这种不稳定的基础上构建 monadic 堆栈有什么值(value)?
它为什么存在?为什么不构建自定义 monad IO
如果你真的需要执行任意的副作用?
最佳答案
现在使用 the ReaderT design pattern 是一种常见的方法。 .
您对将其他转换器置于 IO 之上保持警惕是正确的,上面链接的博客文章解释了其中的一些原因。
但是,在将“通用应用程序配置”传递给您的所有功能时,ReaderT 提供了一些不错的便利。
关于haskell - 在 IO 之上构建 monad 转换器堆栈是否有正当理由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52568702/
我是一名优秀的程序员,十分优秀!