Module Sarek_interpreter.Interpreter_plugin

module Interpreter_base : sig ... end

Reuse the existing Interpreter implementation

Extend Framework_sig.kargs with Interpreter-specific variant

type interp_intrinsic = {
  1. intr_name : string;
  2. intr_eval : Sarek.Sarek_ir_interp.value list -> Sarek.Sarek_ir_interp.value;
  3. intr_convergence : Spoc_framework.Framework_sig.convergence;
}

Interpreter-specific intrinsic implementation

Intrinsic registry for Interpreter-specific intrinsics

Interpreter Backend - implements BACKEND

Run IR directly without going through execute_direct.

val registered_backend : unit lazy_t

Auto-register backend when module is loaded

val init : unit -> unit
val register_intrinsic : string -> Interpreter_intrinsics.intrinsic_impl -> unit

Register a custom interpreter intrinsic

val find_intrinsic : string -> Interpreter_intrinsics.intrinsic_impl option

Look up an interpreter intrinsic