问题标签 [category-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1511 浏览

haskell - 什么是 zygo/meta/histo/para/futu/dyna/whatever-morphisms?

如果没有广泛的范畴理论知识的人可以访问它们的示例,是否有一个列表?

0 投票
2 回答
4488 浏览

math - 学习范畴论的资源

我很快就要上范畴论的课程了。

您可以推荐哪些资源来学习它?

哪些部分与学习相关,我如何学习应用我的知识?

0 投票
2 回答
2700 浏览

haskell - liftM 可以与 liftA 不同吗?

根据Typeclassopedia(以及其他来源),Applicative逻辑上属于类型类层次结构中的MonadPointed(因此Functor)之间,所以如果今天编写 Haskell 前奏,我们理想情况下会有这样的东西:

(这些默认定义是我从维基百科的解释中重新输入的,错误是我自己的,但如果有错误,至少原则上是可能的。)

由于当前定义了库,因此我们有:

和:

请注意每对中这些类型之间的相似性。

我的问题是:(liftM与 不同liftA)和ap(与 不同<*>)仅仅是没有考虑和Monad设计的历史现实的结果吗?或者它们是否以某种其他行为方式(可能,对于某些法律定义)与只需要上下文的版本不同?PointedApplicativeMonadApplicative

如果它们是不同的,您能否提供一组简单的定义(遵守 Typeclassopedia 和其他地方描述的、但未由类型系统强制执行的定义的法律)Monad和行为不同?ApplicativePointedFunctorliftAliftM

或者,如果它们不是不同的,您能否使用与前提相同的定律证明它们的等价性?

0 投票
3 回答
532 浏览

c# - 有用或非平凡的双接口示例

最近 Erik Meijer和其他人展示IObservable/IObserver了. 它们是双重的这一事实意味着一个接口上的任何操作在另一个接口上都是有效的,从而为 .Net 的反应式扩展提供了理论基础IEnumerable/IEnumerator

是否存在其他双接口?我对任何示例都感兴趣,而不仅仅是基于.Net。

0 投票
2 回答
801 浏览

covariance - could someone explain the connection between type covariance/contravariance and category theory?

I am just starting to read about category theory, and would very much appreciate it if someone could explain the connection between CS contravariance/covariance and category theory. What would some example categories be (i.e. what are their objects/morphisms?)? Thanks in advance?

0 投票
3 回答
3678 浏览

haskell - 所有 Haskell 函子都是内函子吗?

我有点困惑,需要有人来纠正我。让我们概述一下我目前的理解:

内函子在哪里EA是某个类别:

既然 Haskell 中的所有类型和态射都在Hask范畴内,那么 Haskell 中的任何函子不也是endofunctor吗?F : Hask -> Hask.

我有一种很好的感觉,我错了,并且以某种方式过度简化了这一点,我希望有人告诉我我是多么的白痴。谢谢。

0 投票
4 回答
677 浏览

oop - OO 编程中有哪些数学对偶?

如果您最近观看了 Channel9 的 Going Deep 节目,那么经常提到的一个话题是编程中的数学对偶性。TomasP 有一篇关于面向对象编程中的二元性的很好的博客文章。

这是因为微软研究院发现观察者设计模式实际上是迭代器模式的数学对偶。从那时起,他们以各种方式使用了二元性概念。

我的问题是:

编程中有哪些数学对偶?

面向对象编程是一个好的开始。主要的 GoF 设计模式有:装饰器、状态、迭代器、外观、策略、代理、工厂方法、适配器、观察者、模板方法、复合、单例、抽象工厂和命令。是一个很好的对象图海报。

0 投票
5 回答
191646 浏览

haskell - 单子只是内函子类别中的一个幺半群,有什么问题?

下面是谁先说的?

单子只是内函子类别中的一个幺半群,有什么问题?

在不太重要的一点上,这是真的吗?如果是这样,您能否给出解释(希望没有太多 Haskell 经验的人可以理解)?

0 投票
5 回答
5652 浏览

haskell - 单子作为附属词

我一直在阅读范畴论中的单子。monad 的一个定义使用一对伴随函子。monad 由使用这些函子的往返定义。显然,附属词在范畴论中非常重要,但我还没有看到任何关于伴随函子的 Haskell monad 的解释。有没有人考虑过?

0 投票
2 回答
14732 浏览

haskell - zygohistomorphic prepromorphisms 的实际应用

的,这些

是的,我知道他们是一个(HHOS)笑话。我正在寻找一个简单的黑客价值的真实示例,最后但并非最不重要的是,将其添加到 wiki 中说“这是表达 XYZ 的惯用方式”。如果您未能提出解决方案,我将为此提供赏金。如果你完全不知道他们在说什么,爱德华在 reddit 上发布了一个简短的解释。

合格的答案必须:

  1. 至少做一些远程和理论上计算上有用的事情。也就是说,减少到的答案id已经出来了。

  2. 使用方案的所有功能,不传入 id、const 或等效项。

  3. 不能通过简单的香草折叠等来表达,所以不要仅仅product以曲折的方式实现。

奖励积分将给予:

  • 众所周知的问题或算法

  • 以一种不同寻常的方式解决,分别表达,获得

  • 清晰度和/或性能

  • 和/或黑客价值

  • 和/或 lulz,大致按照这个顺序,以及

  • 高级答案(耶民主)

另请注意爱德华在下面的回答。您使用什么 ZHPM 实现是您的选择。