Skip to main content

program_to_core_wire_bytes

Function program_to_core_wire_bytes 

Source
pub fn program_to_core_wire_bytes(program: &str) -> Result<Vec<u8>, String>
Expand description

Serialize a program’s Core-IR CProgram (a CProg with its functions and main block) to the plain wire form — the bytes a compile-once native partial evaluator reads on stdin. FAST PATH: [program_to_core] on [WireSink] emits the wire bytes in ONE pass straight from the AST — no intermediate RuntimeValue tree and no second encode_value_raw walk (byte-for-byte identical to the old two-pass form; locked by native_builder_is_byte_identical_to_the_interpreter). FALLBACK: for a construct the native builder does not cover, run the constructor source on the tree-walker (wireBytes). Both are decoded identically by the native binary’s generated CProgram::wire_decode.