RSSAmplifier

Blog

Osprey Programming Language

One core, two flavors: write Osprey in C-style braces or ML-style layout with curry-by-default. Both lower to one canonical AST with typed algebraic effects, fibers, persistent collections, Hindley-Milner inference, and LLVM code generation.

ospreylang.devRSS feed ↗7 posts

Latest posts

SemVer Is All Lies. Please Stop

Why semantic versioning cannot prove backward compatibility, what breaking-change research shows, and how Osprey's package manager will test dependency updates.

Exceptions and Panics Were a Mistake: Better Error Handling

Why exceptions and panics create hidden control flow, what software research found, and how Osprey handles errors with Result types and algebraic effects.

Perceus ARC in Osprey: Functional Memory Management

Osprey ships opt-in Perceus automatic reference counting. The compiler inserts ownership operations, and the runtime reclaims values as owner counts reach zero.

Osprey Flavors: Two Syntaxes, One Language

How Osprey's Default and ML source flavors share one compiler pipeline.

Persistent Collections in Osprey: Immutable List and Map with Structural Sharing

Explore Osprey’s persistent List and Map, their vector-trie and HAMT internals, structural sharing, complexity, API, and current implementation tradeoffs.

Memory Safety and Osprey's Runtime Boundary

The memory-safety boundary around Osprey values, fibers and the C FFI.

Modeling Web API Results with Pattern Matching

Model web API outcomes with Osprey union types and pattern matching.