Haskell的Monad vs. APL的Monad

hoo*_*rEE 10 monads haskell apl

在APL和Haskell中,monad这个词是指两个完全不同的东西,或者从两个不同的角度看同一个东西.

我对两种语言都很陌生,并试图理解更高层次的概念.

Dan*_*zer 12

完全不同,在Haskell中,monad具有两个功能

bind :: m a -> (a -> m b) -> m b
return :: a -> m a
Run Code Online (Sandbox Code Playgroud)

关于他们如何一起玩的一些规则.它实际上是一种类别理论的结构.

在APL中,monad只是用于描述函数(动词)占用多少个参数的术语.似乎"monad"可以用作"一元函数"的同义词,并且是逻辑和语言学中常见的术语.


J. *_*son 6

两件完全不同的东西!Monad经常与"Dyad"和"Triad"串联,仅仅意味着"一个","两个","三个".在APL的情况下,它表示"一个参数".

Haskell中的Monads完全不同.他们可能从"monoid"和"operad"中获取它们的词源,这两者也完全不同.

  • monad的词源:http://english.stackexchange.com/questions/30654/where-does-the-term-monad-come-from (3认同)