Programmablauf-Abstraktion durch Continuations:
Definition:
with_int :: Val -> (Int -> Val) -> Val with_int v k = case v of ValInt i -> k i _ -> ValErr "expected ValInt"
Benutzung:
value env x = case x of Plus l r -> with_int ( value env l ) $ \ i -> with_int ( value env r ) $ \ j -> ValInt ( i + j )
Aufgabe: if/then/else mit with_bool