Skip to content

CWKSC/magic-in-ten-mins-csharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

十分钟魔法练习

Language: zh-Hant 繁體中文

改写自 十分钟魔法练习-玩火 ,C# 版本

其他版本:Rust版 - 光量子 | C++版 - 图斯卡蓝瑟

抽象与组合

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

QQ群:1070975853 | Telegram Group

目录中方括号里的是前置技能。

类型系统

偏易 | 代数数据类型(Algebraic Data Type)[C# (interface, class)]

偏易 | 广义代数数据类型(Generalized Algebriac Data Type)[C# (interface, class),ADT]

偏易 | 余代数数据类型(Coalgebraic Data Type)[C# (Func, delegate),ADT]

偏易 | 单位半群(Monoid)[C# (IEnumerable, Aggregate(), Extension Methods, IComparable)]

较难 | 高阶类型(Higher Kinded Type)[C# (interface, List)]

中等 | 单子(Monad)[C# 基础,HKT]

较难 | 状态单子(State Monad)[C# (Func, Tuple),HKT,Monad)]

中等 | 简单类型 λ 演算(Simply-Typed Lambda Calculus)[Java 基础,ADT,λ 演算] | Markdown | HTML

中等 | 系统 F(System F)[Java 基础,ADT,简单类型 λ 演算] | Markdown | HTML

中等 | 系统 F ω(System F ω)[Java 基础,ADT,系统 F] | Markdown | HTML

计算理论

较难 | λ 演算(Lambda Calculus)[C# (Guid),ADT]

偏易 | 求值策略(Evaluation Strategy)[Java基础,λ演算] | Markdown | HTML

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

中等 | Y 组合子(Y Combinator)[Java 基础,λ 演算,λ 演算编码] | 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] | Markdown | HTML

Releases

No releases published

Packages

No packages published

Languages

  • HTML 98.8%
  • JavaScript 1.2%