Snarky_backendless.Checked_astmodule Checked0 : sig ... endinclude module type of struct include Checked0 endtype ('a, 'f) t = ( 'a, 'f ) Checked0.t = | Pure : 'a -> ( 'a, 'f ) t |
| Direct : ( 'f Run_state.t ->
'f Run_state.t * 'a )
* ( 'a ->
( 'b, 'f ) t ) -> ( 'b, 'f ) t |
| Add_constraint : ( 'f Cvar.t, 'f ) Constraint.t * ( 'a, 'f ) t -> ( 'a, 'f ) t |
| As_prover : ( unit, 'f ) Types.As_prover.t * ( 'a, 'f ) t -> ( 'a, 'f ) t |
| Lazy : ( 'a, 'f ) t * ( 'a Core_kernel.Lazy.t -> ( 'b, 'f ) t ) -> ( 'b, 'f ) t |
| With_label : string * ( 'a, 'f ) t * ( 'a -> ( 'b, 'f ) t ) -> ( 'b, 'f ) t |
| With_handler : Request.Handler.single
* ( 'a, 'f ) t
* ( 'a ->
( 'b, 'f ) t ) -> ( 'b, 'f ) t |
| Exists : ( 'var, 'value, 'f, ( unit, 'f ) t ) Types.Typ.t
* ( ( 'value Request.t, 'f ) Types.As_prover.t,
( 'value, 'f ) Types.As_prover.t )
Types.Provider.t
* ( ( 'var, 'value ) Handle.t ->
( 'a, 'f ) t ) -> ( 'a, 'f ) t |
| Next_auxiliary : ( int -> ( 'a, 'f ) t ) -> ( 'a, 'f ) t |
The type ('ret, 'field, 'runner_state) t represents a checked computation, where
'ret is the return type of the computation'field is the type of the field elements.module T0 : sig ... endMonad instance for Types.Checked.t.
module Types : sig ... endmodule Basic :
Checked_intf.Basic with module Types = Types with type 'f field = 'fmodule T : sig ... endinclude module type of struct include T endinclude Checked_intf.S
with module Types := Types
with type ('a, 'f) t := ( 'a, 'f ) Types.Checked.t
and type 'f field = 'finclude Monad_let.S2 with type ('a, 'f) t := ( 'a, 'f ) Types.Checked.tinclude Monad_let.S_without_syntax2
with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.tinclude Core_kernel.Monad.Infix2
with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.tval (>>=) :
( 'a, 'e ) Types.Checked.t ->
( 'a -> ( 'b, 'e ) Types.Checked.t ) ->
( 'b, 'e ) Types.Checked.tval (>>|) :
( 'a, 'e ) Types.Checked.t ->
( 'a -> 'b ) ->
( 'b, 'e ) Types.Checked.tmodule Monad_infix = T.Monad_infixval bind :
( 'a, 'e ) Types.Checked.t ->
f:( 'a -> ( 'b, 'e ) Types.Checked.t ) ->
( 'b, 'e ) Types.Checked.tval return : 'a -> ( 'a, _ ) Types.Checked.tval map :
( 'a, 'e ) Types.Checked.t ->
f:( 'a -> 'b ) ->
( 'b, 'e ) Types.Checked.tval join :
( ( 'a, 'e ) Types.Checked.t, 'e ) Types.Checked.t ->
( 'a, 'e ) Types.Checked.tval ignore_m : ( _, 'e ) Types.Checked.t -> ( unit, 'e ) Types.Checked.tval all : ( 'a, 'e ) Types.Checked.t list -> ( 'a list, 'e ) Types.Checked.tval all_unit :
( unit, 'e ) Types.Checked.t list ->
( unit, 'e ) Types.Checked.tmodule Let_syntax = T.Let_syntaxval as_prover :
( unit, 'f field ) Types.As_prover.t ->
( unit, 'f field ) Types.Checked.tval mk_lazy :
( unit -> ( 'a, 'f ) Types.Checked.t ) ->
( 'a Stdlib.Lazy.t, 'f ) Types.Checked.tval request_witness :
( 'var, 'value, 'f field ) Types.Typ.t ->
( 'value Request.t, 'f field ) Types.As_prover.t ->
( 'var, 'f field ) Types.Checked.tval request :
?such_that:( 'var -> ( unit, 'f field ) Types.Checked.t ) ->
( 'var, 'value, 'f field ) Types.Typ.t ->
'value Request.t ->
( 'var, 'f field ) Types.Checked.tval exists_handle :
?request:( 'value Request.t, 'f field ) Types.As_prover.t ->
?compute:( 'value, 'f field ) Types.As_prover.t ->
( 'var, 'value, 'f field ) Types.Typ.t ->
( ( 'var, 'value ) Handle.t, 'f field ) Types.Checked.tval exists :
?request:( 'value Request.t, 'f field ) Types.As_prover.t ->
?compute:( 'value, 'f field ) Types.As_prover.t ->
( 'var, 'value, 'f field ) Types.Typ.t ->
( 'var, 'f field ) Types.Checked.ttype response = Request.responseval unhandled : responsetype request = Request.request = | With : {
} -> request |
val handle :
( unit -> ( 'a, 'f field ) Types.Checked.t ) ->
( request -> response ) ->
( 'a, 'f field ) Types.Checked.tval handle_as_prover :
( unit -> ( 'a, 'f field ) Types.Checked.t ) ->
( request -> response, 'f field ) Types.As_prover.t ->
( 'a, 'f field ) Types.Checked.tval next_auxiliary : unit -> ( int, 'f field ) Types.Checked.tval with_label :
string ->
( unit -> ( 'a, 'f field ) Types.Checked.t ) ->
( 'a, 'f field ) Types.Checked.tval assert_ :
?label:Base.string ->
( 'f field Cvar.t, 'f field ) Constraint.t ->
( unit, 'f field ) Types.Checked.tval assert_all :
?label:Base.string ->
( 'f field Cvar.t, 'f field ) Constraint.t list ->
( unit, 'f field ) Types.Checked.tval direct :
( 'f field Run_state.t -> 'f field Run_state.t * 'a ) ->
( 'a, 'f field ) Types.Checked.tval constraint_count :
?weight:( ( 'f field Cvar.t, 'f field ) Constraint.t -> int ) ->
?log:( ?start:bool -> string -> int -> unit ) ->
( unit -> ( 'a, 'f field ) Types.Checked.t ) ->
int