更改

跳到导航 跳到搜索
无编辑摘要
第1行: 第1行:  
[[Category:Haskell]]
 
[[Category:Haskell]]
 +
== Functor ==
 +
 +
<code>Functor</code> 可被想象成 Mappable。
 +
 +
== Applicative ==
 +
 +
== Monad ==
 +
 +
=== 相关函数 ===
 +
 +
;<code>(&gt;&gt;=)</code>: bind
 +
;<code>(&gt;&gt;)</code>: then 运算符。忽略上一个 Monad 的结果
 +
;<code>(&gt;=&gt;)</code>: monad 复合,<code>(bs &gt;=&gt; cs) a</code> 可理解为 {{code|haskell|do { b <- bs a; cs b }<nowiki/>}}
 +
;<code>(&lt;=&lt;)</code>: <code>flip (&gt;=&gt;)</code>,就像 <code>(.)</code> 运算符<ref>[[wikibooks:Haskell/Understanding_monads#Monadic_composition]]</ref>
 +
 
== 关系 ==
 
== 关系 ==
   第28行: 第43行:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
但由于 <code>return</code> 是 <code>Monad</code> 版本的 <code>pure</code>,<code>ap</code> 是 <code>Monad</code> 版本的 <code>(&lt;*&gt;)</code>,为了方便也可如下实现
+
但由于 <code>return</code> 是 <code>Monad</code> 版本的 <code>pure</code>,<code>ap</code> 是 <code>Monad</code> 版本的 <code>(&lt;*&gt;)</code>,为了方便也可如下实现<ref>[[wikibooks:Haskell/Understanding_monads#liftM_and_Friends]]</ref>
    
<syntaxhighlight lang=haskell>
 
<syntaxhighlight lang=haskell>
第42行: 第57行:  
     fmap = liftM
 
     fmap = liftM
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== 参考资料 ==
 +
 +
<references />

导航菜单