Feature Status

By Christian Findlay

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-wasip1 compilation
  • 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 effect diagnostic.
  • 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, gc and arc.
  • 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.