为什么在Haskell Monads中将“bind”写为>> =?
Haskell Monads中语法“>> =”和“>>”的起源是什么? 我不是在寻找Monad如何工作的解释,而是为什么语言设计者选择了这种语法。 对我而言,“>> =”和“>>”似乎有些随意,从来没有直观的意义。 有没有人有一个直观的解释? 它是来自类别理论的语法吗?
m >>= k
表示“将计算结果m
送到函数k
”; m >> n
建议“运行m
计算,然后运行n
计算”。
Haskell Monads中语法“>> =”和“>>”的起源是什么? 我不是在寻找Monad如何工作的解释,而是为什么语言设计者选择了这种语法。 对我而言,“>> =”和“>>”似乎有些随意,从来没有直观的意义。 有没有人有一个直观的解释? 它是来自类别理论的语法吗?
m >>= k
表示“将计算结果m
送到函数k
”; m >> n
建议“运行m
计算,然后运行n
计算”。