Module Typ.Internal

Typ.ts that make it easier to write a Typ.t for a mix of R1CS data and normal OCaml data.

Using this module is not recommended.

val snarkless : 'a -> ( 'a, 'a ) t

A do-nothing Typ.t that returns the input value for all modes. This may be used to convert objects from the Checked world into and through As_prover blocks.

This is the dual of ref, which allows OCaml values from As_prover blocks to pass through the Checked world.

Note: Reading or writing using this Typ.t will assert that the argument and the value stored are physically equal -- ie. that they refer to the same object.

val ref : unit -> ( 'a As_prover.Ref.t, 'a ) t

A Typ.t for marshalling OCaml values generated in As_prover blocks, while keeping them opaque to the Checked world.

This is the dual of snarkless, which allows OCaml values from the Checked world to pass through As_prover blocks.