Developer platform

HollowScript

Status: Live

A statically typed, capability-safe scripting language for Hollow automation, already running in production inside Cascade.

HollowScript is a general-purpose language built so an unattended script can never reach further than it is explicitly allowed to: no ambient I/O of any kind, not even printing or the clock, unless a file declares it up front.

HollowScript

Developer platform

Language

Statically typed, deliberately boring

HollowScript is statically typed with no any escape hatch, uses records and free functions instead of classes, makes every value immutable, and replaces null with a checked optional type, all in service of catching a mistake before an unattended automation fails at 3am.

  • No any: hallucinated field or method names are caught, not run
  • All values immutable; variable rebinds a name, never edits one
  • No null: absence is declared in the type and must be checked
HollowScriptThe language
  • Statically typed, no any
  • Records, not classes
  • Immutable values
  • No null, explicit Result

Security

No ambient authority, anywhere

Every capability a script can touch, even printing, the clock, or random numbers, is declared in a uses header and marked effect at the call site. The interpreter has no primitive that reaches outside the sandbox: safety is a language-level guarantee, not just a container around it.

  • A file declares every capability it may touch, up front
  • Printing, the clock, and random numbers are capabilities too, not ambient
  • Parsing never throws: malformed input returns diagnostics, not a crash
CapabilitiesCapability-based
  • A uses header declares access
  • Every effect is marked
  • Even print and clock are capabilities
  • Parser never throws

Ship it

Built for release, running in production today

HollowScript ships as standalone binaries with a CLI for run, check, format, and repl, and it already runs in production as a Cascade step type, embedding Hollow Expression Language (HEL) as its filter grammar. A public release is pending a binary licence review.

  • A CLI: hollowscript run, check, format, and repl
  • Runs in production today inside Cascade’s code steps
  • Standalone binaries exist; public release is pending a licence review
ShipGetting it
  • A CLI: run, check, format, repl
  • Standalone binaries
  • Public release pending a licence review
  • Runs live inside Cascade

What’s inside

A language built not to go wrong unattended

  • 01

    Statically typed core

    No any, immutable values, no null, explicit Result returns instead of exceptions.

  • 02

    Capability-based security

    A uses header declares every effect; nothing reaches outside the sandbox by default.

  • 03

    HEL, embedded

    Hollow Expression Language, a small boolean filter language, is built into HollowScript’s own grammar.

  • 04

    Never-throwing parser

    Malformed input always returns diagnostics with source spans, never a raw crash.

  • 05

    CLI and binaries

    run, check, format, and repl, plus standalone binaries, with public release pending a licence review.

  • 06

    Live in Cascade

    Runs in-process inside Cascade’s code steps today, with a real syntax-highlighted editor.

A language built not to go wrong unattended

HollowScript is part of Hollow, invite only while we open access in stages.