函数式编程

培训笔记:课程一 

开场:

  • 思维定势造成的障碍,推到从来
  • 一以贯之,敏变应需:如何做到?
  • 以心转境(哲理、数理、技理)
  • 专注!!!!!

要学什么:

学习List,要List干嘛?

两个,第一C;第二个SCHEME;

 

需要精读的书

SICP  ,《计算机程序的结构与解析》

DRAGON,《编译原理》

 

HACKERDOM(黑客需要技能,层层深入)

1、计算的本质:搞懂这个最好用(SCHEME),RACKET就是该语言是实现;

2、系统程序设计语言:C/C++;

3、计算机的体系机构:汇编;

4、数据结构与算法;

5、计算机程序的结构与解析:设计一个解析器;

6、编译原理;DRAGON(呼应计算的本质)

 

7、电路原理;从数学角度对物理进行抽象;

8、信号的分析与综合:DA AD Z变换;

9、硬件描述语言:HDL(呼应6段,DRAGON);

 

学习方法(一以贯之):

PM:

Pan-system

Methodology

PM3

3、泛关系:万物充分、万事关系;泛转化:转化形式很多,研究事物之间相互联系、相互推导、相互促进、相互制约;泛对称:广义对程性,如a=b,a-b=0;可计算的函数也是对称性;

PM5

建模:

5、可观察、充分、客观性建模;

PM6:

6、方法论、数学、逻辑、系统科学、本体论/存在论、价值观(这6点是PM356中的6统一);

PM123:

1、PM1:6统一的背景、刻度论的工具(测度、尺度);

2、PM2:形式语言、可能世界的逻辑(作任何事情都是在可能逻辑里面的,不要逃离逻辑,例如做永动机);

3、PM3:1、集合论;2、图论;3、矩阵论;

 

 

培训笔记:课程二

计算的本质: 

六句话:

识局整、判形影、辩异同、排次序、显运转、度生克 

形影关系:

点是形,在坐标轴中分解为x,y就是影;

 

集合

元素与集合:隶属关系(区别与识局整:分清楚整体和局部的关系)

集合的运算;

学会从集合的语言角度看待世界的关系表;

偶对关系怎么做?

(cons 1 2)

->(1,2)

利用集合的包含关系做,去模拟序

列表用集合的嵌套去做;

 

把两个不相干的做成关系,转化;叶子与锯子;

 

等价关系,商化系统

等价聚类、离散数据、

等价:

定义-> 自反关系(刻画存在性):对称关系(a是b的配偶、b也是a的配偶):传递关系

等价关系才有等价聚类;

排序:

全序集合、偏序集合、良序集合(有头元素的well order)

 

代码

(cons 1 2)

(define p (cons 1 2))

  (car p)

Lisp 符号表:define 函数就是在符号表加入函数:如

p

`(1.2)

 

 

如果再运行:(define p (cons 3 4))

 

 

P(会被gc回收)

`(1.2)

p

`(3.4)

 

如果用set : (set p 100)

则变为:

 

P(会被gc回收)

`(1.2)

p

100

而函数式编程是没有副作用的,不会设置值

 

点集拓扑学 - >lambda演算 -> 

 

点集拓扑学

ICEB:internal   closure external boundary

闭包(closure);

拓扑空间在一定情况下会变成度量空间

 

 

 

培训笔记:课程三

函数是一等公民

概念

函数式编程:Immutable  Pure function  State  Concurrency Component Testing Deploy

 

函数是低等对象:1、可命名;2、可返回;3、可传递;4、可组新的exp

 

可返回

((lambda (g)

(g 3) f)

 

可以用closure(闭包)模仿OOP

例如:case-lambda

 

stack

stack frame

1、incoming

2、returned value

3、local state

4、intermediate

5、func link

6、data link

7、stored machine

 

C语言

没有动态链和数据链,lips和c不同,运行时栈框结构是不动的,c是针对堆栈,而lips是针对结构表,才会有链条。

 

高阶函数

EVAL

(eval express env)

ALLPY

(apply + `(1 2 3 4))

Map

无副作用

For-each

具有副作用

 

转载于:https://www.cnblogs.com/iCanhua/p/9039301.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值