Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@

這是一個關於 Functional Programming 名詞解釋及知識點整理的地方,會包含一些情境及範例解說,目的在於消除學習 FP 過程中因不懂緣由所產生的困惑。

## Roadmap

1. lambda calculus
2. 用 recursion 解釋可計算性
3. 加上 simply type
4. 解釋型別規則
5. 建立 STLC categorical semantic
6. 加上 polymorphism
7. 解釋型別規則
8. 建立 \(E \to B\) categorical semantic
9. 解釋 \(\lambda 2\) 的 polymorphic property
10. 解釋 recursive type
11. 連結 F-algebra
12. 變成 dependent type
13. 解釋型別規則
14. 解釋模型(The natural model)
- topos
- topos fundamental theorem
- presheaf
- representable natural transformation
15. 進入真正的應用
16. side effect
17. concurrency
18. 安全性
- 記憶體安全與子結構類型
- (?) proof nets
- 整體安全性不是只關乎記憶體
19. domain language

### ⚠️ 部份完成小主題內容,整理後移除

- [pure function](./trees/fp-000J.tree)
- immutable
- curry
Expand Down
8 changes: 1 addition & 7 deletions trees/fp-0001.tree
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,4 @@

\p{這個網站的準則,是教導抽象的數學概念,讓學習者最終對實際 functional programming 有一定的了解,並大致理解現代語義學研究,或許能夠應用其成果。那麼,我們開始回顧 lambda calculus 與可計算性的沿革,開始學習 functional programming 吧}

\transclude{alg-0001}
\transclude{alg-0003}
\transclude{alg-0005}
\transclude{cat-0003}
\transclude{fp-0002}
\transclude{fp-000J}
\transclude{cat-0001}
\transclude{roadmap}
42 changes: 42 additions & 0 deletions trees/roadmap.tree
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
\title{地圖}
\meta{author}{false}

\p{此地圖為一大方向,每個主體內會有延伸,包含實例、名詞解釋等等,類似於心智圖,而未來也有可能異動}

\ol{
\li{lambda calculus}
\li{用 recursion 解釋可計算性}
\li{加上 simply type}
\li{解釋型別規則}
\li{建立 STLC categorical semantic}
\li{加上 polymorphism}
\li{解釋型別規則}
\li{建立 #{E \to B} categorical semantic}
\li{解釋 #{\lambda 2} 的 polymorphic property}
\li{解釋 recursive type}
\li{連結 F-algebra}
\li{變成 dependent type}
\li{解釋型別規則}
\li{解釋模型(The natural model)
\ul{
\li{topos}
\li{topos fundamental theorem}
\li{presheaf}
\li{representable natural transformation}
}
}
\li{進入真正的應用}
\li{side effect}
\li{concurrency}
\li{安全性

\ul{
\li{記憶體安全與子結構類型}
\ul{
\li{(?) proof nets}
}
\li{整體安全性不是只關乎記憶體}
}
}
\li{domain language}
}