Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

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を実装したものなどがある。