Skip to content
🚧 The features on this page are planned and not yet available in Zeus.

Roadmap

Zeus is in active development. Here’s the batch of features planned next.

Generics

Reusable containers and functions parameterized by type, so you write a data structure once and use it with any element type β€” no casts, no duplication:

class Box<T> {
private value: T;
constructor(value: T) { this.value = value; }
public get(): T { return this.value; }
}
function identity<T>(value: T): T {
return value;
}
let boxed: Box<i32> = new Box<i32>(42);
let same: i32 = identity<i32>(7);

Generic interfaces (interface Container<T>) build on the same machinery.

Promise and async/await

First-class asynchronous values, so I/O reads like straight-line code instead of nested callbacks:

async function loadCount(): Promise<i32> {
let value: i32 = await fetchCount();
return value + 1;
}

Promise<T> is a generic type, so it lands together with generics.

A Node-like HTTP server

A web server in a few lines, served from the standard library β€” no main boilerplate required:

import { createServer, Request, Response } from "@std/http";
let server = createServer((req: Request, res: Response) => {
res.writeHead(200, "text/plain");
res.end("Hello from Zeus!");
});
server.listen(3000);

Custom exception types

Subclassing Error to define your own exception hierarchy:

class NotFoundError extends Error {
constructor(message: string) { super(message); }
}

An expanded standard library

More batteries included β€” file system, JSON, and richer collections β€” as @std modules you import on demand.