【发布时间】:2015-09-10 06:24:27
【问题描述】:
我正在尝试通过我的一个玩具项目来学习 Scalaz,我在 Haskell 中使用过 monad,现在我想学习如何在 Scala 中通过 Scalaz 使用它们。
最大的问题是,如何在 Scala 的 main 方法中使用 IO() Monad?
在 Haskell 中,main 函数的类型为 IO(),而在 Scala 中,它的类型为 ()。
到目前为止,我找到的解决方案是创建另一个 foo 类型的函数 IO() 并在 main 方法中调用 foo.unsafePerformIO()。但这让我感到畏缩。
有什么解决办法?
【问题讨论】:
-
没有意义,而且练习也是徒劳的 - Scala 是一种不纯的函数式语言。 Scala 不是 Haskell,Haskell 也不是 Scala。
标签: scala haskell monads scalaz