jank, C++ 인터롭을 내세운 네이티브 Clojure 방언
- jank는 C++ 위에서 돌아가는 Clojure 방언으로, 템플릿, 가상 함수, 예외, RAII를 별도 바인딩 없이 헤더만 include해서 씀
- REPL에서 Clang 기반 C++ JIT 컴파일러가 코드를 즉시 컴파일해서 재시작 없이 개발을 이어갈 수 있음
- 프로젝트 관리는 Leiningen 기반이고, 의존성을 한 줄 추가하면 설치된 네이티브 라이브러리를 찾거나 소스에서 직접 빌드함
- AOT 컴파일로 작은 바이너리를 만들 수 있고, 시작 시간이 즉각적이라고 소개함
Hacker News 의견들
REPL 주도 개발에 네이티브 코드까지 붙으면 에이전트 작업에 꽤 잘 맞을 듯. 재시작이나 재컴파일이 없고, 영속 불변 자료구조 덕분에 여러 스레드에서 병렬로 돌려도 덜 꼬임
Jupyter에서 셀 실행 순서 꼬여서 변수가 엉키는 거 생각나더라. 에이전트도 같은 문제에 부딪힐 것 같음. 그래서 컴파일 속도를 빠르게 만드는 게 관건인 듯
나는 이미 에이전트한테 Clojure 코드베이스를 맡겨보는 중인데, REPL을 진짜 잘 쓰더라. 새로운 걸 시도하는 속도가 확실히 빨라짐
Lisp이랑 Prolog 환경이 예전 AI 붐 때 이미 이랬던 거 아님? 근데 요즘은 인터프리터 언어 위에 네이티브 라이브러리를 바인딩하는 쪽으로 가버려서 아쉬움
Janet이랑 비슷하냐고? 아니고 이건 풀 Clojure임. 불변 자료구조에 C++ 인터롭, 네이티브 컴파일까지 다 됨. Janet은 임베디드 스크립팅 쪽에 더 가까움