对为什么所有单型形态与身份形态不相同的原因感到困惑
我正忙于阅读Bartosz Milewski的程序员类别理论书籍,而我在描述非身份形态的描述是在描述单型物体作为一组和单型类别时的描述。 我了解到,当在的背…
什么是Cocartesian comonoid,什么是Cocartesian comonoidal函子?
我最近一直在尝试使用Monoid和分销剂,我认为我发现了一些有趣的东西(在答案中描述了) - 这些已经是已知的结构吗? (我一直无法在线找到对它们的任…
如何理解Yoneda的自然同构中的普遍量化?
在学习Yoneda引理时,我遇到了Haskell中基本自然同构的以下编码: forward :: Functor f => (forall r . (a -> r) -> f r) -> f a forward f = f id b…
术语“ functor”一词在Prolog中,与类别理论所获得的术语有任何关系吗?
我开始学习Prolog,然后读到结构开头的原子通常称为 fuction 。 我也熟悉类别理论和函数编程中的术语函数。 所以我的问题是,prolog中函子一词的选择…
律师在AGDA中的固定点定理
我正在努力证明在Agda中。确切地说,我试图找出底部定理的证明。 surjective : {A : _} {B : _} → (A → B) → Set surjective {B = B} f = (b : B) …
身份单片作为免费的单子
身份单元的函数可以定义为: data Identity a = Identity a 因为这个单子是免费的,所以另一种定义是: data Term f a = Pure a | Impure (f (Term f …
这种自由(更自由?) monad 的构造有效吗?
在过去的两年里,我对使用免费的 monad 来帮助我解决实际的软件工程问题很感兴趣。并使用一些基本范畴论提出了我自己的自由单子构造。 {-# LANGUAGE R…
如何在 Scala 中实现不可变性的记忆化?
我最近正在阅读程序员的类别理论,在其中一个挑战中,Bartosz 提议编写一个名为 memoize 的函数,该函数将函数作为参数并返回相同的函数,但第一次的…
Haskell 的 monad 转换器在分类术语中是什么?
作为一名数学学生,当我了解 Haskell 中的 monad 时,我做的第一件事就是检查它们是否确实是我所知道的意义上的 monad。但后来我了解了 monad 转换器…
函子对于 (a -> b) -> (fa -> fb),是什么 (Category c) =>驾驶室-> c(fa)(fb)?
我想要一个函数,用于将纯函数映射到容器或通过它对应用/单子操作进行排序。对于纯映射,我们有 fmap :: Functor f => (a -> b) -> (f a -> f b) 对于…
可表示函子同构于 (Bool -> a)
我想我会尝试有趣的 Representable-functors 包为给定的函子定义 Monad 和 Comonad 实例data Pair a = Pair a a,用Bool表示;正如我之前关于向量 mon…