Scaly is a programming language designed to be self-scaling: it adapts to the needs of the developer, from simple scripts to complex systems. The language combines a uniform grammar — with no hardcoded operators, since operators are ordinary identifiers — with optional region-based memory management. Standard mathematical precedence applies when operators are chained, while prefix forms and parentheses give explicit control where it is needed.
Scaly follows these core principles:
Uniform syntax — Operators are ordinary identifiers rather than keywords baked into the grammar, so the language and its standard library share one small, regular syntax.
Explicit over implicit — Memory management and control flow are visible in the code structure.
Incremental complexity — Simple programs stay simple; advanced features are available when needed.
This specification documents the language as it is implemented. Scaly is built by a self-hosting compiler written in Scaly itself; the compiler compiles its own source and reproduces itself bit-identically across successive bootstrap stages.
The compiler pipeline — lexer, parser, modeler, planner, and an LLVM-based emitter — is feature-complete. Current implementation status:
Lexer, parser, modeler, planner, emitter — implemented
LLVM code generation (JIT and ahead-of-time) — implemented
Region-based memory management — implemented
Self-hosting bootstrap — achieved (the compiler compiles itself)