繁体   English   中英

Haskell单项证明

[英]Haskell monadic proof

对于数学专家(我不是,也不是Haskell专家):

m >> k = m >>= \_ -> k

此“ monad”进行类型检查和编译。 这是从数学上证明m >> k (忽略返回值)和m >>= \\_ -> k (有返回值的monad,但没有返回值的lambda)是相同的,还是我可以实际输入值? 只是好奇。 不是阻塞问题。

这是函数>>定义,以infix形式。

它等效于更常见的(>>) mk = ...

这里的括号是解释Haskell我们以前缀形式使用运算符。

我假设您正在阅读Prelude http://hackage.haskell.org/package/base-4.12.0.0/docs/src/GHC.Base.html#%3E%3E中的以下内容

这不是证明。 这更类似于OOP接口中方法的定义。

class Monad类的定义中(Haskell中的class Monad更像是一个接口)。 它定义了一个运算符>>应该被定义。 并且提供了默认定义。 默认定义为m >>= \\_ -> k

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM