BRAIDGROUP
RESEARCH & DEV
39. Documentation

Cookbook

Read a File

import std.fs;

fn read_config(path: string) -> string {
    let content = std.fs.read_file(path);
    if content == nil {
        print("Failed to read: " + path);
        return "";
    }
    return content;
}

fn main() {
    let data = read_config("config.json");
    print(data);
}

Compute Average of Array

fn average(values: [float]) -> float {
    let n = values.length;
    if n == 0 {
        return 0.0;
    }
    let sum = 0.0;
    let i = 0;
    while i < n {
        sum = sum + values[i];
        i = i + 1;
    }
    return sum / n;
}

fn main() {
    let temps = [72.5, 68.3, 75.1, 70.0, 69.8];
    print(average(temps));  // 71.14
}

Define a Neural Network Layer

@layer struct Linear {
    @param weight = tensor_init(128, 64);
    @param bias = tensor_init(128);

    fn forward(self, x: tensor) -> tensor {
        return x @ self.weight + self.bias;
    }
}

@layer struct MLP {
    @param layer1 = Linear(64, 128);
    @param layer2 = Linear(128, 10);

    fn forward(self, x: tensor) -> tensor {
        let h = self.layer1.forward(x);
        let h = relu(h);
        return self.layer2.forward(h);
    }
}

fn main() {
    let model = MLP();
    let input = [[1.0, 0.5, ..., 0.0]];
    let output = model.forward(input);
    print(output);
}

Create a Diameter Logic Gate

diameter temperature: {
    pole hot: {
        return 80.0;
    }
    pole cold: {
        return 10.0;
    }
}

fn simulate() {
    let steps = 10;
    let i = 0;
    while i < steps {
        temperature.evolve();
        let tension = temperature.observe("tension");
        let state = temperature.observe("state");
        print("Step " + i + ": tension=" + tension);
        i = i + 1;
    }
}

fn main() {
    simulate();
}

Parse Command-Line Arguments

fn main() {
    let args = std.io.args();  // Returns array of strings
    let i = 0;
    while i < args.length {
        let arg = args[i];
        match arg {
            "--verbose" => print("Verbose mode on"),
            "--output" => {
                i = i + 1;
                let outfile = args[i];
                print("Output: " + outfile);
            },
            _ => print("Unknown: " + arg)
        }
        i = i + 1;
    }
}

Generate Random Numbers

extern fn srand(seed: int);
extern fn rand() -> int;

fn random_int(min: int, max: int) -> int {
    let r = rand();
    return min + (r % (max - min + 1));
}

fn main() {
    srand(42);
    let i = 0;
    while i < 5 {
        print(random_int(1, 100));
        i = i + 1;
    }
}

Sort an Array (Bubble Sort)

fn bubble_sort(arr: [int]) {
    let n = arr.length;
    let i = 0;
    while i < n {
        let j = 0;
        while j < n - i - 1 {
            if arr[j] > arr[j + 1] {
                let temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
            j = j + 1;
        }
        i = i + 1;
    }
}

fn main() {
    let nums = [64, 34, 25, 12, 22, 11, 90];
    bubble_sort(nums);
    print(nums);
}

Define a REST Endpoint (Junction)

import junction;

struct User {
    id: int;
    name: string;
    email: string;
}

fn handle_get_user(req: junction.Request) -> junction.Response {
    let user_id = req.params.id;
    let user = User {
        id: user_id,
        name: "Alice",
        email: "alice@example.com",
    };
    return junction.json(200, user);
}

fn main() {
    let app = junction.create_app({
        name: "my-api",
        version: "1.0.0",
    });
    app.get("/users/:id", handle_get_user);
    junction.serve(app, 8080);
}

Create a Frontend Component (Bond)

import bond;

struct Counter {
    count: int;
}

fn counter_view(state: Counter) -> bond.Element {
    return bond.div({ className: "counter" }, [
        bond.h1({}, ["Count: " + state.count]),
        bond.button({ onClick: fn() {
            state.count = state.count + 1;
            bond.render(counter_view(state));
        }}, ["+"]),
        bond.button({ onClick: fn() {
            state.count = state.count - 1;
            bond.render(counter_view(state));
        }}, ["-"]),
    ]);
}

fn main() {
    let app = bond.create_app(document.getElementById("root"));
    bond.render(counter_view(Counter { count: 0 }));
}

Train a Small Model

import std.train;
import std.models;

model tiny_llm = Transformer {
    vocab_size: 1024;
    d_model: 128;
    num_layers: 2;
    num_heads: 4;
    d_ff: 512;
    learning_rate: 0.001;
    batch_size: 4;
    seq_len: 64;
    num_epochs: 3;
}

fn main() {
    std.train.run(tiny_llm);
}

// Equivalent C-level API for fine-grained control:
// fn main() {
//     let cfg = TrainConfig {
//         d_model: 128, num_layers: 2,
//         vocab_size: 1024, batch_size: 4,
//         seq_len: 64, total_steps: 300,
//     };
//     train_cpu_only(cfg);
// }