摘要:
接口:what; 实现:算法;指令; 编程语言中,凡是不涉及到算法的部分,都可以认为是声明式编程。 命令式编程可以与算法划等号;算法要求严格的计算逻辑和控制,是实施细节的精准描述; 命令式编程与声明式编程只是侧重点的不同。一个侧重计算控制,一个侧重逻辑描述。 命令式编程通过一系列改变程序状态的指令来 阅读全文
posted @ 2019-03-11 22:10
zzfx
阅读(686)
评论(0)
推荐(0)
摘要:
三个关注点:1、形式;2、实现方式;3、使用方式; 一、基本形式: 形式:内部无泛型类型; 实现:只需指定类型和实现相应的功能即可; 使用:可以用在其他类型出现的任何地方; protocol Response { /// The task metrics containing the request 阅读全文
posted @ 2019-03-11 18:51
zzfx
阅读(2138)
评论(0)
推荐(0)
摘要:
高阶函数负责数据的单次映射; monad负责数据处理流的串联,并使得串联函数具有相同的形式。 同时moand负责基础类型和高阶类型间的转换。 阅读全文
posted @ 2019-03-11 17:04
zzfx
阅读(331)
评论(0)
推荐(0)
摘要:
泛型编程不仅能泛化算法中涉及的概念(数据类型),还能泛化行为(函数、方法、运算)。 基础部分: 与类型无关的变量和函数,通用部分; 扩展部分(swift): 与类型相关的函数其它扩展; 泛型关注通用的算法和数据组织形式; 关注与类型无关的算法和数据组织形式; 偏重数据的泛型(强泛型成员变量)关注数据 阅读全文
posted @ 2019-03-11 16:56
zzfx
阅读(342)
评论(0)
推荐(0)
摘要:
类型的作用 定义数据的组织形式; 定义类型与操作的结合形式; 类型系统设计的一个重要指标是给类型添加操作的方式。 给类型添加操作。 如何给类型添加操作? 如何生成类型; 阅读全文
posted @ 2019-03-11 15:59
zzfx
阅读(215)
评论(0)
推荐(0)
摘要:
安全,有了类型系统以后就可以实现类型安全,这时候程序就变成了一个严格的数学证明过程,编译器可以机械地验证程序某种程度的正确性,从而杜绝很多错误的发生。正面例子:Haskell、Rust反面例子:C,动态语言 抽象能力,在安全的前提下,一个强大的类型系统的标准是抽象能力,能将程序中的很多东西纳入安全的 阅读全文
posted @ 2019-03-11 15:51
zzfx
阅读(485)
评论(0)
推荐(0)
摘要:
1、单体(数据)映射:基本操作;数据的单次映射; 2、管道流:数据的流程化处理 基础是monand类型,形式是声明式编程; Pipeline模型: 它以一种“链式模型”来串接不同的程序或者不同的组件,让它们组成一条直线的工作流。这样给定一个完整的输入,经过各个组件的先后协同处理,得到唯一的终于输出。 阅读全文
posted @ 2019-03-11 15:32
zzfx
阅读(455)
评论(0)
推荐(0)
摘要:
<高阶函数定义了高阶类型的处理(映射)、低阶函数处理了低阶类型的映射,高阶函数依赖于低阶函数> 高阶函数的特点: 1、定义的高阶函数本身的实现 ; 2、定义了参量函数的接口:输入、输出; 3、定义了高阶函数的功能部分对输入函数的引用或使用方式。 语义:定义高阶函数并声明混入函数的接口 本质是暴露低阶 阅读全文
posted @ 2019-03-11 11:53
zzfx
阅读(1539)
评论(0)
推荐(0)