#programming-language メタプログラミングの技法の一種。[[MetaOCaml]]などが有名 https://www.pls-lab.org/en/multi-stage-programming 日本語での詳細な解説 MetaOCaml を使った自己反映言語のコンパイル 浅井 健一 (Black ) http://www.is.ocha.ac.jp/~asai/jpapers/ppl/asai14.pdf メタプログラミングのための時相論理に基づく型付 λ 計算 湯瀬 芳洋 五十嵐 淳 http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/papers/pdf/lambdaCB-PPL05.pdf 筑波大学 論理と計算(2) http://www.cs.tsukuba.ac.jp/~kam/lecture/gairon2-2012/gairon2.pdf λ○: nextとprevを導入 [MetaML](https://www.sciencedirect.com/science/article/pii/S0304397500000530) nextとprevに加えてrunを導入 [[MacroML]] MetaMLをバックエンドにマクロとしてのわかりやすいシンタックス(`letmac`)とかを導入? λ□: box(cross-stage persistence)を導入 λ○□:両方を統合 [SATySFi の多段階計算入門](https://sankantsu.hatenablog.com/entry/2022/08/19/215024) ## 依存型との組み合わせ [A Dependently Typed Multi-Stage Calculus](https://arxiv.org/abs/1908.02035)