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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user