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:
@@ -150,6 +150,15 @@ Time.sleep(1000) // milliseconds
|
||||
let obj = Json.parse("{\"name\": \"Alice\"}")
|
||||
let str = Json.stringify(obj)
|
||||
|
||||
// SQL database effects
|
||||
let db = Sql.openMemory()
|
||||
Sql.execute(db, "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
|
||||
Sql.execute(db, "INSERT INTO users (name) VALUES ('Alice')")
|
||||
let users = Sql.query(db, "SELECT * FROM users")
|
||||
Sql.beginTx(db)
|
||||
Sql.commit(db) // or Sql.rollback(db)
|
||||
Sql.close(db)
|
||||
|
||||
// Module system
|
||||
import mymodule
|
||||
import utils/helpers as h
|
||||
@@ -179,10 +188,6 @@ fn processModern(x: Int @v2+): Int = x // v2 or later
|
||||
fn processAny(x: Int @latest): Int = x // any version
|
||||
```
|
||||
|
||||
### Planned (Not Yet Fully Implemented)
|
||||
|
||||
- **Auto-migration Generation**: Migration bodies stored, execution pending
|
||||
|
||||
---
|
||||
|
||||
## Primary Use Cases
|
||||
@@ -235,7 +240,7 @@ Quick iteration with type inference and a REPL.
|
||||
|------------|-------------|
|
||||
| **New Paradigm** | Effects require learning new concepts |
|
||||
| **Small Ecosystem** | Community packages just starting |
|
||||
| **No Package Registry** | Can share code via git/path, no central registry yet |
|
||||
| **Young Package Registry** | Package registry available, but small ecosystem |
|
||||
| **Early Stage** | Bugs likely, features incomplete |
|
||||
|
||||
---
|
||||
@@ -374,18 +379,10 @@ Values + Effects C Code → GCC/Clang
|
||||
- ✅ Formatter
|
||||
|
||||
**In Progress:**
|
||||
1. **Schema Evolution** - Type-declared migrations working, auto-generation pending
|
||||
2. **Error Message Quality** - Context lines shown, suggestions partial
|
||||
3. **Memory Management** - RC working for lists/boxed, closures/ADTs pending
|
||||
|
||||
**Recently Completed:**
|
||||
- ✅ **JavaScript Backend** - Full language support, browser & Node.js
|
||||
- ✅ **Dom Effect** - 40+ browser manipulation operations
|
||||
- ✅ **Html Module** - Type-safe HTML construction (Elm-style)
|
||||
- ✅ **TEA Runtime** - The Elm Architecture for web apps
|
||||
- ✅ **Package Manager** - `lux pkg` with git/path dependencies, module integration
|
||||
1. **Memory Management** - RC working for lists/boxed, closures/ADTs pending
|
||||
2. **Serialization Codecs** - JSON codec generation for versioned types
|
||||
|
||||
**Planned:**
|
||||
4. **SQL Effect** - Database access (as a package)
|
||||
5. **Package Registry** - Central repository for sharing packages
|
||||
6. **Behavioral Type Verification** - Total, idempotent, deterministic checking
|
||||
- **Connection Pooling** - Pool database connections
|
||||
- **WASM Backend** - WebAssembly compilation target
|
||||
- **Stream Processing** - Stream effect for data pipelines
|
||||
|
||||
Reference in New Issue
Block a user