Skip to main content

Welcome to Scrii

Scrii is a small, dynamically typed scripting language with an embeddable C++23 core. Its whitespace-agnostic, semicolon-free C-style syntax stays easy to read, it parses fast, and it doubles as a great vehicle for dynamic configuration.

Highlights

  • Dynamic typing — values carry their type at runtime: int, long, float, double, string, char, boolean, nil, heterogeneous array, key-value object, and first-class function values.
  • Easy syntax — C-style var/const, if/elif/else, for, foreach, and switch, with no semicolons and no significant whitespace.
  • Fast parsing — a lightweight interpreter core that gets from source to running quickly.
  • Great for dynamic configurations — scripts double as readable, executable config files.
  • Embeddable — a C++ core with a stable host API for executing scripts, exchanging values, and bridging host functions.
  • Native plugins — drop-in C++ shared libraries that register functions and modules directly into the scripting namespace.
  • Tooling — a REPL/interpreter, a source formatter (scrii_fmt), a language server (scrii_ls), and tree-sitter editor highlighting.
  • Big standard library — sorting, math, string handling, hashing, crypto, JSON, images, compression, file/path I/O, process control, time, and full networking (TCP/UDP/HTTP/WebSocket).

Documentation overview

note

Scrii is under heavy development. Expect the language and library surfaces to grow and occasionally change.