Developer platform
HollowScript
Status: LiveA 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
- 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
- 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
- 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.
