monad的一些语言和用法

时间:2010-09-22 12:52:39

标签: scala functional-programming clojure lisp monads

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

提前致谢

4 个答案:

答案 0 :(得分:19)

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

即使是主流语言,您也可以遇到的热门monad是MaybeListContinuation。 有些人还认为jQuery本身就是一个monad(因为它遵循monadic axioms)。

至于语言选择,Haskell及其派生词使用monad作为基本概念,但是,作为一种选择,在许多现代语言中构建monad是可能的。为了熟悉monad概念,我最好选择我最熟悉的语言。

答案 1 :(得分:7)

按优先顺序排列:

  1. 的Haskell
  2. F#
  3. Scala的
  4. C#
  5. Monads按顺序递减:

    1. 可能(例外)
    2. 阅读器
    3. 作家
    4. 国家
    5. 分析器
    6. 异步

答案 2 :(得分:3)

答案 3 :(得分:1)

例如,请参阅Philip Wadler,“用于函数式编程的Monads”。