随笔分类 -  函数式编程

上一页 1 ··· 3 4 5 6 7 8 下一页
摘要:关键词:运算、转换、扩展、封装。 函数式编程是围绕高阶函数进行的,设计的核心在于高阶函数的设计。 1、函数式编程通过函数的复合生成更大的结构; 2、函数的操作分为分解和复合;分解即为柯里化,可以分为偏函数分解和彻底分解。复合即为待定系数和调用约定。 3、函数的运算最终转化为代数运算。 4、monad 阅读全文
posted @ 2018-03-26 17:29 zzfx 阅读(259) 评论(0) 推荐(0) 编辑
摘要:维基百科中对偏函数 (Partial application) 的定义为: In computer science, partial application (or partial function application) refers to the process of fixing a num 阅读全文
posted @ 2018-03-26 15:01 zzfx 阅读(393) 评论(0) 推荐(0) 编辑
摘要:什么是泛函编程(Functional Programming)?泛函编程就是用函数编写程序。这个回答太抽象,等于没说。 再说清楚一点:泛函编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是泛函编程。 阅读全文
posted @ 2018-03-26 11:59 zzfx 阅读(155) 评论(0) 推荐(0) 编辑
摘要:函数式编程关心数据的映射,命令式编程关心解决问题的步骤 我想稍微改一下,使其更数学化一点。 函数式编程关心类型(代数结构)之间的关系,命令式编程关心解决问题的步骤 函数式编程中的lambda可以看成是两个类型之间的关系,一个输入类型和一个输出类型。lambda演算就是给lambda表达式一个输入类型 阅读全文
posted @ 2018-03-26 11:36 zzfx 阅读(331) 评论(0) 推荐(0) 编辑
摘要:函数式语言当然还少不了以下特性: 高阶函数(Higher-order function) 偏应用函数(Partially Applied Functions) 柯里化(Currying) 闭包(Closure) 高阶函数就是参数为函数或返回值为函数的函数。有了高阶函数,就可以将复用的粒度降低到函数级 阅读全文
posted @ 2018-03-26 11:35 zzfx 阅读(828) 评论(0) 推荐(0) 编辑
摘要:相信大家平时或多或少听过不少关于“函数式编程” (FP)相关的词语,有些Geek经常吹捧函数式的优点或者特性比如:纯函数无副作用、不变的数据、高阶函数、流计算模式、尾递归、柯里化等等,再加上目前的函数式理论越来越多的应用于工程中,OCaml,clojure, scala等FP语言日渐火爆。本编文章, 阅读全文
posted @ 2018-03-26 11:21 zzfx 阅读(306) 评论(0) 推荐(0) 编辑
摘要:monad的特征: 类型转化+添加新的操作。 monad RACStream RACSignal RACSubject monad:单一体,(不可分的)个体 以计算为中心的封装。 In functional programming, a monad is a design pattern that 阅读全文
posted @ 2018-03-23 19:24 zzfx 阅读(241) 评论(0) 推荐(0) 编辑
摘要:转载请注明出处: http://hai.li/2017/03/27/prom... 背景 上篇文章 函数式JS: 一种continuation monad推导 得到了一个类似promise的链式调用,引发了这样的思考:难道promise是monad?如果是的话又是怎样的monad呢?来来来,哥哥带你 阅读全文
posted @ 2018-03-23 15:04 zzfx 阅读(227) 评论(0) 推荐(0) 编辑
摘要:译者按: 近年来,函数式语言的特性都被其它语言学过去了。 原文: Functional Computational Thinking — What is a monad? 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 如果你使用函数式编 阅读全文
posted @ 2018-03-23 15:02 zzfx 阅读(278) 评论(0) 推荐(0) 编辑
摘要:为了理解什么是Monad,最好需要了解什么是Monoid。这两篇互为姐妹篇,因为Monad的定义是:A monad is just a monoid in the category of endofunctors, what's the problem? what's the problem?其实问 阅读全文
posted @ 2018-03-22 19:38 zzfx 阅读(693) 评论(0) 推荐(0) 编辑
摘要:google到数学里定义的群(group): G为非空集合,如果在G上定义的二元运算 *,满足 则称(G,*)是群,简称G是群。 如果仅满足封闭性和结合律,则称G是一个半群(Semigroup);如果仅满足封闭性、结合律并且有幺元,则称G是一个含幺半群(Monoid)。 相比公式还是用代码表达更容易 阅读全文
posted @ 2018-03-18 15:26 zzfx 阅读(1263) 评论(0) 推荐(0) 编辑
摘要:函数式表达式:分解、合成、赋函、调用、嵌套、级联、抽象; 抽象:将调用与实现分离。 阅读全文
posted @ 2018-01-28 15:23 zzfx 阅读(238) 评论(0) 推荐(0) 编辑
摘要:把函数当作普通的运算符使用。 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值; "语句"(statement)是执行某种操作(更多的是逻辑语句。),没有返回值。 函数式编程要求,只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而 阅读全文
posted @ 2018-01-28 15:20 zzfx 阅读(306) 评论(0) 推荐(0) 编辑
摘要:函数式编程有两个最基本的运算:合成和柯里化。 2.1 函数的合成 如果一个值要经过多个函数,才能变成另外一个值,就可以把所有中间步骤合并成一个函数,这叫做"函数的合成"(compose)。 上图中,X和Y之间的变形关系是函数f,Y和Z之间的变形关系是函数g,那么X和Z之间的关系,就是g和f的合成函数 阅读全文
posted @ 2018-01-28 13:56 zzfx 阅读(1401) 评论(0) 推荐(0) 编辑
摘要:你可能听说过函数式编程(Functional programming),甚至已经使用了一段时间。 但是,你能说清楚,它到底是什么吗? 网上搜索一下,你会轻松找到好多答案。 与面向对象编程(Object-oriented programming)和过程式编程(Procedural programmin 阅读全文
posted @ 2018-01-16 10:50 zzfx 阅读(832) 评论(0) 推荐(1) 编辑
摘要:拉姆达值(Lambda),希腊字母表示为Λ,指与真空的空间有关的能量或暗能量。 代表转换的常量、或者转换本身。 Lambda 表达式 Lambda 表达式”是一个匿名函数,可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 所有 Lambda 表达式都使用 Lambda 运算符 =>;,该 阅读全文
posted @ 2018-01-15 18:08 zzfx 阅读(448) 评论(0) 推荐(0) 编辑
摘要:In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats  阅读全文
posted @ 2018-01-12 19:56 zzfx 阅读(296) 评论(0) 推荐(0) 编辑
摘要:声明式编程需要底层或运行时环境支持。 声明式语言的关键词确定了执行的关键控制流。 表述编程语言是说明性的东西;而不是具体的执行方案。 通常他的执行由解释器进行。 In computer science, declarative programming is a programming paradig 阅读全文
posted @ 2018-01-12 15:59 zzfx 阅读(486) 评论(0) 推荐(0) 编辑
摘要:http://kb.cnblogs.com/page/111780/ 这个问题是在最近一次英格兰Brighton ALT.NET Beers活动中提出来的。我发现,如果不用代码来演示,你很难单用话语把它解释清楚,所以,在这里,我打算用C#来解释一下什么是闭包(closures)。维基百科上说: 在计 阅读全文
posted @ 2017-09-06 18:20 zzfx 阅读(818) 评论(0) 推荐(0) 编辑
摘要:https://en.wikipedia.org/wiki/First-class_function In computer science, a programming language is said to have first-class functions if it treats func 阅读全文
posted @ 2017-07-16 14:33 zzfx 阅读(361) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 下一页