← На главную

ThatXliner выпустил rlisp: переводите LISP в код Rust без интерпретатора

09.05.2026 21:46 · hackernews

Райан Лиспер, разработчик из команды ThatXliner, представил rlisp — инструмент, который заставляет Rust думать на LISP. Это не просто синтаксический переводчик, а прозрачная система, превращающая S-выражения напрямую в код Rust. Вы получаете типизированный язык с собственностью, заимствованием и дженериками, но пишете всё в привычном Lisp-синтаксисе. Никакой промежуточной интерпретации или сборщика мусора, только (s-expr → .rs → binary). Компилятор rustc отвечает за проверку типов, заимствований и оптимизацию, в то время как rlisp занимается только синтаксисом.

Код выглядит как знакомые S-выражения: (struct Point (x f64) (y f64)) превращается в классический Rust struct, а функции вроде (fn main () ()) становятся методами с полным набором атрибутов. Матчи, циклы, лямбды — всё это пишется в своей форме: (match val ...) заменяется на match, (loop ...) — на цикл, а (for ...) на обычный for. Макаронад в rlisp становятся проще простого. Вместо громоздких proc_macro и токенизации макросы работают как обычные функции, трансформирующие S-выражения в S-выражения. Макрос (quasiquote ...) позволяет управлять шаблонами без лишних усилий.

Разработчик выделил три главных преимущества: макросы упрощаются до фундаментальной функции, структурное редактирование кода становится естественным благодаря природе S-выражений, а однородный синтаксис убирает разрыв между выражениями, типами и паттернами. Поддерживается работа с модулями, видимостью (pub, pub(crate)) и даже возможность вставлять чистый Rust прямо из кода с помощью (rust "..."). Проект пока носит исследовательский характер, но он доказывает, что семантика Rust может идеально сочетаться с лаконичностью Lisp. Код доступен на GitHub в репозитории thatxliner/rlisp, где можно скомпилировать и запустить любую S-формулу через cargo.

Читать оригинал →