Banner oficial de Thrust

Thrust Programming Language

Un lenguaje de sistemas, estatico y tipado, para escribir codigo verboso, preciso y rapido.

Filosofia

Thrust ofrece control de bajo nivel como C, y al mismo tiempo permite usar abstracciones de alto nivel cuando las necesitas. La idea es mantener un modelo mental simple: si razonas en C, tambien puedes razonar en Thrust.

Inicio Rapido

./thrustc fibonacci.thrust -cc-args="-o fibonacci" && ./fibonacci
import std::io;

fn fibonacci [T] (n: T) T @public {
    if n <= 0 { return 0; }
    if n == 1 { return 1; }

    var a: T = 0;
    var b: T = 1;
    var i: T = 2;
    var result: T = 0;

    while i <= n {
        result = a + b;
        a = b;
        b = result;
        i++;
    }

    return result;
}

fn main() s32 @public {
    var result: s32 = fibonacci[s32](10);
    // Expected result: fib(10) = 55
    io::print("fib(%d) = %d\n", 10, result);
    return 0;
}

Claridad C-Style

Un modelo mental cercano a C, con comportamiento explicito y predecible para sistemas.

Generics en Compile-Time

Funciones y estructuras genericas con instanciacion explicita, sin costo dinamico extra.

Interoperabilidad con C

Integracion directa con C mediante @extern y @convention("C").

Condicionales en Compile-Time

Usa @if, @elif y @else para elegir codigo por plataforma al compilar.

Targets Multiplataforma

Compila para Linux, Windows, macOS, RISC-V, WebAssembly y mas desde una sola maquina.

Builtins Utiles

Builtins de tipos/layout como sizeOf, alignOf e isSameType.