似乎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 次 |
最近记录: |