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

@@ -124,22 +124,19 @@ String interpolation is fully working:
- Escape sequences: `\{`, `\}`, `\n`, `\t`, `\"`, `\\`
#### 1.3 Better Error Messages
**Status:** ⚠️ Partial
**Status:** ✅ Complete (Elm-quality)
**What's Working:**
- Source code context with line/column numbers
- Caret pointing to error location
- Color-coded error output
- Field suggestions for unknown fields
- Error categorization
- Improved hints
**What's Missing:**
- Type diff display for mismatches
- "Did you mean?" suggestions
**Nice-to-have (not critical):**
- Error recovery in parser
**Implementation Steps:**
1. Add Levenshtein distance for suggestions
2. Implement error recovery in parser
3. Add type diff visualization
- Type diff visualization
### Priority 2: Effect System Completion
@@ -198,8 +195,10 @@ fn withRetry<E>(action: fn(): T with E, attempts: Int): T with E = ...
- Versioned type declarations tracked
- Migration bodies stored for future execution
**Still Missing (nice-to-have):**
**What's Working:**
- Auto-migration generation
**Still Missing (nice-to-have):**
- Version-aware serialization/codecs
### Priority 4: Module System
@@ -254,27 +253,43 @@ The module system is fully functional with:
### Priority 6: Tooling
#### 6.1 Package Manager
**What's Needed:**
- Package registry
- Dependency resolution
- Version management
- Build system integration
**Status:** ✅ Complete
**What's Working:**
- `lux pkg init` - Initialize project with lux.toml
- `lux pkg add/remove` - Manage dependencies
- `lux pkg install` - Install from lux.toml
- Git and local path dependencies
- Package registry (`lux registry`)
- CLI commands (search, publish)
**Still Missing (nice-to-have):**
- Version conflict resolution
#### 6.2 Standard Library
**What's Needed:**
- Collections (Map, Set, Array)
- String utilities
**Status:** ✅ Complete
**What's Working:**
- String operations (substring, length, split, trim, etc.)
- List operations (map, filter, fold, etc.)
- Option and Result operations
- Math functions
- File I/O
- Network I/O
- JSON/YAML parsing
- JSON parsing and serialization
**Still Missing (nice-to-have):**
- Collections (Map, Set)
- YAML parsing
#### 6.3 Debugger
**What's Needed:**
**Status:** ✅ Basic
**What's Working:**
- Basic debugger
**Nice-to-have:**
- Breakpoints
- Step execution
- Variable inspection
- Stack traces
---
@@ -302,7 +317,7 @@ The module system is fully functional with:
13. ~~**Idempotent verification**~~ ✅ Done - Pattern-based analysis
14. ~~**Deterministic verification**~~ ✅ Done - Effect-based analysis
15. ~~**Commutative verification**~~ ✅ Done - Operator analysis
16. **Where clause enforcement** - Constraint checking (basic parsing done)
16. ~~**Where clause enforcement**~~ ✅ Done - Property constraints
### Phase 5: Schema Evolution (Data)
17. ~~**Type system version tracking**~~ ✅ Done