Files
bara-lang/docs/bg/06-roadmap.md
T
dimgigov 10e4ec07d6 docs: reorganize into en/ and bg/ subfolders with numbered indices
- 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
2026-05-08 23:24:47 +03:00

4.6 KiB
Raw Blame History

← Към индекса


Пътна Карта за Разработка

Фаза 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-1
  • syntax-quote, unquote, unquote-splicing
  • gensym
  • defmacro (потребителски макроси)
  • Вградени макроси: ->, ->>, 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-in
  • nth, first, rest, last, count върху persistent колекции
  • Transients за batch мутации
  • conj!, assoc!, persistent!

Фаза 6: Clojure Core Библиотека (Завършена)

  • range, repeat, cycle, iterate
  • take, drop, partition, interleave, concat
  • str, pr-str, println, prn
  • slurp, spit, read-line
  • meta, with-meta, vary-meta
  • type, 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 контекст