gpt4 book ai didi

function - 为什么 `\x -> f x x` = `join f` ?

转载 作者:行者123 更新时间:2023-12-03 13:25:15 25 4
gpt4 key购买 nike

我最近发现 \x -> f x x 的 pointfree 是 join f ,想了解原因。我从这里开始:

join :: Monad m => m (m a) -> m a

然后被难住了,因为我不熟悉“函数 monad”。有人可以帮助我解释解释平等的类型推导吗?

最佳答案

这是 Monad ((->) r) 在类型级别上的一个非常简单的代数变换。观看我们特化和简化 join 的类型。

join :: Monad m => m        (m        a)  -> m        a
join :: ((->) r) (((->) r) a) -> ((->) r) a -- Specializing
join :: (r -> (r -> a)) -> (r -> a) -- Infix
join :: (r -> r -> a) -> r -> a -- Simplifying

关于function - 为什么 `\x -> f x x` = `join f` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38401606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com