The VM
vm-stack

The stack. An array and a pointer. Push, pop, peek.

var vm_stack: [256]i64 = [_]i64{0} ** 256;
var vm_sp: usize = 0;

fn vm_push(v: i64) void {
    vm_stack[vm_sp] = v;
    vm_sp += 1;
}

fn vm_pop() i64 {
    vm_sp -= 1;
    return vm_stack[vm_sp];
}