Module Core.Conversion

The purpose of this module is to check whether two well-typed objects are equal or not. The semantics are that all definitions are unfolded.

module D = CodeUnit.Domain

Assertions

val equate_tp : D.tp -> D.tp -> unit Monads.conversion

Assert that two well-formed semantic types are equal.

val equate_con : D.tp -> D.con -> D.con -> unit Monads.conversion

Assert that two well-typed semantic elements of a well-formed semantic type are equal.

Error handling

module Error : sig ... end
exception ConversionError of Error.t