论文部分内容阅读
范畴论中的单子是包含一个函子和2个自然变换的三元组,而函数式F#语言中的单子则是由包含构造子和return操作和bind操作的三元组。针对2种单子定义不一致的问题,首先给出了范畴单子的定义和性质。在此基础上,通过引入(_)*运算符,定义了Kleisli范畴。由此定义了函数语言F#单子。在此基础上给出了F#单子满足的性质与范畴单子性质的对应关系。最后给出了F#单子常见的5种编程情形。