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"可以用作"一元函数"的同义词,并且是逻辑和语言学中常见的术语.
两件完全不同的东西!Monad经常与"Dyad"和"Triad"串联,仅仅意味着"一个","两个","三个".在APL的情况下,它表示"一个参数".
Haskell中的Monads完全不同.他们可能从"monoid"和"operad"中获取它们的词源,这两者也完全不同.