做符号和Monad组成

Pab*_*ada 3 haskell category-theory abstract-algebra

我是Haskell初学者,我还在学习类别理论及其在计算机科学中的实际应用.

我花了最后一天观看伯克利大学关于类别理论的几次讲座,其中大部分内容都展示了戒指,半群,群体,幻马,幺半群等的数学观点.

因此,在我的脑海中提出了关于monadic组合和kleisli类别的问题.因此,我想问一下Haskell/Category Theory专家.

记法是一种单子构图吗?

问候,

巴勃罗·帕拉达

Sib*_*ibi 8

记法是一种单子构图吗?

记谱法没有什么特别之处.它只是monad函数的语法糖.Haskell wikibook的一个很好的例子:

do x1 <- action1
   x2 <- action2
   action3 x1 x2
Run Code Online (Sandbox Code Playgroud)

去糖:

action1
  >>=
    \ x1 -> action2
      >>=
        \ x2 -> action3 x1 x2
Run Code Online (Sandbox Code Playgroud)

现实世界的haskell书有一个很好的部分解释了这种脱糖是如何在各种场景中发生的.

  • @PabloParada表示法只是一种句法简写.它实际上做的是调用`>> =`.由于将符号转换为`>> =`调用,这与询问`>> =`是否为monadic组合完全相同.实际上,它几乎就是这样.有一个非常相似的函数叫做`> =>`,它是Kleisli的组合.它的定义是`>> =`here:http://haddocks.fpcomplete.com/fp/7.8/20140916-162/base/src/Control-Monad.html#line-178. (3认同)