CINXE.COM
<!DOCTYPE html><html lang="zh-CN" prefix="og: https://ogp.me/ns#"> <head > <meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title > 十分钟魔法练习</title> <style > @font-face { font-family: "subset body font"; src: url("html/body.woff2") format("woff2"); } @font-face { font-family: "subset code font"; src: url("html/code.woff2") format("woff2"); } @font-face { font-family: "subset emoji font"; src: url("html/emoji.woff2") format("woff2"); } body { max-width: 35em; margin: auto; width: 90%; margin-top: 10%; margin-bottom: 10%; color: #0B0E26; background: #FAFAFC; line-height: 1.75em; text-rendering: optimizeLegibility; } html { scroll-behavior: smooth; font-size: calc(min(.35vw + 16px, 25px)); font-family: "subset body font", "Source Han Serif SC", "Noto Serif SC", "Songti SC", SimSun, "AR PL Sungti", "subset emoji font", serif; } h1 { font-size: 2.5rem; color: #EF96AB; line-height: 1.5em; } h2 { margin-top: 2rem; line-height: 1.5em; } h1, h2, h3 { /* text-align: center; */ } blockquote { color: gray; margin: 0; padding: 1px 0 1px 1.2em; border-left: .3em solid #EF96AB; } code, pre { font-size: 0.9rem; line-height: 1.8em; font-family: "subset code font", "等距更纱黑体 SC", "JetBrains Mono", "Fira Code", Menlo, Monaco, source-code-pro, Courier New, Consolas, "subset emoji font", monospace; background: #FCF6FC; border-radius: 3px; padding-inline: 0.3em; } pre { overflow-x: auto; padding: 1em 1.5em; } pre>code { padding-inline: 0; } ::-webkit-scrollbar, .element::-webkit-scrollbar, .element { /* opacity: 0.5; */ } a { color: #02AEF1; text-decoration: none; } @media (prefers-color-scheme: dark) { body { color: #D8D8D6; background: #0E0E10; } } @media (prefers-color-scheme: dark) { pre, code { color: #D8D8D6; background: #0E0F1F; } } .hljs-keyword { color: #F288AF; } .hljs-comment { color: #929CA6; } .hljs-string { color: #0594A6; } .hljs-title { color: #4581D9; } .hljs-type, .hljs-built_in { color: #fca311; }</style> </head> <body > <p > <a href="https://magic.huohuo.moe">🏠Homepage🏠</a> | <a href="https://github.com/niltok/magic-in-ten-mins">⭐Star me on GitHub⭐</a></p> <h1 id="十分钟魔法练习">十分钟魔法练习</h1> <p><a href="https://github.com/PhotonQuantum/magic-in-ten-mins-rs">Rust 版 - 光量子</a> | <a href="https://github.com/tusikalanse/magic-in-ten-mins-cpp">C++ 版 - 图斯卡蓝瑟</a> | <a href="https://github.com/CWKSC/magic-in-ten-mins-csharp">C# 版 - CWKSC</a> | <a href="https://github.com/ofey404/magic-in-ten-mins-lua">Lua 版 - Ofey Chan</a> | <a href="https://github.com/LighghtEeloo/magic-in-ten-mins-ml">Ocaml 版 - 光吟</a> | <a href="https://github.com/penguin-wwy/magic-in-ten-mins-py">Python 版 - penguin_wwy</a> | <a href="https://github.com/wuyudi/magic-in-ten-mins-ts">Typescript 版 - wuyudi</a></p> <p>抽象与组合</p> <p>希望能在十分钟内教会你一样魔法</p> <p>QQ群:1070975853 | <a href="https://t.me/joinchat/HZm-VAAFTrIxoxQQ">Telegram Group</a></p> <blockquote> <p>目录中方括号里的是前置技能。</p> </blockquote> <h2 id="类型系统">类型系统</h2> <p>偏易 | <a href="doc/ADT.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/ADT.html">HTML</a> | 代数数据类型(Algebraic Data Type) [Java 基础]</p> <p>偏易 | <a href="doc/GADT.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/GADT.html">HTML</a> | 广义代数数据类型(Generalized Algebriac Data Type) [Java 基础, ADT] </p> <p>偏易 | <a href="doc/CoData.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/CoData.html">HTML</a> | 余代数数据类型(Coalgebraic Data Type) [Java 基础, ADT]</p> <p>偏易 | <a href="doc/Monoid.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Monoid.html">HTML</a> | 单位半群(Monoid) [Java 基础]</p> <p>较难 | <a href="doc/HKT.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/HKT.html">HTML</a> | 高阶类型(Higher Kinded Type) [Java 基础]</p> <p>中等 | <a href="doc/Monad.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Monad.html">HTML</a> | 单子(Monad) [Java 基础, HKT]</p> <p>较难 | <a href="doc/StateMonad.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/StateMonad.html">HTML</a> | 状态单子(State Monad) [Java 基础, HKT , Monad]</p> <p>中等 | <a href="doc/STLC.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/STLC.html">HTML</a> | 简单类型 λ 演算(Simply-Typed Lambda Calculus) [Java 基础, ADT ,λ 演算]</p> <p>中等 | <a href="doc/SystemF.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/SystemF.html">HTML</a> | 系统 F(System F) [Java 基础, ADT ,简单类型 λ 演算]</p> <p>中等 | <a href="doc/SysFO.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/SysFO.html">HTML</a> | 系统 F ω(System F ω) [Java 基础, ADT ,系统 F]</p> <p>较难 | <a href="doc/CoC.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/CoC.html">HTML</a> | 构造演算(Calculus of Construction) [Java 基础, ADT ,系统 F ω]</p> <p>偏易 | <a href="doc/PiSigma.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/PiSigma.html">HTML</a> | Π 类型和 Σ 类型(Pi type & Sigma type) [ADT ,构造演算]</p> <h2 id="计算理论">计算理论</h2> <p>较难 | <a href="doc/Lambda.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Lambda.html">HTML</a> | λ 演算(Lambda Calculus) [Java 基础, ADT]</p> <p>较难 | <a href="doc/DBI.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/DBI.html">HTML</a> | De Bruijn 索引(De Bruijn index) [Java 基础,ADT,λ 演算]</p> <p>偏易 | <a href="doc/EvalStrategy.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/EvalStrategy.html">HTML</a> | 求值策略(Evaluation Strategy) [Java 基础, λ 演算]</p> <p>较难 | <a href="doc/ChurchE.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/ChurchE.html">HTML</a> | 丘奇编码(Church Encoding) [λ 演算]</p> <p>很难 | <a href="doc/ScottE.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/ScottE.html">HTML</a> | 斯科特编码(Scott Encoding) [构造演算, ADT , μ]</p> <p>中等 | <a href="doc/YCombinator.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/YCombinator.html">HTML</a> | Y 组合子(Y Combinator) [Java 基础,λ 演算,λ 演算编码]</p> <p>中等 | <a href="doc/Mu.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Mu.html">HTML</a> | μ(Mu) [Java 基础,构造演算, Y 组合子]</p> <p>中等 | <a href="doc/VecFin.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/VecFin.html">HTML</a> | 向量和有限集(Vector & FinSet) [构造演算, ADT ,依赖类型模式匹配]</p> <h2 id="形式化验证">形式化验证</h2> <p>偏易 | <a href="doc/CHIso.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/CHIso.html">HTML</a> | Curry-Howard 同构(Curry-Howard Isomorphism) [构造演算]</p> <p>偏难 | <a href="doc/LeiEq.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/LeiEq.html">HTML</a> | 莱布尼兹相等性(Leibniz Equality) [构造演算]</p> <h2 id="编程范式">编程范式</h2> <p>简单 | <a href="doc/TableDriven.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/TableDriven.html">HTML</a> | 表驱动编程(Table-Driven Programming) [简单 Java 基础]</p> <p>简单 | <a href="doc/Continuation.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Continuation.html">HTML</a> | 续延(Continuation) [简单 Java 基础]</p> <p>中等 | <a href="doc/Algeff.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Algeff.html">HTML</a> | 代数作用(Algebraic Effect) [简单 Java 基础,续延]</p> <p>中等 | <a href="doc/DepsInj.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/DepsInj.html">HTML</a> | 依赖注入(Dependency Injection) [Java 基础, Monad ,代数作用]</p> <p>中等 | <a href="doc/Lifting.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Lifting.html">HTML</a> | 提升(Lifting) [Java 基础, HKT , Monad]</p> <h2 id="编译原理">编译原理</h2> <p>较难 | <a href="doc/ParserM.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/ParserM.html">HTML</a> | 解析器单子(Parser Monad) [Java 基础, HKT , Monad]</p> <p>中等 | <a href="doc/Parsec.md">Markdown</a> | <a href="https://magic.huohuo.moe/html/Parsec.html">HTML</a> | 解析器组合子(Parser Combinator) [Java 基础, HKT , Monad]</p> </body> </html>