Кто-то написал интерпретатор Lisp прямо в системе типов Rust. Всё вычисляется на этапе компиляции. Каждый символ нужно объявлять вручную через макрос defkey!(). Числа — только от 0 до 8192, и они не могут быть отрицательными. Хочешь больше натуральных чисел — правь build.rs и запускай с увеличенным RUST_MIN_STACK.
В реализации нет defmacro, нет eval. Зато работают рекурсивные функции, глобальное и лексическое окружение (через let), вызовы, apply и даже call/ec с escape-континуациями. В статье приведены демки: вычисление факториала 5 и пример с call/ec, где результат — 5.
Всё это сырое, автор не тестировал широко. Но выглядит как забавный proof of concept — Lisp на типах Rust.