MetaScript
THE IMPOSSIBLE, NOW POSSIBLE

TypeScript, now native.

TypeScript generics and mental model — metal performance and control.

HTTP Server Throughputrequests/sec (higher is better)
C
(epoll)210K
NATIVE
MetaScript
205K
NATIVE
Rust
(hyper/tokio)171K
NATIVE
Bun
35K
RUNTIME
Node.js
17K
RUNTIME

* Synthetic benchmark on ARM Neoverse-N1 (4-core, 16GB) • MetaScript compiles to native C

Your MetaScriptcompiles to C
httpConcurrent.ms
import { cpuCount } from "std/os";
import { createServer, serveConcurrent, sendText, sendJson } from "std/http";

const server = createServer((req, res) => {
  if (req.path === "/ping") sendText(res, "pong");
  else sendJson(res, JSON.stringify({ path: req.path }));
});

serveConcurrent(server, cpuCount());
output.c
// Compiled to native C
static void dollarfn_main_1_(HttpRequest* req, ServerResponse* res) {
  if (msStringEquals((*req).path, MS_STRING_LIT(&TMP_STR_1, 5))) {
    sendText__Z85s...Ocms_u0(res, MS_STRING_LIT(&TMP_STR_2, 4));
    return;
  }
  sendJson__Z85s...Ocms_u0(res, msStringConcatMany(3,
    MS_STRING_LIT(&TMP_STR_3, 9), (*req).path, MS_STRING_LIT(&TMP_STR_4, 2)));
}

// Zero-alloc compile-time string constants
static struct { int64_t cap; char data[6]; }
  TMP_STR_1 = { MS_STRLIT_FLAG | 5, "/ping" };

What Makes MetaScript Different

Full TypeScript Generics

Conditional types, mapped types, infer keyword — monomorphized to native code.

type Unwrap<T> = T extends Promise<infer U> ? U : T;
Learn more

Multiple Runtimes

Same code compiles to C (native), JavaScript, WebAssembly, or Solana (web3). Choose per use case.

msc build --target=c
Learn more

Who MetaScript is for

For JavaScript developers

You already know 80% of what you need. MetaScript only opens the remaining 20%: the part that lets you build native binaries, engines, backends, and tools with performance close to C/Rust - using the same JavaScript-shaped language you've been speaking for years.

Start as a JavaScript developer

For systems developers

MetaScript doesn't try to replace Rust or C. It's the place where you can bring your systems skills down to where millions of JS developers live. Instead of trying to teach the whole world Rust, you ship one MetaScript package and instantly put your work in front of them.

Start as a systems developer

Why Developers Choose MetaScript

Ship native binaries without leaving your TypeScript mental model

Few kilobytes binary size, near raw C performance

Cut cold starts and memory usage without rewriting everything

Deploy to Lambda, CLI, browsers, or distributed, same codebase

Use C, npm, and BEAM ecosystems from one language and package manager