10e4ec07d6
- New docs/index.md with language selector - docs/en/ — 01-getting-started, 02-architecture, 03-ai-integration, 04-api-reference, 05-user-guide, 06-roadmap - docs/bg/ — same structure in Bulgarian - Root README.md trimmed to quick-start + links to docs/ - Removed old flat docs/ files (ARCHITECTURE.md, AI_FIRST.md, etc.) - Added swap!/reset! examples to getting-started guides
4.6 KiB
4.6 KiB
Пътна Карта за Разработка
Фаза 0: Компилаторно Ядро ✅
- Clojure Reader (EDN парсер)
- Reader поддържа: списъци
(), вектори[], карти{}, низове, ключови думи, символи, числа, булеви, nil - Reader поддържа: quote
', syntax-quote`, unquote~, unquote-splicing~@ - Reader поддържа: коментари
;, read-all - AST → Nim Генератор
- CLI (
compile,run,read,repl) - Специални форми:
def,defn,fn,let,if,do,quote - Специални форми:
when,cond - Аритметични оператори:
+,-,*,/ - Оператори за сравнение:
=,not=,not,<,>,<=,>= - Core функции:
println,map,filter,reduce - Runtime типова система:
CljValсnil,bool,int,float,string,keyword,symbol,list,vector,map,fn,atom
Фаза 1: Макро Система ✅
macroexpand,macroexpand-1syntax-quote,unquote,unquote-splicinggensymdefmacro(потребителски макроси)- Вградени макроси:
->,->>,and,or,when,when-not,cond - Вградени макроси:
cond->,cond->>,doto,as->,some->,some->> - Вградени макроси:
for,doseq,dotimes - Вградени макроси:
when-let,if-let - Вградени макроси:
comment,assert,with-open
Фаза 2: REPL и Инструменти ✅
- Човешки REPL (
:help,:defs,:clear,:ns,:quit) - JSON REPL (
--json) със структуриран I/O - Batch оценка (
eval-batch) - Структурирани грешки (тип, съобщение, форма, ред)
- Персистентност на сесията за
def/defn
Фаза 3: Nim Interop ✅
- Извикване на Nim функции:
(nim/math/sin x),(nim/strutils/toUpper s) - C FFI през Nim
importc
Фаза 4: AI-Native Инструменти ✅
- Файлови операции:
(file/read "path"),(file/write "path" "content"),(file/append "path" "content") - Файлови операции:
(file/ls "dir"),(file/exists? "path") - Git операции:
(git/status),(git/commit "msg"),(git/push) - Git операции:
(git/diff),(git/log) - nREPL протокол съвместимост (JSON over TCP,
--tcp PORT) - Tool-call формат за интеграция с AI frameworks
Фаза 5: Persistent Структури от Данни ✅ (Завършена)
- Persistent Vector (Hash Array Mapped Trie, 32-way branching)
- Persistent Map (HAMT) —
pmapAssoc,pmapDissoc,pmapGetв O(log₃₂ n) - Persistent Set
conj,assoc,dissoc,get,get-innth,first,rest,last,countвърху persistent колекции- Transients за batch мутации
conj!,assoc!,persistent!
Фаза 6: Clojure Core Библиотека ✅ (Завършена)
range,repeat,cycle,iteratetake,drop,partition,interleave,concatstr,pr-str,println,prnslurp,spit,read-linemeta,with-meta,vary-metatype,instance?,satisfies?
Фаза 7: Компилация на Проекти ✅
- Компилиране на цели проекти (не само отделни файлове)
- Система за namespaces (
ns,(:require [lib :as alias])) - Кеширане на модули за по-бърз REPL старт
- Резолюция на зависимости (deps.edn, Git deps към .deps/)
Фаза 8: Self-Hosted REPL ✅
- Компилиране на форми в паметта (tree-walking interpreter, <1ms eval)
- Бърз REPL старт (~0.02ms на eval спрямо 1133ms компилиран)
- Hot code reloading (def/defn обновяват средата незабавно)
Фаза 9: Конкурентност ✅
- Atoms (compare-and-swap)
- Agents (send, await, deref — sync dispatch в interpreter)
- core.async channels (chan, >!, <!, close!, go — interpreter-first)
Известни Проблеми
->>threading macro с вложениmap/reduceизисква правилен macro expansion контекст