Functional programming 为什么“join”也称为“mu”?
我在Idris文档中注意到,Functional programming 为什么“join”也称为“mu”?,functional-programming,monads,idris,Functional Programming,Monads,Idris,我在Idris文档中注意到,join也称为flatten和mu Idris> :doc join Prelude.Monad.join : Monad m => m (m a) -> m a Also called flatten or mu The function is Total IIRC,mu(或μ)用作递归数据类型的绑定器。在此上下文中,我以前从未见过mu。这方面的背景是什么?非常简短的回答:范畴理论 中等长度的答案: 如果您查看Wikipedia
join
也称为flatten
和mu
Idris> :doc join
Prelude.Monad.join : Monad m => m (m a) -> m a
Also called flatten or mu
The function is Total
IIRC,
mu
(或μ)用作递归数据类型的绑定器。在此上下文中,我以前从未见过mu
。这方面的背景是什么?非常简短的回答:范畴理论
中等长度的答案:
如果您查看Wikipedia上的(很抱歉,没有复制它,因为SO上没有LaTeX支持),您将看到“mu”和“eta”用作两个“”,其中mu是从T2到T的一个(如果您查看类型签名,它从(m(ma)
到ma
)
深入的回答:(参见“自然转换”)mu是否代表
一元单位
?我不这么认为,我认为是希腊字母μ。