monad的一些语言和用法

Ish*_*ara 6 lisp monads functional-programming scala clojure

根据你的说法,你认为哪种语言最适合实现monad(Python/Ruby/LISP)?还有谁能告诉我monad的一些可能的用法(请举例),比如异常?

提前致谢

Vas*_*iuk 19

All About Monads - 传奇教程,列出了所有标准monad并提供了大量真实示例.

即使是主流语言你也可以见到的流行monad是Maybe,ListContinuation.也有的人认为,jQuery的本身就是一个单子(因为它遵循的单子公理).

至于语言选择,Haskell和其衍生物使用的单子作为一个基本概念,但是,作为一个选项,构建单子了很多现代语言是可能的.为了熟悉monad概念,我最好选择我最熟悉的语言.


gan*_*tas 7

按优先顺序排列:

  1. 哈斯克尔
  2. F#
  3. 斯卡拉
  4. C#

Monads按顺序递减:

  1. 也许(例外)
  2. 读者
  3. 作家
  4. 分析器
  5. 异步

  • 斯卡拉> F#.为什么?简单.在Scala中,你可以编写在任何monad上运行的函数,你不能在F#中,因为这需要更高级的类型. (7认同)
  • 好的清单,但我也会把Scala放在F#之上.我还在Maybe和Reader之间添加List和Set,在Parser和Async之间添加Continuation. (3认同)