docs: highlight unique advantages — standalone, HAMT, multi-target
Update README and architecture docs to emphasize: - Complete independence from Java ecosystem (JVM, GraalVM, Closure) - Native HAMT persistent data structures built from scratch in Nim - Multi-target compilation (native, shared lib, WASM, JS) - AI-native tooling and concurrency without JVM threads Updates both English and Bulgarian documentation.
This commit is contained in:
@@ -45,6 +45,40 @@ Clojure/Nim е **компилатор**, не интерпретатор. Сле
|
||||
└─────────┘
|
||||
```
|
||||
|
||||
## Уникални Предимства
|
||||
|
||||
### Независимост от Java Екосистемата
|
||||
Clojure/Nim е **единственият** Clojure диалект с абсолютно никаква зависимост от Java екосистемата:
|
||||
|
||||
| Диалект | JVM | GraalVM | Google Closure | Java stdlib |
|
||||
|---------|-----|---------|----------------|-------------|
|
||||
| Clojure (JVM) | ✅ | ❌ | ❌ | ✅ |
|
||||
| ClojureScript | ❌ | ❌ | ✅ | ❌ |
|
||||
| Babashka | ❌ | ✅ | ❌ | Частично |
|
||||
| **Clojure/Nim** | ❌ | ❌ | ❌ | ❌ |
|
||||
|
||||
Това означава:
|
||||
- **Без JVM warmup** — бинарните файлове стартират мигновенно
|
||||
- **Без GraalVM сложност** — без native-image конфигурация
|
||||
- **Без нужда от Java инсталация** — самият компилатор е единичен бинарен файл
|
||||
- **Истинско standalone разгръщане** — един файл, нула runtime зависимости
|
||||
|
||||
### Native HAMT Имплементация
|
||||
Нашите persistent структури от данни са изградени от нулата в Nim, оптимизирани за Nim's ORC garbage collector:
|
||||
- **32-way branching** като Clojure's `PersistentVector`, но без Java object overhead
|
||||
- **Структурно споделяне** през copy-on-write HAMT възли
|
||||
- **O(log₃₂ n)** за `assoc`/`dissoc`/`nth` — същата асимптотична сложност като JVM Clojure
|
||||
- **Nim ref обекти** вместо Java интерфейси — по-просто разположение в паметта, по-добра кеш локалност
|
||||
|
||||
### Мулти-таргет Компилация
|
||||
Един и същ Clojure изходен код се компилира до четири различни таргета от един codebase:
|
||||
1. **Native бинарен файл** — `nim c` → C → машинен код
|
||||
2. **Shared library** — `nim c --app:lib` → `.so` / `.dll` / `.dylib`
|
||||
3. **WASM** — `nim c -d:emscripten` → browser-native WebAssembly
|
||||
4. **JavaScript** — `nim js` → браузър/Node.js
|
||||
|
||||
Никоя друга Clojure имплементация не предлага толкова широк спектър от таргети без външни инструменти.
|
||||
|
||||
## Ключови Дизайн Решения
|
||||
|
||||
### 1. AOT Компилатор
|
||||
|
||||
+28
-26
@@ -1,36 +1,38 @@
|
||||
# Clojure/Nim Документация
|
||||
|
||||
[← Към индекса](index.md)
|
||||
> Clojure диалект, който се компилира до Nim → C → native бинарни файлове.
|
||||
> **Единствената самостоятелна Clojure имплементация, напълно независима от Java екосистемата.**
|
||||
|
||||
---
|
||||
## Избор на език / Choose Language
|
||||
|
||||
# Clojure/Nim Документация (Български)
|
||||
| 🇧🇬 Български | 🇬🇧 English |
|
||||
|-------------|------------|
|
||||
| [Българска Документация](bg/index.md) | [English Documentation](en/index.md) |
|
||||
|
||||
> Диалект на Clojure, който се компилира до Nim → C → нативен бинарен файл.
|
||||
## Бързи връзки
|
||||
|
||||
## Съдържание
|
||||
- **GitHub/GitLab:** [lisp-nim](https://gitlab.com/balvatar/lisp-nim)
|
||||
- **Build:** `make build && make check`
|
||||
- **Тестове:** 276+ теста в 8 тестови пакета
|
||||
- **AI Интеграция:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
||||
|
||||
| # | Документ | Описание |
|
||||
|---|----------|----------|
|
||||
| 01 | [Първи стъпки](01-getting-started.md) | Инсталация, компилация, CLI команди, бързи примери |
|
||||
| 02 | [Архитектура](02-architecture.md) | Компилационен pipeline, дизайн решения, вътрешна структура |
|
||||
| 03 | [AI Интеграция](03-ai-integration.md) | DeepSeek, OpenAI, MiMo — помощ при грешки, генериране на код, оптимизация, дебъг |
|
||||
| 04 | [API Справочник](04-api-reference.md) | JSON REPL протокол, операции, tool-call формат |
|
||||
| 05 | [Ръководство](05-user-guide.md) | Макроси, threading, interop, напреднали шаблони |
|
||||
| 06 | [Пътна карта](06-roadmap.md) | Завършени фази, бъдещи планове, цели за перформанс |
|
||||
## Защо Clojure/Nim?
|
||||
|
||||
## Бърз старт
|
||||
За разлика от всеки друг Clojure диалект, Clojure/Nim има **нула зависимост от Java екосистемата** — нито JVM, нито GraalVM, нито Google Closure Compiler, нито Java стандартна библиотека.
|
||||
|
||||
```bash
|
||||
git clone https://gitlab.com/balvatar/lisp-nim.git
|
||||
cd lisp-nim
|
||||
make build
|
||||
make check # компилация + тестове + примери
|
||||
./cljnim repl # човешки REPL
|
||||
```
|
||||
| Диалект | Зависимост от Java екосистемата |
|
||||
|---------|--------------------------------|
|
||||
| Clojure (JVM) | Пълна — работи върху JVM |
|
||||
| ClojureScript | Голяма — Google Closure Compiler |
|
||||
| Babashka | Средна — GraalVM native-image |
|
||||
| **Clojure/Nim** | **Никаква — напълно самостоятелен** |
|
||||
|
||||
## Статистика
|
||||
### Уникални предимства
|
||||
|
||||
- **Тестове:** 276+ в 8 suite-а
|
||||
- **Компилатор:** Nim → C → нативен код
|
||||
- **Target-и:** Linux, macOS, Windows, JS, WASM, C shared libraries
|
||||
- **AI Поддръжка:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
||||
1. **Native HAMT Persistent структури от данни** — Изградени от нулата в Nim (Persistent Vector, Map, Set със структурно споделяне)
|
||||
2. **Множество таргети** — Native бинарен файл, shared library (.so/.dll), WASM и JavaScript от един codebase
|
||||
3. **AOT Компилатор** — Clojure → Nim → C → native, работи със скоростта на C
|
||||
4. **Nim/C Interop** — Директен FFI без overhead от JVM bridging
|
||||
5. **AI-Native Tooling** — Вградена AI интеграция за генериране на код, оптимизация и дебъгване
|
||||
6. **Конкурентност без JVM** — Atoms, Agents и core.async channels без Java нишки
|
||||
7. **Миниатюрни бинарни файлове** — Единични изпълними файлове под 1MB без runtime зависимости
|
||||
|
||||
Reference in New Issue
Block a user