Skip to main content

compile

Function compile 

Source
pub fn compile(expr: &TLExpr) -> Result<BytecodeProgram, CompileError>
Expand description

Compile a TLExpr to a BytecodeProgram.

The final instruction appended is always Instruction::Halt.

ยงErrors

Returns CompileError::UnsupportedExpr when the expression tree contains variants that cannot be translated to bytecode (e.g. quantifiers, modal operators, lambda abstractions).

Returns CompileError::MaxDepthExceeded if the default depth limit (DEFAULT_MAX_DEPTH) is surpassed.