fix: C backend String functions, record type aliases, docs cleanup

- Add String.fromChar, chars, substring, toUpper, toLower, replace,
  startsWith, endsWith, join to C backend
- Fix record type alias unification by adding expand_type_alias and
  unify_with_env functions
- Update docs to reflect current implementation status
- Clean up outdated roadmap items and fix inconsistencies
- Add comprehensive language comparison document

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 01:06:20 -05:00
parent ba3b713f8c
commit 33b4f57faf
11 changed files with 1694 additions and 571 deletions

View File

@@ -120,17 +120,34 @@ fn main(): Unit with {Console} =
## Status
**Current Phase: Prototype Implementation**
**Core Language:** Complete
- Full type system with Hindley-Milner inference
- Pattern matching with exhaustiveness checking
- Algebraic data types, generics, string interpolation
- Effect system with handlers
- Behavioral types (pure, total, idempotent, deterministic, commutative)
- Schema evolution with version tracking
The interpreter is functional with:
- Core language (functions, closures, pattern matching)
- Effect system (declare effects, use operations, handle with handlers)
- Type checking with effect tracking
- REPL for interactive development
**Compilation Targets:**
- Interpreter (full-featured)
- C backend (functions, closures, pattern matching, lists, reference counting)
- JavaScript backend (full language, browser & Node.js, DOM, TEA runtime)
**Tooling:**
- REPL with history
- LSP server (diagnostics, hover, completions, go-to-definition)
- Formatter (`lux fmt`)
- Package manager (`lux pkg`)
- Watch mode / hot reload
**Standard Library:**
- String, List, Option, Result, Math, JSON modules
- Console, File, Http, Random, Time, Process effects
- SQL effect (SQLite with transactions)
- DOM effect (40+ browser operations)
See:
- [SKILLS.md](./SKILLS.md) — Language specification and implementation roadmap
- [docs/VISION.md](./docs/VISION.md) — Problems Lux solves and development roadmap
- [docs/ROADMAP.md](./docs/ROADMAP.md) — Development roadmap and feature status
- [docs/OVERVIEW.md](./docs/OVERVIEW.md) — Use cases, pros/cons, complexity analysis
## Design Goals
@@ -150,20 +167,31 @@ See:
## Building
### With Nix (recommended)
```bash
# Build
nix build
# Run the REPL
nix run
# Enter development shell
nix develop
# Run tests
nix develop --command cargo test
```
### With Cargo
Requires Rust 1.70+:
```bash
# Build the interpreter
cargo build --release
# Run the REPL
cargo run
# Run a file
cargo run -- examples/hello.lux
# Run tests
cargo test
./target/release/lux # REPL
./target/release/lux file.lux # Run a file
cargo test # Tests
```
## Examples