gpt4 book ai didi

haskell - "lax"在 "lax monoidal functor"中是什么意思?

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

我知道 Applicative类在范畴论中被描述为“松散的单曲面仿函数”,但我以前从未听说过“松散”这个词,the nlab page on lax functor一堆我根本不认识的东西,回复:双类别和我不知道我们在 Haskell 中关心的东西。如果它实际上是关于双类别的,有人可以给我一个平民的观点吗?否则,以这个名义“松懈”在做什么?

最佳答案

让我们切换到 Applicative 的幺半群 View :

unit ::     ()     -> f   ()
mult :: (f s, f t) -> f (s, t)

pure :: x -> f x
pure x = fmap (const x) (unit ())
(<*>) :: f (s -> t) -> f s -> f t
ff <*> fs = fmap (uncurry ($)) (mult (ff, fs))

对于严格的幺半群仿函数, unitmult必须是同构。 “松懈”的影响是放弃该要求。

例如,(直到通常的天真) (->) a是严格单曲线的,但是 []只是松散的单面体。

关于haskell - "lax"在 "lax monoidal functor"中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52220060/

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