Compilation of Match
This goes from syntactic terms to internal Term.t, using case rather than partial operations or operations that do not have a strict OCaml equivalent. Terms obtained this way should be printable back into OCaml.
type term = Imandra_surface.Term.ttype syn_term = Imandra_surface.Term.Syn.ttype pattern = Imandra_surface.Term.Syn.patternval compile_top_let :
loc:Imandra_util.Iloc.t ->
pattern ->
term ->
term Imandra_surface.Term.binding listCompile a toplevel let pat = expr into a list of variable bindings
val compile :
loc:Imandra_util.Iloc.t ->
syn_term ->
term * (Imandra_surface.Term.t * Imandra_surface.As_trigger.t) listTurn a syntactic term into a term, by compiling all pattern matching away