Slide 19
Slide 19 text
Eval
monad
caveats
–
GC’d
sparks
• But,
running
the
buggy
implementa@on
gives
• This
is
because
the
run@me
automa@cally
discards
unreferenced
sparks
SPARKS:
1000
(2
converted,
0
overflowed,
0
dud,
998
GC’d,
0
fizzled)
do
…
rpar
(f
x)
…
do
…
y
<-‐
rpar
(f
x)
…
y
…
do
…
rpar
y
…
Wrong!
Correct
Might
be
OK,
As
long
as
y
is
required
by
the
program
somewhere