【发布时间】:2014-07-10 02:04:52
【问题描述】:
在 Haskell 中,我觉得非常美妙的一件事是它使用 Monad 作为有效动作的抽象。它创建了一种非常优雅的方式来表达命令式代码,同时还允许在保证正确性的情况下发生强大的事情。
IO monad 似乎并不特定于强类型语言。具体来说,在我看来,用动态类型语言实现 IO monad 并不困难或革命性的。然后只需要限制语言,以使所有 IO 操作都简单地在 IO monad 中产生操作。
话虽如此,我还没有看到任何动态类型的语言(也许我只是不够努力),但使用 monad 隔离副作用。有什么理由会这样吗? (或者它们是否存在?)
【问题讨论】:
标签: haskell functional-programming monads dynamic-typing