Rename Clojure/Nim to Bara Lang in documentation
This commit is contained in:
@@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Архитектура на Clojure/Nim
|
# Архитектура на Bara Lang
|
||||||
|
|
||||||
## Общ Преглед
|
## Общ Преглед
|
||||||
|
|
||||||
Clojure/Nim е **компилатор**, не интерпретатор. Следва модела на ClojureScript: Clojure изходният код се чете, разширява с макроси, анализира и се генерира като Nim изходен код, който после се компилира до C и накрая до native бинарен файл.
|
Bara Lang е **компилатор**, не интерпретатор. Следва модела на ClojureScript: Clojure изходният код се чете, разширява с макроси, анализира и се генерира като Nim изходен код, който после се компилира до C и накрая до native бинарен файл.
|
||||||
|
|
||||||
## Компилационен Пайплайн
|
## Компилационен Пайплайн
|
||||||
|
|
||||||
@@ -48,14 +48,14 @@ Clojure/Nim е **компилатор**, не интерпретатор. Сле
|
|||||||
## Уникални Предимства
|
## Уникални Предимства
|
||||||
|
|
||||||
### Независимост от Java Екосистемата
|
### Независимост от Java Екосистемата
|
||||||
Clojure/Nim е **единственият** Clojure диалект с абсолютно никаква зависимост от Java екосистемата:
|
Bara Lang е **единственият** Clojure диалект с абсолютно никаква зависимост от Java екосистемата:
|
||||||
|
|
||||||
| Диалект | JVM | GraalVM | Google Closure | Java stdlib |
|
| Диалект | JVM | GraalVM | Google Closure | Java stdlib |
|
||||||
|---------|-----|---------|----------------|-------------|
|
|---------|-----|---------|----------------|-------------|
|
||||||
| Clojure (JVM) | ✅ | ❌ | ❌ | ✅ |
|
| Clojure (JVM) | ✅ | ❌ | ❌ | ✅ |
|
||||||
| ClojureScript | ❌ | ❌ | ✅ | ❌ |
|
| ClojureScript | ❌ | ❌ | ✅ | ❌ |
|
||||||
| Babashka | ❌ | ✅ | ❌ | Частично |
|
| Babashka | ❌ | ✅ | ❌ | Частично |
|
||||||
| **Clojure/Nim** | ❌ | ❌ | ❌ | ❌ |
|
| **Bara Lang** | ❌ | ❌ | ❌ | ❌ |
|
||||||
|
|
||||||
Това означава:
|
Това означава:
|
||||||
- **Без JVM warmup** — бинарните файлове стартират мигновенно
|
- **Без JVM warmup** — бинарните файлове стартират мигновенно
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Ръководство за Потребителя — Clojure/Nim
|
# Ръководство за Потребителя — Bara Lang
|
||||||
|
|
||||||
## Инсталация
|
## Инсталация
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ make build
|
|||||||
./cljnim repl --json
|
./cljnim repl --json
|
||||||
```
|
```
|
||||||
|
|
||||||
## Писане на Clojure/Nim Програми
|
## Писане на Bara Lang Програми
|
||||||
|
|
||||||
### Базов Синтаксис
|
### Базов Синтаксис
|
||||||
```clojure
|
```clojure
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
# Съвместимост с Clojure Test Suite
|
# Съвместимост с Clojure Test Suite
|
||||||
|
|
||||||
Clojure/Nim участва в между-диалектния **[jank-lang/clojure-test-suite](https://github.com/jank-lang/clojure-test-suite)** — стандартният Clojure тестови пакет за съответствие, който валидира поведението на всички Clojure диалекти.
|
Bara Lang участва в между-диалектния **[jank-lang/clojure-test-suite](https://github.com/jank-lang/clojure-test-suite)** — стандартният Clojure тестови пакет за съответствие, който валидира поведението на всички Clojure диалекти.
|
||||||
|
|
||||||
## Поддържани диалекти
|
## Поддържани диалекти
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ Clojure Test Suite се поддържа официално за следнит
|
|||||||
| Babashka | ✅ Официален | GraalVM native-image |
|
| Babashka | ✅ Официален | GraalVM native-image |
|
||||||
| Clojure CLR | ✅ Официален | .NET CLR |
|
| Clojure CLR | ✅ Официален | .NET CLR |
|
||||||
| Basilisp | ✅ Официален | Python |
|
| Basilisp | ✅ Официален | Python |
|
||||||
| **Clojure/Nim** | 🚀 Кандидат | **Nim → C → Native** |
|
| **Bara Lang** | 🚀 Кандидат | **Nim → C → Native** |
|
||||||
|
|
||||||
## Бърз старт
|
## Бърз старт
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ python3 test_single.py
|
|||||||
|
|
||||||
## Обработка на Reader Conditionals
|
## Обработка на Reader Conditionals
|
||||||
|
|
||||||
`test_single.py` на Clojure/Nim предварително обработва `.cljc` файловете, като премахва `#?` и `#?@` reader conditionals и извлича `:default` клона:
|
`test_single.py` на Bara Lang предварително обработва `.cljc` файловете, като премахва `#?` и `#?@` reader conditionals и извлича `:default` клона:
|
||||||
|
|
||||||
```clojure
|
```clojure
|
||||||
;; Преди
|
;; Преди
|
||||||
@@ -86,7 +86,7 @@ python3 test_single.py
|
|||||||
|
|
||||||
## Текущ обхват на тестовете
|
## Текущ обхват на тестовете
|
||||||
|
|
||||||
Тестовият пакет покрива **212+ функции от `clojure.core`** и **8 функции от `clojure.string`**. Clojure/Nim работи към пълно съответствие.
|
Тестовият пакет покрива **212+ функции от `clojure.core`** и **8 функции от `clojure.string`**. Bara Lang работи към пълно съответствие.
|
||||||
|
|
||||||
Вижте [Roadmap](06-roadmap.md) за статуса на имплементацията.
|
Вижте [Roadmap](06-roadmap.md) за статуса на имплементацията.
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ python3 test_single.py
|
|||||||
| Babashka | [babashka.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/babashka.md) |
|
| Babashka | [babashka.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/babashka.md) |
|
||||||
| Clojure CLR | [clojureclr.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/clojureclr.md) |
|
| Clojure CLR | [clojureclr.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/clojureclr.md) |
|
||||||
| Basilisp | [basilisp.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/basilisp.md) |
|
| Basilisp | [basilisp.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/basilisp.md) |
|
||||||
| **Clojure/Nim** | **Този документ** |
|
| **Bara Lang** | **Този документ** |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,4 +1,4 @@
|
|||||||
# Clojure/Nim Документация
|
# Bara Lang Документация
|
||||||
|
|
||||||
> Clojure диалект, който се компилира до Nim → C → native бинарни файлове.
|
> Clojure диалект, който се компилира до Nim → C → native бинарни файлове.
|
||||||
> **Единствената самостоятелна Clojure имплементация, напълно независима от Java екосистемата.**
|
> **Единствената самостоятелна Clojure имплементация, напълно независима от Java екосистемата.**
|
||||||
@@ -17,16 +17,16 @@
|
|||||||
- **AI Интеграция:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
- **AI Интеграция:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
||||||
- **Test Suite:** [Съвместимост с Clojure Test Suite](07-clojure-test-suite.md) — между-диалектно тестване за съответствие
|
- **Test Suite:** [Съвместимост с Clojure Test Suite](07-clojure-test-suite.md) — между-диалектно тестване за съответствие
|
||||||
|
|
||||||
## Защо Clojure/Nim?
|
## Защо Bara Lang?
|
||||||
|
|
||||||
За разлика от всеки друг Clojure диалект, Clojure/Nim има **нула зависимост от Java екосистемата** — нито JVM, нито GraalVM, нито Google Closure Compiler, нито Java стандартна библиотека.
|
За разлика от всеки друг Clojure диалект, Bara Lang има **нула зависимост от Java екосистемата** — нито JVM, нито GraalVM, нито Google Closure Compiler, нито Java стандартна библиотека.
|
||||||
|
|
||||||
| Диалект | Зависимост от Java екосистемата |
|
| Диалект | Зависимост от Java екосистемата |
|
||||||
|---------|--------------------------------|
|
|---------|--------------------------------|
|
||||||
| Clojure (JVM) | Пълна — работи върху JVM |
|
| Clojure (JVM) | Пълна — работи върху JVM |
|
||||||
| ClojureScript | Голяма — Google Closure Compiler |
|
| ClojureScript | Голяма — Google Closure Compiler |
|
||||||
| Babashka | Средна — GraalVM native-image |
|
| Babashka | Средна — GraalVM native-image |
|
||||||
| **Clojure/Nim** | **Никаква — напълно самостоятелен** |
|
| **Bara Lang** | **Никаква — напълно самостоятелен** |
|
||||||
|
|
||||||
### Уникални предимства
|
### Уникални предимства
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Clojure/Nim Architecture
|
# Bara Lang Architecture
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Clojure/Nim is a **compiler**, not an interpreter. It follows the model of ClojureScript: Clojure source is read, macro-expanded, analyzed, and emitted as Nim source code, which then compiles to C and finally to a native binary.
|
Bara Lang is a **compiler**, not an interpreter. It follows the model of ClojureScript: Clojure source is read, macro-expanded, analyzed, and emitted as Nim source code, which then compiles to C and finally to a native binary.
|
||||||
|
|
||||||
## Compilation Pipeline
|
## Compilation Pipeline
|
||||||
|
|
||||||
@@ -48,14 +48,14 @@ Clojure/Nim is a **compiler**, not an interpreter. It follows the model of Cloju
|
|||||||
## Unique Advantages
|
## Unique Advantages
|
||||||
|
|
||||||
### Independence from the Java Ecosystem
|
### Independence from the Java Ecosystem
|
||||||
Clojure/Nim is the **only** Clojure dialect with absolutely no dependency on the Java ecosystem:
|
Bara Lang is the **only** Clojure dialect with absolutely no dependency on the Java ecosystem:
|
||||||
|
|
||||||
| Dialect | JVM Required | GraalVM | Google Closure | Java stdlib |
|
| Dialect | JVM Required | GraalVM | Google Closure | Java stdlib |
|
||||||
|---------|-------------|---------|----------------|-------------|
|
|---------|-------------|---------|----------------|-------------|
|
||||||
| Clojure (JVM) | ✅ | ❌ | ❌ | ✅ |
|
| Clojure (JVM) | ✅ | ❌ | ❌ | ✅ |
|
||||||
| ClojureScript | ❌ | ❌ | ✅ | ❌ |
|
| ClojureScript | ❌ | ❌ | ✅ | ❌ |
|
||||||
| Babashka | ❌ | ✅ | ❌ | Partial |
|
| Babashka | ❌ | ✅ | ❌ | Partial |
|
||||||
| **Clojure/Nim** | ❌ | ❌ | ❌ | ❌ |
|
| **Bara Lang** | ❌ | ❌ | ❌ | ❌ |
|
||||||
|
|
||||||
This means:
|
This means:
|
||||||
- **No JVM warmup** — binaries start instantly
|
- **No JVM warmup** — binaries start instantly
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Clojure/Nim User Guide
|
# Bara Lang User Guide
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ Shows the Clojure AST as S-expressions.
|
|||||||
./cljnim repl --json
|
./cljnim repl --json
|
||||||
```
|
```
|
||||||
|
|
||||||
## Writing Clojure/Nim Programs
|
## Writing Bara Lang Programs
|
||||||
|
|
||||||
### Basic Syntax
|
### Basic Syntax
|
||||||
```clojure
|
```clojure
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
# Clojure Test Suite Compatibility
|
# Clojure Test Suite Compatibility
|
||||||
|
|
||||||
Clojure/Nim participates in the cross-dialect **[jank-lang/clojure-test-suite](https://github.com/jank-lang/clojure-test-suite)** — the standard Clojure compliance test suite that validates behavior across all Clojure dialects.
|
Bara Lang participates in the cross-dialect **[jank-lang/clojure-test-suite](https://github.com/jank-lang/clojure-test-suite)** — the standard Clojure compliance test suite that validates behavior across all Clojure dialects.
|
||||||
|
|
||||||
## Supported Dialects
|
## Supported Dialects
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ The Clojure Test Suite is officially maintained for these dialects:
|
|||||||
| Babashka | ✅ Official | GraalVM native-image |
|
| Babashka | ✅ Official | GraalVM native-image |
|
||||||
| Clojure CLR | ✅ Official | .NET CLR |
|
| Clojure CLR | ✅ Official | .NET CLR |
|
||||||
| Basilisp | ✅ Official | Python |
|
| Basilisp | ✅ Official | Python |
|
||||||
| **Clojure/Nim** | 🚀 Candidate | **Nim → C → Native** |
|
| **Bara Lang** | 🚀 Candidate | **Nim → C → Native** |
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ Each test file is a `.cljc` (cross-platform Clojure/ClojureScript) file with a s
|
|||||||
|
|
||||||
## Reader Conditional Handling
|
## Reader Conditional Handling
|
||||||
|
|
||||||
Clojure/Nim's `test_single.py` pre-processes `.cljc` files, stripping `#?` and `#?@` reader conditionals and extracting the `:default` branch:
|
Bara Lang's `test_single.py` pre-processes `.cljc` files, stripping `#?` and `#?@` reader conditionals and extracting the `:default` branch:
|
||||||
|
|
||||||
```clojure
|
```clojure
|
||||||
;; Before
|
;; Before
|
||||||
@@ -86,7 +86,7 @@ This follows the standard cross-dialect convention — each dialect resolves `:d
|
|||||||
|
|
||||||
## Current Test Scope
|
## Current Test Scope
|
||||||
|
|
||||||
The test suite covers **212+ `clojure.core` functions** and **8 `clojure.string` functions**. Clojure/Nim is working toward full compliance.
|
The test suite covers **212+ `clojure.core` functions** and **8 `clojure.string` functions**. Bara Lang is working toward full compliance.
|
||||||
|
|
||||||
See the [Roadmap](06-roadmap.md) for implementation status.
|
See the [Roadmap](06-roadmap.md) for implementation status.
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ For reference, here are links to the official dialect setup guides for running t
|
|||||||
| Babashka | [babashka.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/babashka.md) |
|
| Babashka | [babashka.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/babashka.md) |
|
||||||
| Clojure CLR | [clojureclr.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/clojureclr.md) |
|
| Clojure CLR | [clojureclr.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/clojureclr.md) |
|
||||||
| Basilisp | [basilisp.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/basilisp.md) |
|
| Basilisp | [basilisp.md](https://github.com/jank-lang/clojure-test-suite/blob/main/doc/basilisp.md) |
|
||||||
| **Clojure/Nim** | **This document** |
|
| **Bara Lang** | **This document** |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,4 +1,4 @@
|
|||||||
# Clojure/Nim Documentation
|
# Bara Lang Documentation
|
||||||
|
|
||||||
> A Clojure dialect that compiles to Nim → C → native binaries.
|
> A Clojure dialect that compiles to Nim → C → native binaries.
|
||||||
> **The only standalone Clojure implementation completely free from the Java ecosystem.**
|
> **The only standalone Clojure implementation completely free from the Java ecosystem.**
|
||||||
@@ -17,16 +17,16 @@
|
|||||||
- **AI Integration:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
- **AI Integration:** DeepSeek API, OpenAI-compatible, Xiaomi MiMo
|
||||||
- **Test Suite:** [Clojure Test Suite Compatibility](07-clojure-test-suite.md) — cross-dialect compliance testing
|
- **Test Suite:** [Clojure Test Suite Compatibility](07-clojure-test-suite.md) — cross-dialect compliance testing
|
||||||
|
|
||||||
## Why Clojure/Nim?
|
## Why Bara Lang?
|
||||||
|
|
||||||
Unlike every other Clojure dialect, Clojure/Nim has **zero dependency on the Java ecosystem** — no JVM, no GraalVM, no Google Closure Compiler, no Java standard library.
|
Unlike every other Clojure dialect, Bara Lang has **zero dependency on the Java ecosystem** — no JVM, no GraalVM, no Google Closure Compiler, no Java standard library.
|
||||||
|
|
||||||
| Dialect | Java Ecosystem Dependency |
|
| Dialect | Java Ecosystem Dependency |
|
||||||
|---------|---------------------------|
|
|---------|---------------------------|
|
||||||
| Clojure (JVM) | Full — runs on JVM |
|
| Clojure (JVM) | Full — runs on JVM |
|
||||||
| ClojureScript | Heavy — Google Closure Compiler |
|
| ClojureScript | Heavy — Google Closure Compiler |
|
||||||
| Babashka | Medium — GraalVM native-image |
|
| Babashka | Medium — GraalVM native-image |
|
||||||
| **Clojure/Nim** | **None — completely standalone** |
|
| **Bara Lang** | **None — completely standalone** |
|
||||||
|
|
||||||
### Unique Advantages
|
### Unique Advantages
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
# Clojure/Nim Documentation
|
# Bara Lang Documentation
|
||||||
|
|
||||||
> A Clojure dialect that compiles to Nim → C → native binaries.
|
> A Clojure dialect that compiles to Nim → C → native binaries.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user