Boolean primops
Sourceval prim_eq_bool : bool -> bool -> bool Sourceval prim_ne_bool : bool -> bool -> bool Sourceval prim_and_bool : bool -> bool -> bool Sourceval prim_or_bool : bool -> bool -> bool Sourceval prim_equiv_bool : bool -> bool -> bool Sourceval prim_not_bool : bool -> bool Integer primops
Real primops
Bitvector primops
Invariants:
- the bigint part of a bitvector is positive
- the bigint part of an N-bit bitvector is less than 2^N
Mask primops
Exception primops
Sourcetype exc = | Exc_ConstrainedUnpredictable| Exc_ExceptionTaken| Exc_ImpDefined of string| Exc_SEE of string| Exc_Undefined| Exc_Unpredictable
Sourceval prim_is_undefined_exc : exc -> bool String primops
Sourceval prim_eq_str : string -> string -> bool Sourceval prim_ne_str : string -> string -> bool Sourceval prim_append_str : string -> string -> string Sourceval prim_cvt_bool_str : bool -> string Immutable Array type
Mutable RAM type
RAM is implemented as a paged data structure and pages are allocated on demand and initialized with a specified default value.
File primops
These are not part of the official ASL language but they are useful when implementing the infrastructure needed in simulators.
Sourceval prim_print_str : string -> unit Trace primops
These are not part of the official ASL language but they are useful when implementing the infrastructure needed in simulators.
Sourceval prim_trace_event : string -> unit