eskiuv0.9.2
v0.9.2 · un lenguaje de sistemas

Escríbelo como un script. Compílalo como C.

Eskiu es un lenguaje de sistemas que se compila a sí mismo. LLVM, memoria explícita, interoperabilidad directa con C y sin recolector de basura, con un eskiuc run que se siente como Python.

Instálalo en macOS o Linux curl -fsSL https://eskiu-lang.org/install.sh | sh
La mascota de Eskiu, un gatito atigrado gris con una bola de estambre
En producción

En ReactVision, con ≈85% menos memoria en ViroReact, y en una Nintendo 3DS.

Familiar en la superficie.

01

Tipos suma, verificados hasta el último caso

Un enum lleva datos por variante. Si dejas un caso fuera de un match, no compila.

match parse_port("8080") {
    Port(p)         -> printf("listening on :%d\n", p);serve(p);
    InvalidRange(n) -> printf("%d out of range\n", n);warn(n);
    NotANumber      -> printf("not a number\n");fail();
}
02

Matemática de vectores que se lee como matemática

Los genéricos con restricciones se monomorfizan; las sobrecargas de operadores se resuelven por el tipo de los operandos y no cuestan nada en runtime.

V3 operator +(V3 a, V3 b) { ... }
V3 operator *(V3 v, float s) { ... }

let mid: V3 = (a + b) * 0.5;  // llamadas directas
03

async, await y canales tipados

Un solo reactor sobre kqueue, epoll o WSAPoll, así que el mismo código de red corre en Linux, macOS y Windows.

async int sum_squares(Chan<int>* ch) {
    let a: int = await Chan_recv(ch);
    let b: int = await Chan_recv(ch);
    return a + b;
}
04

El compilador está escrito en Eskiu

Se compila a sí mismo desde la v0.3.0. Todo el pipeline reproduce su propia salida mediante un punto fijo de bootstrap en 3 etapas.

Cómo funciona el bootstrap →
selfhost/
  lexer → preprocessor → parser
  → sema → codegen → LLVM

stage 1 → 2 → 3  ✓ fixpoint
Playground

Pruébalo en el navegador.

Edita el programa y córrelo. El servidor lo compila con LLVM y lo ejecuta con el mismo eskiuc run.

⌘/Ctrl + Enter para ejecutar
SALIDA

En sandbox: sin red, con límites de tiempo y memoria, y salida acotada.

Gratis · en línea · en inglés

The Book of Eskiu

De Hello, Eskiu a programación bare-metal, async y el compilador auto-hospedado.