Skip to content

tusikalanse/magic-in-ten-mins-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

十分钟魔法练习(C++)

改写自十分钟魔法练习(玩火), 原版为java实现

其他版本:Rust版 - 光量子 | C#版-CWKSC

抽象与组合

希望能在十分钟内教会你一样魔法

QQ群:1070975853 | Telegram Group

目录中方括号里的是前置技能。 本文的c++版本在无特殊声明的情况下为c++11

类型系统

偏易 | 代数数据类型(Algebraic Data Type)[C++面向对象基础]

偏易 | 广义代数数据类型(Generalized Algebriac Data Type)[C++面向对象基础,ADT]

偏易 | 余代数数据类型(Coalgebraic Data Type)[C++面向对象基础,ADT]

偏易 | 单位半群(Monoid)[C++面向对象基础]

较难 | 高阶类型(Higher Kinded Type)[C++面向对象基础,模板基础]

中等 | 单子(Monad)[C++面向对象基础,HKT]

较难 | 状态单子(State Monad)[C++面向对象基础,HKT,Monad]

中等 | 简单类型 λ 演算(Simply-Typed Lambda Calculus)[C++面向对象基础,ADT,λ 演算]

中等 | 系统 F(System F)[C++面向对象基础,ADT,简单类型 λ 演算]

较难 | 构造演算(Calculus of Construction)[C++面向对象基础, ADT ,系统 F ω]

偏易 | π 类型和 Σ 类型(Pi type & Sigma type)[ADT ,构造演算]

计算理论

较难 | λ 演算(Lambda Calculus)[C++面向对象基础,ADT]

偏易 | 求值策略(Evaluation Strategy)[C++面向对象基础,λ演算]

较难 | 编码(Encode)[λ演算]

中等 | Y 组合子(Y Combinator)[C++面向对象基础,λ 演算,λ 演算编码]

中等 | μ(Mu)[C++面向对象基础,构造演算, Y 组合子]

编程范式

简单 | 表驱动编程(Table-Driven Programming)[简单C++面向对象基础]

简单 | 续延(Continuation)[简单C++面向对象基础]

中等 | 代数作用(Algebraic Effect)[简单C++面向对象基础,续延]

中等 | 依赖注入(Dependency Injection)[C++面向对象基础,Monad,代数作用]

中等 | 提升(Lifting)[C++面向对象基础,HKT,Monad]

编译原理

较难 | 解析器单子(Parser Monad)[C++面向对象基础,HKT,Monad]

中等 | 解析器组合子(Parser Combinator)[C++面向对象基础,HKT,Monad]

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published