| Simulation of other Paradigms and Continuations - slide 15 : 43 |
| Imperative | Functional - Scheme |
Begin
L1: if B1 then goto L2;
S1;
if B2 then goto L2;
S2;
goto L1;
L2: S3;
End | |
/* Rewritten - equivalent */
Begin
L1: if B1
then goto L2;
else begin
S1;
if B2
then goto L2;
else begin
S2;
goto L1;
end
end
L2: S3;
End | (letrec ((L1 (lambda ()
(if B1
(L2)
(begin
S1
(if B2
(L2)
(begin
S2
(L1)))))))
(L2 (lambda ()
S3)))
(L1)) |
#include |