Companion code for paper "Imperative Functional Programs that Explain their Work", Wilmer Ricciotti, Jan Stolarek, Roly Perera and James Cheney, ICFP 2017, Oxford, UK
For Env we either need to make it specialized to a Value (which requires moving all the definitions to Core module to avoid cycle) or create a type class with function isException :: a -> Bool. For now there will be just one instance for this class, namely for Value, but we can extend in the future. I'm leaning towards type-class solution.
Done for store.
For
Env
we either need to make it specialized to aValue
(which requires moving all the definitions toCore
module to avoid cycle) or create a type class with functionisException :: a -> Bool
. For now there will be just one instance for this class, namely forValue
, but we can extend in the future. I'm leaning towards type-class solution.