随笔分类 -  函数式编程

1 2 3 4 5 ··· 8 下一页
摘要:面向对象是对内聚状态的封装; 函数式编程是对通用运算符的封装与在运算符基础上的计算构建。 函数式编程 = 构造运算符 + 链接运算符。 函数式编程根本上是抽象运算符与对运算符的解释。 阅读全文
posted @ 2022-06-20 15:08 zzfx 阅读(47) 评论(0) 推荐(0) 编辑
摘要:编程的过程看成计算的构建 阅读全文
posted @ 2022-05-20 17:05 zzfx 阅读(25) 评论(0) 推荐(0) 编辑
摘要:除了函数(指针)、变量、引用上下文(具有动态作用域和生命周期),闭包最大的贡献在于逻辑内聚 将使用函数指针时分散到各处的关联逻辑放到一起 阅读全文
posted @ 2022-05-17 11:10 zzfx 阅读(32) 评论(0) 推荐(0) 编辑
摘要:面向对象通过构建更大的结构来模拟世界,函数式编程通过构造更大的计算来求解问题 那我认为的编程语言两个功能, 一个是模拟, 一个是计算,真实的物理世界, 或者说具体的业务, 有巨大的复杂性,当你要用编程语言解决问题, 首先语言应该有足够的灵活性去描述问题,然后是计算, 比说你能描述字符串文件, 也能描 阅读全文
posted @ 2022-05-14 23:19 zzfx 阅读(23) 评论(0) 推荐(0) 编辑
摘要:结构:函数作为变量参与构建; 抽象:高阶函数指定了函数类型后,具体实现可以是任何形式。 行为:执行构建的计算; 状态:计算构建与计算执行的关系。 一、函数的双重属性:变量与函数。 变量(类型+实例):用于构建结构 函数:用于执行; 函数类型(签名)相当于面向对象编程中的接口。 给函数变量赋值,相当于 阅读全文
posted @ 2019-11-12 17:22 zzfx 阅读(290) 评论(0) 推荐(0) 编辑
摘要:函数式编程的三个核心要素 1、变量化函数:变量的类型和值 -> closer 2、高阶函数:抽象机制的复用; 3、moand: 抽象层面的计算构建。计算流的在基础层面的构建和基础计算。 阅读全文
posted @ 2019-09-29 17:04 zzfx 阅读(487) 评论(0) 推荐(0) 编辑
摘要:类、闭包、monand 三者的相同点都是封装了数据与操作。 类:定义数据类型,倾向于数据的抽象;集合数据为操作提供上下文。 闭包:对环境变量和操作的封装抽象。操作基于环境变量,核心问题是环境变量的管理。 在模型上是一个操作对应一个数据结构的模型。 将运算与上下文封装抽象为一种特殊的类型,从而取得与普 阅读全文
posted @ 2019-09-20 11:03 zzfx 阅读(385) 评论(0) 推荐(0) 编辑
摘要:函数作为返回值 在构造函数的内部,目标函数只是一个可能引用了上下文变量和其它计算过程的可计算结构。 这个计算结构的定义需要用到内部函数。 这个可计算结构必须通过内部函数来生成?!。 函数签名结构的修改必须通过内部函数来实现。 计算结构的构建过程,只是结构体的构建或配置过程。不会发生实际运算。 或者说 阅读全文
posted @ 2019-08-21 16:11 zzfx 阅读(220) 评论(0) 推荐(0) 编辑
摘要:1、串联; 2、柯里化、偏函数。 阅读全文
posted @ 2019-08-21 16:03 zzfx 阅读(280) 评论(0) 推荐(0) 编辑
摘要:函数类型-(定义)->函数变量-(上下文赋值)->函数构建-->值函数-->求值。 一、函数类型 typedef void (^AFNetworkReachabilityStatusBlock)(AFNetworkReachabilityStatus status); public typealia 阅读全文
posted @ 2019-08-21 16:02 zzfx 阅读(352) 评论(0) 推荐(0) 编辑
摘要:链式编程的核心是:后继计算和上下文生成 以及计算上下文链的逻辑一致性。 阅读全文
posted @ 2019-08-17 20:16 zzfx 阅读(149) 评论(0) 推荐(0) 编辑
摘要:函数式编程之-函数-需要配置上下文的可求值结构 上下文的配置方式: 1、全局饮用; 2、参数传入; 3、内部函数引用外部环境; 阅读全文
posted @ 2019-08-16 21:39 zzfx 阅读(163) 评论(0) 推荐(0) 编辑
摘要:1、计算链的构建;通过类型提升实现;双向链。 2、上下文的保存; 3、副作用的隔离:异步、io 阅读全文
posted @ 2019-08-16 21:37 zzfx 阅读(274) 评论(0) 推荐(0) 编辑
摘要:函数式编程之构建 要素:值函数、高阶函数、monad。 一、平凡函数与compose、pipeline 前后计算以来的平凡函数对函数签名有要求; 函数签名的逻辑顺序必须兼容; 二、高阶函数: 1、作为构建节点;map--复合成具体的功能; 2、作为构建器具;compose--将函数单元组合成一个接口 阅读全文
posted @ 2019-08-16 19:41 zzfx 阅读(193) 评论(0) 推荐(0) 编辑
摘要:https://segmentfault.com/a/1190000016803036#articleHeader11 什么是组合子 组合子在数学中就有,但我们讲的并不是数学中的定义,而是在JavaScript领域中的组合子概念。按照我所理解的JavaScript函数式编程,我将组合子分为辅助组合子 阅读全文
posted @ 2019-08-16 19:41 zzfx 阅读(435) 评论(0) 推荐(0) 编辑
摘要:函数式编程中的函数—函数式编程的多态 保存了计算上下文和计算过程的特殊值 保存了计算上下文和计算过程的有输入输出的可计算结构。 保存了计算上下文和计算过程的可配置结构;(柯里化)。 函数作为一种特殊的值和结构,可以由更高阶的函数对其进行组合、变换、柯里化等操作; 函数作为输入和输出:本质上都是可配置 阅读全文
posted @ 2019-08-16 19:40 zzfx 阅读(400) 评论(0) 推荐(0) 编辑
摘要:func baseFunc(go:String, goo:String) -> String { return "hello" + go + goo; } func CurryFunc(baseFun:@escaping (String,String)->String) ->(String) -> 阅读全文
posted @ 2019-08-16 18:38 zzfx 阅读(286) 评论(0) 推荐(0) 编辑
摘要:trait Monad:函数式编程类型系统本博客搜索关键字--类型升降 阅读全文
posted @ 2019-08-16 17:05 zzfx 阅读(185) 评论(0) 推荐(0) 编辑
摘要:高阶函数和类型作为计算的骨架,低阶函数作为构建的元素 函数(计算、表达式)怎么组合成具体或更大的的计算,或链条更长的计算。 二、计算的构建: 1、输入输出流的平凡构建;签名兼容的函数调用链构建;无高阶函数,构建器compose pipeline本身是高阶函数; 2、函数作为参量参与链的构建; 3、m 阅读全文
posted @ 2019-08-16 15:10 zzfx 阅读(300) 评论(0) 推荐(0) 编辑
摘要:函数式编程:函数作为变量和函数的计算结果 查看函数的引用方式: 1、以函数签名的方式对函数进行引用; 2、以函数输出值的形式对函数进行引用; 函数作为变量 vs 函数作为计算求值 惰性求值 阅读全文
posted @ 2019-07-29 11:08 zzfx 阅读(337) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 8 下一页