<?gray ... ?>, includes, and {expr}
Compose ordinary files in shared scope and render expressions inside literal text.
Gray is a server language with an integrated compiler and runtime. It includes HTTP, database, concurrency, session, and deployment APIs.
set $server = http_server();
http_handler($server, "GET", "/hello", fn($request) {
return response_json([
"runtime": "Gray",
"policy": "Live"
]);
});
http_serve($server, "0.0.0.0", 8080);
200 application/json
{
"runtime": "Gray",
"policy": "Live"
}
Create a project and start the development server.
gray new hello-graycd hello-gray && gray rungray dev<?gray
set String $name = "Ada";
?>
Hello, {$name}!
Gray files can combine source and literal output. Expressions inside {...} are rendered in place.
Core syntax and built-in server capabilities.
<?gray ... ?>, includes, and {expr}Compose ordinary files in shared scope and render expressions inside literal text.
Mix typeless values with checked parameters, returns, fields, and storage.
Model state with constructors, methods, visibility, typed records, and JSON encoding.
Use parameterized SQL, typed rows, transactions, and readiness-driven continuation paths.
Opaque encrypted sessions, typed state, CSRF, recent authentication, bounded risk, and redacted events.
spawn, await, cancellation, caches, and source-aware errors share one execution model.
gray fmt, gray lint, and the LSP consume the compiler's grammar.
Run source, ship a standalone artifact, or replace ready workers after validation.
No matching language surface.
Runnable examples checked by the repository test suite.
Session lifecycle, storage adapters, key rotation, and privacy controls.
The releases belong to different parts of the story: one expanded what Gray can do; the next repaired the HTTP path and tightened what the evidence can claim.
| Release | Source commit | Measured change |
|---|---|---|
| RC8 | dc12539311e5 | Distribution, remote packages, version management, installer and doctor |
| RC9 | 01241dde5fd1 | 140 commits across 555 files; the major runtime expansion |
| RC10 | ac76c79693b7 | 5 commits across 9 files; focused HTTP and qualification correction |
RC8 → RC10: 145 commits, 560 files changed, 59,925 insertions, and 4,790 deletions. Much of that volume is tests, documentation, benchmark fixtures, and qualification evidence.
RC9 added ownership-safe Bytes, dynamic JSON, dynamic collections and call edges, native request/response handling, checked projection, and explicit VM fallback.
task_group, parent-to-child cancellation, deterministic drainingchannel_select!=, postfix ++/--, typed integer lowering, and read-only $thisRC10 coalesced plaintext headers, borrowed response bodies through sendmsg, repaired the reproducible comparison image, proved Static execution, and selected the registered PostgreSQL continuation route.
Preview boundary. RC10 is not a stable release or a redistribution-clearance claim. Licensing, signing and key custody, vulnerability reporting, dependency policy, rollback policy, and final public documentation remain release controls.
Inspect exact RC10 evidenceDeclarations generated from the compiler's syntax model.
Loading gray.docs.v1