-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
Description
Currently, at the level of our core lattices (IntLattice, StringLattice, …), failures (such as dividing by zero, sqrt’ing a negative number, etc.) are not dealt with. It the best case, they are ignored (e.g., when the index in stringRef is actually out of range); in the worst case, they can lead to Scala NaNs (dangerous!) or Scala exceptions.
We can use the existing MayFail monad to include such potential errors as the result of an operation in these core lattices (as is already done at higher levels in SchemeLattice and in the implementation of Scheme primitives).