-
-
Notifications
You must be signed in to change notification settings - Fork 0
Implementation Status
Status: pre-release compiler 0.1.0.0; semantic draft 0.4.0-draft in the versioned vault.
This page separates implemented behavior from design direction. “Implemented” means supported by the current compiler and exercised by repository tests or fixtures.
| Area | Status |
|---|---|
| Unicode source model and lexer | Implemented |
| Recovery-capable parser | Implemented |
| Hygienic typed macro expansion | Implemented |
| Name resolution and module graph | Implemented |
| Type checking and local inference | Implemented |
| Exhaustiveness/usefulness checks | Implemented |
| Interpreter and program linking | Implemented |
| REPL | Implemented |
| Formatter | Implemented |
| Documentation index/search/site | Implemented |
| Language server and VS Code client | Implemented with the capability limits documented here |
| Native/C/JVM/Wasm backend | Not implemented |
| Package manifest, lockfile, or registry | Not implemented |
| Area | Status |
|---|---|
| Records, sums, aliases, tuples, generics | Implemented |
Parameters of higher kind (F[_], F[_, _]) |
Implemented; arity declared, never inferred |
Ordered Set literals #{...} and Set-only in
|
Implemented |
| Traits, defaults, orphan rule, exact duplicate-head rejection | Implemented; general overlap detection absent |
dynamic Trait interpreter dispatch |
Implemented |
if let, let … else, while let, exhaustive match
|
Implemented; binder-carrying pattern alternatives are defective |
Result/Option postfix ?
|
Implemented |
| Numeric widths, checked/wrapping/saturating arithmetic | Implemented in checker/interpreter |
Exact Decimal
|
Implemented in checker/interpreter and Std.Decimal
|
| Cold async tasks and sequential structured-scope joins | Implemented in checker/interpreter; no scheduler or cancellation |
| Compile-time functions and constants | Implemented under restricted evaluator capabilities |
| Unsafe capability regions | Implemented at syntax/checking boundary |
| Stable foreign declaration and C ABI syntax | Not implemented |
| Full ownership/lifetime/drop proof and native conformance | Not complete |
Binder-free pattern alternatives execute. Binder-carrying alternatives are not usable correctly: the resolver rejects repeated binders but may admit different binders that leave the unchosen name undefined at run time. Pattern Language records the exact boundary.
The shipped library contains 46 Pudu source modules and 1291 exported declarations. It includes
collections, eight keyed structures beyond Std.Map, trees, numeric traits, exact decimals, parser
combinators, JSON, HTTP data/message handling, URL, files/environment, processes, time, crypto,
deterministic random generation, output and formatting as values, and a test framework with
property-based generation and shrinking.
Not implemented, with reasons recorded in the repository's architecture/STDLIB:
| Missing | Why |
|---|---|
Std.HashMap |
No Hash trait. Adding one is a language decision belonging beside Eq and Ord. |
Std.Channel, Std.Concurrent, Std.Sync
|
No threads. |
Std.Net, Std.Tls, Std.Db, Std.Http.Server
|
No socket primitives. |
Std.Bytes, Std.Csv, Std.Toml, Std.Uuid, Std.Path, Std.Bench, Std.Time.Format
|
Buildable in Pudu today; not yet written. |
Streaming file/network APIs, an HTTP transport/server, a database layer, a package ecosystem, and multi-gigabyte input support are not implemented.
The interpreter is currently the dominant runtime cost. Data-structure work includes direct iteration for maps/sets and set membership/algebra improvements, but native predictable-performance claims remain future backend work. Timing and memory claims should be tied to committed benchmarks, not language positioning.
Nothing is stable before 1.0 unless a release explicitly says otherwise. Public semantic changes are recorded in the repository ADRs and semantic revision ledger.
- Modules And Imports
- Values, Bindings, And Blocks
- Types And Inference
- Records, Sums, And Tuples
- Functions Generics And Traits
- Pattern Language
- Control Flow And Patterns
- Iteration And Loops
- Failure And Propagation
- Numbers And Collections
- Sets Maps And Sequences
- Keyed Structures
- Trees And Hierarchies
- Standard Library
- Output Formatting And Testing
- Tasks And Scopes
- Compile-Time Evaluation
- Typed Macros
- References And Unsafe
- Worked Programs