十分钟魔法练习
Rust 版 - 光量子 | C++ 版 - 图斯卡蓝瑟 | C# 版 - CWKSC | Lua 版 - Ofey Chan | Ocaml 版 - 光吟 | Python 版 - penguin_wwy | Typescript 版 - wuyudi
抽象与组合
希望能在十分钟内教会你一样魔法
QQ群:1070975853 | Telegram Group
目录中方括号里的是前置技能。
类型系统
偏易 | Markdown | HTML | 代数数据类型(Algebraic Data Type) [Java 基础]
偏易 | Markdown | HTML | 广义代数数据类型(Generalized Algebriac Data Type) [Java 基础, ADT]
偏易 | Markdown | HTML | 余代数数据类型(Coalgebraic Data Type) [Java 基础, ADT]
偏易 | Markdown | HTML | 单位半群(Monoid) [Java 基础]
较难 | Markdown | HTML | 高阶类型(Higher Kinded Type) [Java 基础]
中等 | Markdown | HTML | 单子(Monad) [Java 基础, HKT]
较难 | Markdown | HTML | 状态单子(State Monad) [Java 基础, HKT , Monad]
中等 | Markdown | HTML | 简单类型 λ 演算(Simply-Typed Lambda Calculus) [Java 基础, ADT ,λ 演算]
中等 | Markdown | HTML | 系统 F(System F) [Java 基础, ADT ,简单类型 λ 演算]
中等 | Markdown | HTML | 系统 F ω(System F ω) [Java 基础, ADT ,系统 F]
较难 | Markdown | HTML | 构造演算(Calculus of Construction) [Java 基础, ADT ,系统 F ω]
偏易 | Markdown | HTML | Π 类型和 Σ 类型(Pi type & Sigma type) [ADT ,构造演算]
计算理论
较难 | Markdown | HTML | λ 演算(Lambda Calculus) [Java 基础, ADT]
较难 | Markdown | HTML | De Bruijn 索引(De Bruijn index) [Java 基础,ADT,λ 演算]
偏易 | Markdown | HTML | 求值策略(Evaluation Strategy) [Java 基础, λ 演算]
较难 | Markdown | HTML | 丘奇编码(Church Encoding) [λ 演算]
很难 | Markdown | HTML | 斯科特编码(Scott Encoding) [构造演算, ADT , μ]
中等 | Markdown | HTML | Y 组合子(Y Combinator) [Java 基础,λ 演算,λ 演算编码]
中等 | Markdown | HTML | μ(Mu) [Java 基础,构造演算, Y 组合子]
中等 | Markdown | HTML | 向量和有限集(Vector & FinSet) [构造演算, ADT ,依赖类型模式匹配]
形式化验证
偏易 | Markdown | HTML | Curry-Howard 同构(Curry-Howard Isomorphism) [构造演算]
偏难 | Markdown | HTML | 莱布尼兹相等性(Leibniz Equality) [构造演算]
编程范式
简单 | Markdown | HTML | 表驱动编程(Table-Driven Programming) [简单 Java 基础]
简单 | Markdown | HTML | 续延(Continuation) [简单 Java 基础]
中等 | Markdown | HTML | 代数作用(Algebraic Effect) [简单 Java 基础,续延]
中等 | Markdown | HTML | 依赖注入(Dependency Injection) [Java 基础, Monad ,代数作用]
中等 | Markdown | HTML | 提升(Lifting) [Java 基础, HKT , Monad]
编译原理
较难 | Markdown | HTML | 解析器单子(Parser Monad) [Java 基础, HKT , Monad]
中等 | Markdown | HTML | 解析器组合子(Parser Combinator) [Java 基础, HKT , Monad]