范畴论-一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了范畴论-一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已相关的知识,希望对你有一定的参考价值。

范畴即为结构:包含要素和转化。

 

范畴为高阶类型。

函子为高阶函数。函子的输入为态射。函子为建立在态射基础上的高阶函数。函子用于保持范畴间映射的结构。态射用于范畴内部的转换。

群为运算规则的约束。

自函子是一类比较特殊的函子,它是一种将范畴映射到自身的函子 (A functor that maps a category to itself)。

 

范畴论是抽象地处理数学结构以及结构之间联系的一门数学理论,以抽象的方法来处理数学概念,将这些概念形式化成一组组的“物件”及“态射”。

 

不是只专注在有特定结构的个别物件(如群)上,范畴论会着重在这些物件的态射(结构保持映射)上。

研究范畴就是试图以“公理化”的方法抓住在各种相关连的“数学结构”中的共同特性,并以结构间的“结构保持函数”将这些结构相关起来。

 

函子

再抽象化一次,范畴自身亦为数学结构的一种,因此可以寻找在某一意义下会保持其结构的“过程”;此一过程即称之为函子。函子将一个范畴的每个物件和另一个范畴的物件相关连起来,并将第一个范畴的每个态射和第二个范畴的态射相关连起来。
实际上,即是定义了一个“范畴和函子”的范畴,其元件为范畴,(范畴间的)态射为函子。
经由研究范畴和函子,不只是学习了一类数学结构,及在其之间的态射;还学习了“在不同类型的数学结构之间的关系”。此一基本概念首次出现于代数拓扑之中。不同的“拓扑”问题可以转换至通常较易解答的“代数”问题之上。在拓扑空间上如基本群或基本群胚等基本的架构,可以表示成由群胚所组成的范畴之间的基本函子,而这个概念在代数及其应用之中是很普遍的。 [1]

以上是关于范畴论-一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已的主要内容,如果未能解决你的问题,请参考以下文章

读编程与类型系统笔记11_高级类型及其他

函数式Monads模式初探——Endofunctor

Haskell 中的单子——洪峰老师讲创客道(三十五)

高阶函数式编程:在 Kotlin 中“实现”单子(Monad)

进阶学习4:函数式编程FP——函子FunctorMayBe函子Either函子IO函子FolktalePointer函子Monad

Swift函数式编程十三(函子适用函子单子)