Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
The semantics of programs.
The semantics of a program is denoted with effects that this program produces, so effectively Program.Semantics = Effect
, but we reexport it in a separate module here, to separate the concerns.
type cls = Effect.cls
type t = unit Effect.t
val cls : (cls, unit Effect.sort) Bap_knowledge.Knowledge.cls
the class of program semantics values.
val slot : (program, t) Bap_knowledge.Knowledge.slot
the slot to store program semantics.
include Bap_knowledge.Knowledge.Value.S with type t := t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val empty : t
val domain : t Bap_knowledge.Knowledge.domain
include Base.Comparable.S with type t := t
val comparator : (t, comparator_witness) Base__.Comparator.comparator
include Core_kernel.Binable.S with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t