随笔分类 - 函数式编程
摘要:容器类型:高阶类型; 例子:集合类容器、枚举类容器、结果类容器、适配类容器。 功能: 1、值类型的封装和解封; 2、值类型的管理:存储、遍历、查询;为高阶函数; 3、惰性求值的管理:处理函数的保存、处理函数的执行(apply)。 值类型: 代表数据:用于进行处理,对应transform。 值类型的产
阅读全文
摘要:函数式编程的演进 数据结构与算法的结合方式:https://www.cnblogs.com/feng9exe/p/9785664.html 古典编程:数据结构+算法(C语言)。 算法的上下文通过参量和全局变量确定; 演进方向:面向对象、函数式编程; 面向对象:运算的上下文通过对象和参量确定; 对象的
阅读全文
摘要:高阶函数与接口混入和java匿名类。 高阶函数中的组件(参量)函数相当于面向对象中的混入(接口)类。 public abstract class Bird { private String name; public String getName() { return name; } public v
阅读全文
摘要:纯虚类 接口混入类 寄生类 typedef: transformX: (Value) -> U func transformFun(:value:Value) -> U 基类: public func map<T>(_ transform: (Element) throws -> T) rethro
阅读全文
摘要:高阶函数的本质是二阶构造、分离、配置和复用 相对于高阶函数,面向对象类似的功能是通过继承和多态实现的; func composeFun(){ //virtualFun fun() this.fun() } 高阶函数本身相当于基类; 配置函数+高阶函数相当于子类。 配置函数在高阶函数声明中的存在相当于
阅读全文
摘要:高阶函数是以参量和返回值的形式引用其它函数的函数; 高阶函数是开放的和变化的。 相对于基本函数来说,高阶函数提供了可配置性、变化性、开放性。 声明: 高阶函数本身的声明,引用函数的声明; 为高阶函数和引用(参量、组件)函数提供上下文; 定义: 高阶函数本身的定义; 引用(组件)函数的调用; 调用:
阅读全文
摘要:Shorthand Argument Names Swift automatically provides shorthand argument names to inline closures, which can be used to refer to the values of the clo
阅读全文
摘要:Swift 的 extension 机制很强大,不仅可以针对自定义的类型,还能作用于系统库的类型,甚至基础类型比如 Int。当在对系统库做 extension 的时候,就会涉及到一个命名冲突的问题。Objective-C 时代的通行解决办法是在扩展方法名字的最前面加上 XXX_ 形式的前缀。这种形式
阅读全文
摘要:Functor,即函子,是 Haskell 中普遍存在的、最基本的类型类。你可以用以下两种方式来理解 Functor: 它代表某种容器,该容器能够将某一函数应用到其每一个元素上。 它代表某种“可计算上下文”(computational context)。 https://www.cnblogs.co
阅读全文
摘要:面向类型编程; 面向对象编程与业务和属性相关; 面向类型编程与函数的符合相关 ;
阅读全文
摘要:函数作为参数传递,只是组件的传递过程; 函数的执行过程是函数的配置、组建和执行的过程。
阅读全文
摘要:https://kotlinlang.org/docs/reference/lambdas.html
阅读全文
摘要:返回值:嵌套函数or闭包; 返回函数地址与表达式; 而不是计算结果。 参数:函数作为参数被传进高阶函数时,是作为值传递的; 在高阶函数内部,作为值的函数会被调用;高阶函数为此函数提供上下文。 作为入参的函数的函数签名的形参不是必须的。 除非作为匿名函数或闭包存在。
阅读全文
摘要:偏函数应用指的是固化函数的一个或一些参数,从而产生一个新的函数。比如我们有一个记录日志的函数: 1: def log(level, message): 2: print level + ": " + message 3: 4: #usage 5: log("Warning", "this is on
阅读全文
摘要:柯里化相当于函数重构; 偏函数相当于函数适配。 So, what is the difference between currying and partial application? As we stated before: Currying: Ability to decompose a fun
阅读全文
摘要:函数式编程也遵循数据结构+算法的编程范式。 数据结构为高阶类型; 算法为算子,高阶函数。 函数式编程关心数据的映射,命令式编程关心解决问题的步骤 这里的映射就是数学上“函数”的概念—— 一种东西和另一种东西之间的对应关系。 这也是为什么“函数式编程”叫做“函数式编程”。
阅读全文
摘要:变量:传递、存取、变化。函数:传递、执行(结合)、操作。 函数作为参量、变量。 函数调用。 函数运算。 In computer science, function composition (not to be confused with object composition) is an act o
阅读全文
摘要:泛函编程(23)-泛函数据类型-Monad http://www.cnblogs.com/tiger-xc/p/4461807.html https://blog.csdn.net/samsai100/article/details/71512702
阅读全文