Compiler core
Lexer, parser, static checker, typed HIR/IR, interpreter, modules, collections, traits, pattern matching and quantities.
The ecosystem
A useful language needs a compiler, an editor, a way to learn, a way to share code and a path to real applications. Ostrin is building those surfaces in public.
Where we are
Today, Ostrin has a Rust compiler and interpreter, native C execution, OS-thread concurrency, WASI distribution, scientific examples and an initial VS Code extension.
Inspect the source ↗Lexer, parser, static checker, typed HIR/IR, interpreter, modules, collections, traits, pattern matching and quantities.
C emission and compilation, leak checking, deterministic cooperative mode, OS threads, channels, select and structured cancellation.
source programs and intentional failures exercise language, scientific, ownership and runtime decisions under test.
`.ostrin` recognition, syntax highlighting, LSP diagnostics, completion, signature help, hover, formatting, definition navigation, references, scoped rename, outline and DAP debugging.
Strings, collections, file I/O, paths, arguments, formatting, hashing, arrays, statistics, regression, deterministic math and reproducible RNG.
The compiler runs in the browser as WebAssembly (see the playground); local path packages, an embedded standard library and reproducible WASI artifacts exist. The published experimental 0.2.0 release includes verified Linux, macOS, Windows and WASI archives with checksums; a public registry remains future work.
Tools around Ostrin
The goal is not to collect integrations. It is to make the path from an idea to a checked, understandable program feel coherent.
Check a file, inspect AST/HIR/IR, run it deterministically or emit native code.
Open `.ostrin` files with syntax support, live compiler diagnostics, navigation and debugging.
design documents record the language decisions and their trade-offs.
programs and failure cases act as an executable conversation with the design.
Compile local applications to native executables or reproducible `wasm32-wasi` artifacts.
Early `tables`, `plot` and `autodiff` packages establish a path toward data and simulation workflows.
A deliberate ecosystem
Ostrin is early. The site will never present a future registry as if it were already mature. Each capability will move from design, to implementation, to a documented example.
See the build order ↗