Feature Status
Osprey is an alpha language. The compiler is written in Rust, emits LLVM IR and
builds native binaries through clang. It also targets wasm32-wasip1 with a
smaller runtime surface.
Current version: v0.14.0.
Releases
| Version | Released | |
|---|---|---|
| v0.14.0 | Jul 25, 2026 | Latest |
| v0.13.0 | Jul 24, 2026 | |
| v0.12.0 | Jul 22, 2026 | |
| v0.11.0 | Jul 12, 2026 | |
| v0.10.0 | Jul 1, 2026 | |
| v0.9.0 | Jun 29, 2026 | |
| v0.8.0 | Jun 29, 2026 | |
| v0.7.0 | Jun 28, 2026 | |
| v0.6.0 | Jun 27, 2026 | |
| v0.5.0 | Jun 25, 2026 | |
| v0.4.0 | Jun 23, 2026 | |
| v0.3.0 | Jun 23, 2026 | |
| v0.2.1 | Jun 20, 2026 | |
| v0.2.0 | Jun 23, 2025 | |
| v0.1.0 | Jun 13, 2025 |
Implemented foundations
- Default (
.osp) and ML (.ospml) source parsing, both lowering to the same AST before semantic analysis - Hindley–Milner type inference, algebraic data types and exhaustive pattern matching for supported patterns
- Typed effect operations, lexical handlers and native single-shot
resume - Immutable persistent lists and maps
- Lightweight native fibers and channels
- Native HTTP, WebSocket, file, process and C FFI runtime APIs
- Default, tracing-GC and Perceus-ARC native memory backends
- Native and
wasm32-wasip1compilation - Compiler-backed formatting, documentation generation, testing, profiling and language-server commands
The runnable programs in
tests/regressions/
are compiled and compared with checked-in expected output.
Current limits
- Effect inputs and outputs are checked, but missing handlers and undeclared
effect rows are not rejected in every case. Missing runtime handlers abort
with an
unhandled effectdiagnostic. - Resuming effects are native-only. WebAssembly supports handlers that return immediately.
- Tail-call optimisation is not implemented.
- User-defined generics and the package manager remain roadmap work.
- Multi-file modules are under development. Cross-flavor imports must not be treated as complete.
- The strict static-memory mode described in the memory specification is not a
current CLI option. Native builds accept
default,gcandarc. - WebAssembly excludes fibers, HTTP, WebSockets, file and process operations, and the C FFI.
- C integrations are outside Osprey's memory-safety guarantee.
For detailed intended behavior and chapter-specific implementation notes, read the specifications. For compiler-generated built-in signatures, use the API reference.