Osprey documentation

Osprey is a practical functional language for safe, fast native programs. Start with one small application, then move into the language and API references when you need exact details.

Start here

  • Install Osprey — set up the compiler and LLVM/clang toolchain on macOS, Linux, or Windows.
  • Build My First App — create a native CLI that models JSON as a recursive algebraic data type, reads a JSON file, and safely writes the next state.
  • Try the Playground — run small programs in the browser before setting up a local toolchain.

Build applications

Language

Osprey currently has two source flavors. Default files use .osp, braces, fn, and parenthesized calls. ML files use .ospml, indentation, currying by default, and whitespace application. Both lower to the same checked program representation.

Reference

The reference is divided by what you are looking for. The function catalogue is deliberately kept on its own page instead of overwhelming this guide.

  • Functions — file I/O, strings, collections, processes, networking, JSON document queries, and concurrency.
  • Types — built-in value and runtime types.
  • Operators — arithmetic, comparison, and pipeline operators.
  • Keywords — language syntax by keyword.