函數式編程

培訓筆記:課程一 算法

開場:express

  • 思惟定勢形成的障礙,推到歷來
  • 一以貫之,敏變應需:如何作到?
  • 以心轉境(哲理、數理、技理)
  • 專一!!!!!

要學什麼:編程

學習List,要List幹嗎?數據結構

兩個,第一C;第二個SCHEME;閉包

 

須要精讀的書app

SICP  ,《計算機程序的結構與解析》函數式編程

DRAGON,《編譯原理》函數

 

HACKERDOM(黑客須要技能,層層深刻)工具

一、計算的本質:搞懂這個最好用(SCHEME),RACKET就是該語言是實現;學習

二、系統程序設計語言:C/C++;

三、計算機的體系機構:彙編;

四、數據結構與算法;

五、計算機程序的結構與解析:設計一個解析器;

六、編譯原理;DRAGON(呼應計算的本質)

 

七、電路原理;從數學角度對物理進行抽象;

八、信號的分析與綜合:DA AD Z變換;

九、硬件描述語言:HDL(呼應6段,DRAGON);

 

學習方法(一以貫之):

PM:

Pan-system

Methodology

PM3

三、泛關係:萬物充分、萬事關係;泛轉化:轉化形式不少,研究事物之間相互聯繫、相互推導、相互促進、相互制約;泛對稱:廣義對程性,如a=b,a-b=0;可計算的函數也是對稱性;

PM5

建模:

五、可觀察、充分、客觀性建模;

PM6:

六、方法論、數學、邏輯、系統科學、本體論/存在論、價值觀(這6點是PM356中的6統一);

PM123:

一、PM1:6統一的背景、刻度論的工具(測度、尺度);

二、PM2:形式語言、可能世界的邏輯(做任何事情都是在可能邏輯裏面的,不要逃離邏輯,例如作永動機);

三、PM3:一、集合論;二、圖論;三、矩陣論;

 

 

培訓筆記:課程二

計算的本質: 

六句話:

識局整、判形影、辯異同、排次序、顯運轉、度生克 

形影關係:

點是形,在座標軸中分解爲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

 

函數是低等對象:一、可命名;二、可返回;三、可傳遞;四、可組新的exp

 

可返回

((lambda (g)

(g 3) f)

 

能夠用closure(閉包)模仿OOP

例如:case-lambda

 

stack

stack frame

一、incoming

二、returned value

三、local state

四、intermediate

五、func link

六、data link

七、stored machine

 

C語言

沒有動態鏈和數據鏈,lips和c不一樣,運行時棧框結構是不動的,c是針對堆棧,而lips是針對結構表,纔會有鏈條。

 

高階函數

EVAL

(eval express env)

ALLPY

(apply + `(1 2 3 4))

Map

無反作用

For-each

具備反作用

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息