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