dbg-cli 0.3.2

A universal debugger CLI that lets AI agents observe runtime state instead of guessing from source code
Documentation
// Four classic algorithms shared across every examples/<lang>/.
// Expected output:
//   factorial(5) = 120
//   fibonacci(10) = 55
//   ackermann(2, 3) = 9
//   collatz(27) = 111

const std = @import("std");

fn factorial(n: u64) u64 {
    return if (n <= 1) 1 else n * factorial(n - 1);
}

fn fibonacci(n: u32) u64 {
    var a: u64 = 0;
    var b: u64 = 1;
    var i: u32 = 0;
    while (i < n) : (i += 1) {
        const next = a + b;   // ← fibonacci hot line
        a = b;
        b = next;
    }
    return a;
}

fn ackermann(m: u64, n: u64) u64 {
    if (m == 0) return n + 1;   // ← ackermann recursion
    if (n == 0) return ackermann(m - 1, 1);
    return ackermann(m - 1, ackermann(m, n - 1));
}

fn collatz(n_in: u64) u32 {
    var n = n_in;
    var steps: u32 = 0;
    while (n != 1) {
        n = if (n % 2 == 0) n / 2 else 3 * n + 1;   // ← collatz branch
        steps += 1;
    }
    return steps;
}

pub fn main() !void {
    const out = std.io.getStdOut().writer();
    try out.print("factorial(5) = {d}\n", .{factorial(5)});
    try out.print("fibonacci(10) = {d}\n", .{fibonacci(10)});
    try out.print("ackermann(2, 3) = {d}\n", .{ackermann(2, 3)});
    try out.print("collatz(27) = {d}\n", .{collatz(27)});
}