Bulk.Outcome
module type S = sig ... end
This is stupid, outcome is actually the interpreter. Doesn't really make sense, this should be changed.
module Make
(ValP : Gillian.General.Val.S)
(ESubstP :
Gillian.General.ESubst.S with type vt = ValP.t and type t = ValP.et)
(StoreP : Gillian.General.Store.S with type vt = ValP.t)
(StateP : sig ... end)
(PC :
Gillian.Command_line.ParserAndCompiler.S
with type init_data = StateP.init_data)
(ExternalP : Engine.External.T(PC.Annot).S) :
S
with module Val = ValP
and module ESubst = ESubstP
and module Store = StoreP
and module State = StateP
and module ParserAndCompiler = PC
and module External = ExternalP
module Make_Concrete
(CMemory : Gillian.Concrete.Memory_S)
(PC : sig ... end)
(ExternalP : Engine.External.T(PC.Annot).S) :
sig ... end
module Make_Symbolic
(SMemory : Engine.SMemory.S)
(PC : sig ... end)
(ExternalP : Engine.External.T(PC.Annot).S) :
sig ... end