Skip to content

penguin-wwy/magic-in-ten-mins-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

98e76b2 · Apr 17, 2022

History

16 Commits
Apr 17, 2022
Apr 17, 2022
Mar 14, 2022
Mar 7, 2022
Mar 8, 2022
Apr 17, 2022
Mar 8, 2022

Repository files navigation

magic-in-ten-mins-py

十分钟魔法练习 Python 版

纯属娱乐,不保证全部正确性、准确性,以及Python特性使用的简洁性 (`∀´)Ψ,使用部分 Python3.10 的内容

执行所有test case

PYTHONPATH="${PYTHONPATH}:/path/to/project" pipenv run pytest

十分钟魔法练习

Java 版(原版,有不清楚的内容找他) - 玩火

Rust 版 - 光量子

C++ 版 - 图斯卡蓝瑟

C# 版 - CWKSC

Lua 版 - Ofey Chan

Ocaml 版 - 光吟

抽象与组合

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

QQ群:1070975853 | Telegram Group

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

类型系统

偏易 | Markdown | 代数数据类型(Algebraic Data Type) [Python 基础]

偏易 | Markdown | 广义代数数据类型(Generalized Algebriac Data Type) [Python 基础, ADT]

偏易 | Markdown | 余代数数据类型(Coalgebraic Data Type) [Python 基础, ADT]

偏易 | Markdown | 单位半群(Monoid) [Python 基础]

较难 | Markdown | 高阶类型(Higher Kinded Type) [Python 基础]

中等 | Markdown | 单子(Monad) [Python 基础, HKT]

较难 | Markdown | 状态单子(State Monad) [Python 基础, HKT , Monad]

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

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

中等 | Markdown(doc/SysFO.md) | 系统 F ω(System F ω) [Python 基础, ADT ,系统 F]

较难 | Markdown(doc/CoC.md) | 构造演算(Calculus of Construction) [Python 基础, ADT ,系统 F ω]

偏易 | Markdown(doc/PiSigma.md) | π 类型和 Σ 类型(Pi type & Sigma type) [ADT ,构造演算]

计算理论

较难 | Markdown | λ 演算(Lambda Calculus) [Python 基础, ADT]

较难 | Markdown(doc/DBI.md) | De Bruijn 索引(De Bruijn index) [Python 基础,ADT,λ 演算]

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

较难 | Markdown | 丘奇编码(Church Encoding) [λ 演算]

很难 | Markdown(doc/ScottE.md) | 斯科特编码(Scott Encoding) [构造演算, ADT , μ]

中等 | Markdown | Y 组合子(Y Combinator) [Python 基础,λ 演算,λ 演算编码]

中等 | Markdown(doc/Mu.md) | μ(Mu) [Python 基础,构造演算, Y 组合子]

中等 | Markdown(doc/VecFin.md) | 向量和有限集(Vector & FinSet) [构造演算, ADT ,依赖类型模式匹配]

形式化验证

偏易 | Markdown(doc/CHIso.md) | Curry-Howard 同构(Curry-Howard Isomorphism) [构造演算]

偏难 | Markdown(doc/LeiEq.md) | 莱布尼兹相等性(Leibniz Equality) [构造演算]

编程范式

简单 | Markdown | 表驱动编程(Table-Driven Programming) [简单 Python 基础]

简单 | Markdown | 续延(Continuation) [简单 Python 基础]

中等 | Markdown | 代数作用(Algebraic Effect) [简单 Python 基础,续延]

中等 | Markdown | 依赖注入(Dependency Injection) [Python 基础, Monad ,代数作用]

中等 | Markdown | 提升(Lifting) [Python 基础, HKT , Monad]

编译原理

较难 | Markdown(doc/ParserM.md) | 解析器单子(Parser Monad) [Python 基础, HKT , Monad]

中等 | Markdown(doc/Parsec.md) | 解析器组合子(Parser Combinator) [Python 基础, HKT , Monad]

About

十分钟魔法练习 Python 版

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages