似乎Haskell已经围绕monad建立了几个命名约定.
例子:
T到最后获得monad变压器的名称(例如Reader- > ReaderT)runXXX以执行单子计算(例如runST,runReader)liftXXX 对于各种价值观 XXX还有其他命名约定吗?
Tho*_*son 14
runX m这里m :: X a将运行X单子并与单子结果一起返回了"副作用", a.
evalX m将运行计算并返回结果a.
execX m 将运行计算并返回"副作用"但不返回结果.
升降机有各种各样的风格,对于我来说,想要在SO答案中解释它们可能有点太棘手.您可能应该知道lift并且liftIO意识到/最终寻找其他变体,例如liftWith和liftBaseWith.例如,请参阅EZYang关于该主题的帖子.
T在monad名称后附加一个暗示变换器.M在函数名后附加意味着它是monadic.附加_意味着忽略结果.
所有其他后缀字母均表示"使用hoogle".
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |