
23 Feb
2008
23 Feb
'08
2:35 p.m.
On Sat, Feb 23, 2008 at 1:05 AM,
Adding control effects (shift/reset) changes the expressivity results. Now all three calculi are distinct and none subsumes the other. For example, the expression reset( (\x -> 1) (abort 2)) evaluates to 1 in call-by-name and evaluate to 2 in call-by-value. The expression reset ((\x -> x + x) (shift f f)) has the type int->int in call-by-need (it is a function \x -> x + x) and it has the type int->int->int in call-by-name (and it is the curried addition function).
Aha. Okay, so shift/reset exposes evaluation order, amongst other
things. Hm... thank you very much!
--
Taral