diff --git a/README.md b/README.md index bb56b51..3a653b7 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/trees/fp-0001.tree b/trees/fp-0001.tree index 6a4f795..bbfa552 100644 --- a/trees/fp-0001.tree +++ b/trees/fp-0001.tree @@ -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} diff --git a/trees/roadmap.tree b/trees/roadmap.tree new file mode 100644 index 0000000..8058fad --- /dev/null +++ b/trees/roadmap.tree @@ -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} +}