This PR makes the Checked.t type abstract in Snark_intf.
This will allow us to swap out the implementation of Checked.t for some other one (e.g. snarky.rs) without any changes on the Mina side.
This PR also updates ppx_snarky, adding the ability to expose paths on the %snarkydef and %with_label annotations, to direct them at the appropriate module if required.
Note that this leaves the type of check in the Typ.t as Checked_ast.t, because it was surprisingly annoying to make it work on the Mina side. Instead, this PR introduces make_checked_ast and run_checked_ast functions, which allow converting between the types and the AST type.
This PR makes the
Checked.t
type abstract inSnark_intf
.This will allow us to swap out the implementation of
Checked.t
for some other one (e.g. snarky.rs) without any changes on the Mina side.This PR also updates ppx_snarky, adding the ability to expose paths on the
%snarkydef
and%with_label
annotations, to direct them at the appropriate module if required.Note that this leaves the type of
check
in theTyp.t
asChecked_ast.t
, because it was surprisingly annoying to make it work on the Mina side. Instead, this PR introducesmake_checked_ast
andrun_checked_ast
functions, which allow converting between the types and the AST type.