Lisp in the Rust Type System
Rustの型システム内でLispインタプリタを実装したプロジェクト。型レベルプログラミングを活用し、コンパイル時にLispの式を解釈・評価することで、Rustの型システムの表現力とチューリング完全性を示している。型パラメータやジェネリクスを駆使した高度な型レベル計算のデモンストレーション。
背景メモ
Lisp in the Rust Type Systemは、Rustの型システム(コンパイル時に型をチェック・推論する仕組み)を「Lisp処理系」として動かす実験的なプロジェクト。通常のLispは実行時にリストを処理するが、このプロジェクトではRustのジェネリクスやトレイトを駆使し、型レベルで数値計算・条件分岐・再帰・even担当関数(car/cdr/cons)を再現。Rustのコンパイラが型検査と同時にLispプログラムを「実行」する形になる。作者はLispインタプリタをRustの型として実装したもので、実用性というより「型システムの表現力の限界に挑む」教育的・娯楽的なハック。類似の試みとしてはC++のテンプレートメタプログラミングでLispを実装したものなどがある。