Ausdrücke (mit Nebenwirkungen):
date Exp = ... | New Exp | Get Exp | Put Exp Exp
Resultattyp des Interpreters ändern:
value :: Env -> Exp -> Val evaluate :: Env -> Exp -> Action Val
semantischen Bereich erweitern:
data Val = ... | ValAddr Addr | ValFun ( Val -> Action Val )
Aufruf des Interpreters:
run Store.empty $ evaluate undefined $ ...