
Functional Programming
文章平均质量分 81
Henzox
一个自称是搞技术的程序员!
展开
-
函子
引言 上一篇文章介绍了范畴论的一些基本概念,范畴,对象,态射。并且用了一些编程语言的例子去实践了这些理论的东西。但这还不足以让我们对函数式编程有个深刻的理解,因为还有一些概念是我们必须要知道,比如函子。什么是函子 函子(Functor)在维基百科中说,在范畴论中,函子是范畴间的一类映射。函子也可以解释为小范畴范畴内的态射。 我们先记住前面一句话,函子是范畴间的一类映射。我们知道,态射原创 2017-04-17 21:19:18 · 2621 阅读 · 0 评论 -
幺半群
前言 一个单子就是一个自函子范畴上的幺半群。 前面已经讲解了范畴以及函子和自函子,那什么是幺半群呢?幺半群(Monoid) 维基百科中幺半群被定义为是一个伴有二元运算的集合,且这个二元运算只需要满足结合率,并且这个集合中还必须有一个特殊的元素,幺元,对于这个二元运算,一个元素与幺元的运算将返回这个元素自身。 用公式表示为,假设这个二元运算用 * 表示: 结合律:对任何在原创 2017-04-17 22:07:30 · 6654 阅读 · 2 评论 -
Monad
自函子范畴上的幺半群原创 2017-04-18 17:07:21 · 899 阅读 · 0 评论 -
函数式编程入门
什么是函数式编程 函数式编程 (Functional Programming) 是一个比较宏大的话题。它是一个编程范式,与大家熟知的面向过程和面向对象平级,在维基百科中,可以看到各种各样的编程范式。编程范式 那什么是范式? 其实就是在解决实际问题中,总结的编写程序的方法论,以某种统一的模式进行编程抽象及思考,构建出整个编程模型。比如面向过程的编程范式强调,我们去抽象现实世界时,按照初入门时原创 2017-04-16 17:25:43 · 971 阅读 · 0 评论 -
函数式编程与范畴论
引言 如果要领会函数式编程的思想,不可避免的会接触到一个概念 Monad(单子),单子概念的理解对函数式编程的领会有着至关重要的作用,函数式编程大 神Phillip Wadler 说过一句话,"A monad is just a monoid in the category of endofunctors”, 翻译过来就是 “一个单子不就是自函子范畴上的幺半群么”。简单的一句话扯出了这篇原创 2017-04-16 19:18:05 · 2946 阅读 · 1 评论