Rust로 구현한 Clojure 방언 'cljrs'
원제: Clj.rs – a Clojure dialect implemented in Rust
왜 중요한가
Rust 생태계에서 Lisp 계열 언어를 활용할 수 있는 가능성을 열어, AI 에이전트 런타임 등 새로운 활용 사례를 모색한다는 점에서 주목된다.
오픈소스 프로젝트 'cljrs'가 Rust 생태계를 대상으로 한 실험적 Clojure 방언으로 공개됐다. 영구 불변 자료구조, 호스티드 매크로 시스템, 네이티브 interop을 지원하며 컴파일 및 인터프리터 모드 모두 제공한다. crates.io에 게시됐고, 브라우저 REPL도 사용 가능하다.
cljrs는 Rust 생태계 위에서 동작하는 실험적 Clojure 방언으로, GitHub 저장소(github.com/csm/clojurust)를 통해 소스가 공개됐다. 현재 알파 단계로, 개발자는 공식적으로 "거친 부분을 감수해야 한다"고 명시하고 있다.
주요 특징은 세 가지다. 첫째, Clojure의 핵심 철학인 영구 불변(persistent) 자료구조를 그대로 채택했다. 둘째, 호스티드 매크로 시스템을 통해 Lisp 특유의 메타프로그래밍이 가능하다. 셋째, Rust와의 네이티브 interop을 지원해 Rust 크레이트와 직접 연동할 수 있다.
컴파일 모드와 인터프리터 모드를 모두 지원하며, 에이전틱(agentic) 코딩 런타임으로의 활용도 목표로 삼고 있다. crates.io에 'cljrs'로 등록돼 있어 Rust 프로젝트에 의존성으로 추가할 수 있고, 별도 설치 없이 브라우저에서 REPL을 체험할 수 있는 환경도 clj.rs/repl 주소로 제공한다. 언어 레퍼런스 문서는 docs.clj.rs에서 확인 가능하다.