Schema Evolution: - Preserve version info in type resolution (Type::Versioned) - Track versioned type declarations in typechecker - Detect version mismatches at compile time (@v1 vs @v2 errors) - Support @v2+ (at least) and @latest version constraints - Store migrations for future auto-migration support - Fix let bindings to preserve declared type annotations HTTP Server Effect: - Add HttpServer effect with listen, accept, respond, respondWithHeaders, stop - Implement blocking request handling via tiny_http - Request record includes method, path, body, headers - Add http_server.lux example with routing via pattern matching - Add type-checking test for HttpServer effect Tests: 222 passing (up from 217) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
667 B
TOML
31 lines
667 B
TOML
[package]
|
|
name = "lux"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "A functional programming language with first-class effects, schema evolution, and behavioral types"
|
|
license = "MIT"
|
|
|
|
[dependencies]
|
|
rustyline = "14"
|
|
thiserror = "1"
|
|
lsp-server = "0.7"
|
|
lsp-types = "0.94"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rand = "0.8"
|
|
reqwest = { version = "0.11", features = ["blocking", "json"] }
|
|
tiny_http = "0.12"
|
|
|
|
# Cranelift for native compilation
|
|
cranelift-codegen = "0.95"
|
|
cranelift-frontend = "0.95"
|
|
cranelift-module = "0.95"
|
|
cranelift-jit = "0.95"
|
|
target-lexicon = "0.12"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
|
|
[profile.release]
|
|
lto = true
|