Module type Clause_syntax.S

type ast
type t
val create_list : ast Ppx_quickcheck_expander__.Import.list -> t Ppx_quickcheck_expander__.Import.list
val salt : t -> Ppx_quickcheck_expander__.Import.int Ppx_quickcheck_expander__.Import.option

Add to hash state via hash_fold_int to signify what clause we're in. None for inherited polymorphic variant clauses, since their observers will have salt for concrete tags.

val location : t -> Ppx_quickcheck_expander__.Import.location

location of the clause's definition

val weight : t -> Ppx_quickcheck_expander__.Import.expression

weight of the clause relative to other clauses in the generator distribution

val core_type_list : t -> Ppx_quickcheck_expander__.Import.core_type Ppx_quickcheck_expander__.Import.list

types of the clause's arguments

val pattern : t -> loc:Ppx_quickcheck_expander__.Import.location -> Ppx_quickcheck_expander__.Import.pattern Ppx_quickcheck_expander__.Import.list -> Ppx_quickcheck_expander__.Import.pattern

constructing a pattern to match the clause

val expression : t -> loc:Ppx_quickcheck_expander__.Import.location -> Ppx_quickcheck_expander__.Import.core_type -> Ppx_quickcheck_expander__.Import.expression Ppx_quickcheck_expander__.Import.list -> Ppx_quickcheck_expander__.Import.expression

constructing an expression to create an instance of the clause