A micro execution framework
constraint 'a = Bap.Std.Expi.context
method empty :

creates an empty storage. If you want to provide your own implementation of storage, then it is definitely the right place.

method lookup : Bap.Std.var -> 'a Bap.Std.Expi.r

a variable is looked up in a context

a variable is bind to a value.

a byte is loaded from a given address

a byte is stored to a a given address

Error conditions

method type_error : Bap.Std.type_error -> 'a Bap.Std.Expi.r

a given typing error has occurred

method division_by_zero : unit -> 'a Bap.Std.Expi.r

we can't do this!

method undefined_addr : Bap.Std.addr -> 'a Bap.Std.Expi.r

called when storage doesn't contain the addr

method undefined_var : Bap.Std.var -> 'a Bap.Std.Expi.r

called when context doesn't know the variable