Checked_intf.Extended
module Types : Types.Types
type 'a t = ( 'a, field ) Types.Checked.t
include S
with module Types := Types
with type 'f field := field
and type ('a, 'f) t := ( 'a, 'f ) Types.Checked.t
include Monad_let.S2 with type ('a, 'f) t := ( 'a, 'f ) Types.Checked.t
include Monad_let.S_without_syntax2
with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.t
include Core_kernel.Monad.Infix2
with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.t
val (>>=) :
( 'a, 'e ) Types.Checked.t ->
( 'a -> ( 'b, 'e ) Types.Checked.t ) ->
( 'b, 'e ) Types.Checked.t
val (>>|) :
( 'a, 'e ) Types.Checked.t ->
( 'a -> 'b ) ->
( 'b, 'e ) Types.Checked.t
val bind :
( 'a, 'e ) Types.Checked.t ->
f:( 'a -> ( 'b, 'e ) Types.Checked.t ) ->
( 'b, 'e ) Types.Checked.t
val return : 'a -> ( 'a, _ ) Types.Checked.t
val map :
( 'a, 'e ) Types.Checked.t ->
f:( 'a -> 'b ) ->
( 'b, 'e ) Types.Checked.t
val join :
( ( 'a, 'e ) Types.Checked.t, 'e ) Types.Checked.t ->
( 'a, 'e ) Types.Checked.t
val ignore_m : ( _, 'e ) Types.Checked.t -> ( unit, 'e ) Types.Checked.t
val all : ( 'a, 'e ) Types.Checked.t list -> ( 'a list, 'e ) Types.Checked.t
val all_unit :
( unit, 'e ) Types.Checked.t list ->
( unit, 'e ) Types.Checked.t
module Let_syntax : sig ... end
val as_prover :
( unit, field ) Types.As_prover.t ->
( unit, field ) Types.Checked.t
val mk_lazy :
( unit -> ( 'a, 'f ) Types.Checked.t ) ->
( 'a Stdlib.Lazy.t, 'f ) Types.Checked.t
val request_witness :
( 'var, 'value, field ) Types.Typ.t ->
( 'value Request.t, field ) Types.As_prover.t ->
( 'var, field ) Types.Checked.t
val request :
?such_that:( 'var -> ( unit, field ) Types.Checked.t ) ->
( 'var, 'value, field ) Types.Typ.t ->
'value Request.t ->
( 'var, field ) Types.Checked.t
val exists_handle :
?request:( 'value Request.t, field ) Types.As_prover.t ->
?compute:( 'value, field ) Types.As_prover.t ->
( 'var, 'value, field ) Types.Typ.t ->
( ( 'var, 'value ) Handle.t, field ) Types.Checked.t
val exists :
?request:( 'value Request.t, field ) Types.As_prover.t ->
?compute:( 'value, field ) Types.As_prover.t ->
( 'var, 'value, field ) Types.Typ.t ->
( 'var, field ) Types.Checked.t
type response = Request.response
val unhandled : response
type request = Request.request =
| With : {
} -> request |
val handle :
( unit -> ( 'a, field ) Types.Checked.t ) ->
( request -> response ) ->
( 'a, field ) Types.Checked.t
val handle_as_prover :
( unit -> ( 'a, field ) Types.Checked.t ) ->
( request -> response, field ) Types.As_prover.t ->
( 'a, field ) Types.Checked.t
val next_auxiliary : unit -> ( int, field ) Types.Checked.t
val with_label :
string ->
( unit -> ( 'a, field ) Types.Checked.t ) ->
( 'a, field ) Types.Checked.t
val assert_ :
?label:Base.string ->
( field Cvar.t, field ) Constraint.t ->
( unit, field ) Types.Checked.t
val assert_all :
?label:Base.string ->
( field Cvar.t, field ) Constraint.t list ->
( unit, field ) Types.Checked.t
val direct :
( field Run_state.t -> field Run_state.t * 'a ) ->
( 'a, field ) Types.Checked.t
val constraint_count :
?weight:( ( field Cvar.t, field ) Constraint.t -> int ) ->
?log:( ?start:bool -> string -> int -> unit ) ->
( unit -> ( 'a, field ) Types.Checked.t ) ->
int
val run : 'a t -> field Run_state.t -> field Run_state.t * 'a