66d91cd086
T7.1: Namespace declaration parsing (ns my.app (:require [lib :as l])) with :require/:as support Hyphen-to-underscore filename convention (math-utils -> math_utils.clj) T7.2: Multi-file compilation Resolves requires, recursively loads dependencies Inlines all defs into single Nim file Namespace alias resolution (mu/square -> square) 86 tests pass, all examples work.
Clojure/Nim
Диалект на Clojure, който се компилира до Nim, после до C, и накрая до native бинарен файл.
Какво е това?
Clojure/Nim е AI-first имплементация на езика Clojure за екосистемата на Nim. Вместо да работи върху JVM или JavaScript, компилира Clojure код директно до Nim, оттам до C, и накрая до native бинарен файл.
Защо?
- Native Performance: Компилира се до C през Nim. Без JVM warmup, без GC паузи.
- Малки Бинарни Файлове: Единични изпълними файлове, често под 1MB.
- Nim Ecosystem: Директен достъп до Nim и C библиотеки през FFI.
- AI-Native: Построен за AI агенти, работещи в терминал — структуриран JSON REPL, batch evaluation, git интеграция.
Бърз Старт
# Клониране
git clone https://gitlab.com/balvatar/lisp-nim.git
cd lisp-nim
# Изграждане
make build
# Изпълнение на файл
./cljnim run examples/hello.clj
# Човешки REPL
./cljnim repl
# AI REPL (JSON режим)
./cljnim repl --json
Примери
Hello World
;; examples/hello.clj
(println "Здравей, Nim свят!")
(println (+ 1 2 3))
$ ./cljnim run examples/hello.clj
Здравей, Nim свят!
6
Функции и Рекурсия
;; examples/math.clj
(defn square [x]
(* x x))
(defn factorial [n]
(if (= n 0)
1
(* n (factorial (- n 1)))))
(let [a 5]
(println (square a))
(println (factorial a)))
$ ./cljnim run examples/math.clj
25
120
AI-First REPL
Clojure/Nim е построен за AI агенти. JSON REPL предоставя структуриран I/O, идеален за програмно взаимодействие.
$ ./cljnim repl --json
{"status":"ready","ns":"user","mode":"json"}
> {"op":"eval","form":"(+ 1 2 3)"}
{"status":"ok","result":{"printed":"6"},"meta":{"ms":861}}
> {"op":"eval","form":"(defn square [x] (* x x))"}
{"status":"ok","result":{"type":"var","name":"square"}}
> {"op":"eval","form":"(square 5)"}
{"status":"ok","result":{"printed":"25"}}
> {"op":"quit"}
{"status":"ok","bye":true}
Документация
| Документ | Описание |
|---|---|
GUIDE.bg.md |
Ръководство за потребителя |
ARCHITECTURE.bg.md |
Архитектура и дизайн |
AI_FIRST.bg.md |
AI-first философия |
API.bg.md |
REPL API референция |
ROADMAP.bg.md |
Пътна карта за разработка |
Лиценз
MIT License — вижте LICENSE.