?
Unknown Status unknown.
Code
// Test: std/runtime:eval uses scope lookup and parsed AST
~import std/runtime
~import std/io
const std = @import("std");
~pub tor greet { name: string }
| greeted string
~proc greet|zig {
const msg = std.fmt.allocPrint(std.heap.page_allocator, "Hello, {s}!", .{name}) catch "Hello!";
return .{ .greeted = msg };
}
~std/runtime:register(scope: "api") {
greet(1)
}
const TEST_SOURCE = "greet(name: \"World\")";
~std/runtime:parse.source(source: TEST_SOURCE, file_name: "runtime_eval.kz", allocator: std.heap.page_allocator)
| parsed p |> std/runtime:eval(ast: p, scope: "api")
| result _ |> std/io:print.ln("OK")
| event-denied _ |> std/io:print.ln("EVENT DENIED")
| exhausted _ |> std/io:print.ln("EXHAUSTED")
| validation-error _ |> std/io:print.ln("VALIDATION ERROR")
| dispatch-error _ |> std/io:print.ln("DISPATCH ERROR")
| scope-not-found _ |> std/io:print.ln("SCOPE NOT FOUND")
| parse-error _ |> std/io:print.ln("PARSE ERROR")
Flows
flow ~register click a branch to expand · @labels scroll to their anchor
register (scope: "api", source: greet(1))
flow ~parse.source click a branch to expand · @labels scroll to their anchor
parse.source (source: TEST_SOURCE, file_name: "runtime_eval.kz", allocator: std.heap.page_allocator)
Test Configuration
MUST_RUN