Module Kat.Ast
Expressions
type 'test bexp
=
|
True
|
False
|
Test of 'test
|
Disj of 'test bexp * 'test bexp
|
Conj of 'test bexp * 'test bexp
|
Neg of 'test bexp
Boolean expressions over primitive tests
'test
.
and ('act, 'test) exp
=
|
Assert of 'test bexp
|
Action of 'act
|
Union of ('act, 'test) exp * ('act, 'test) exp
|
Seq of ('act, 'test) exp * ('act, 'test) exp
|
Star of ('act, 'test) exp
KAT expressions over actions
'act
and primitive tests'test
.
val sexp_of_bexp : ('test -> Ppx_sexp_conv_lib.Sexp.t) -> 'test bexp -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_exp : ('act -> Ppx_sexp_conv_lib.Sexp.t) -> ('test -> Ppx_sexp_conv_lib.Sexp.t) -> ('act, 'test) exp -> Ppx_sexp_conv_lib.Sexp.t
val bexp_of_sexp : (Ppx_sexp_conv_lib.Sexp.t -> 'test) -> Ppx_sexp_conv_lib.Sexp.t -> 'test bexp
val exp_of_sexp : (Ppx_sexp_conv_lib.Sexp.t -> 'act) -> (Ppx_sexp_conv_lib.Sexp.t -> 'test) -> Ppx_sexp_conv_lib.Sexp.t -> ('act, 'test) exp
val compare_bexp : ('test -> 'test -> int) -> 'test bexp -> 'test bexp -> int
val compare_exp : ('act -> 'act -> int) -> ('test -> 'test -> int) -> ('act, 'test) exp -> ('act, 'test) exp -> int
val equal_bexp : ('test -> 'test -> bool) -> 'test bexp -> 'test bexp -> bool
val equal_exp : ('act -> 'act -> bool) -> ('test -> 'test -> bool) -> ('act, 'test) exp -> ('act, 'test) exp -> bool
val hash_fold_bexp : (Ppx_hash_lib.Std.Hash.state -> 'test -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> 'test bexp -> Ppx_hash_lib.Std.Hash.state
val hash_fold_exp : (Ppx_hash_lib.Std.Hash.state -> 'act -> Ppx_hash_lib.Std.Hash.state) -> (Ppx_hash_lib.Std.Hash.state -> 'test -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('act, 'test) exp -> Ppx_hash_lib.Std.Hash.state
module Nary : sig ... end
N-ary expressions (modulo associativity).