https://github.com/akkartik/mu1/blob/master/continuation2.mu
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
10 
11 
12 
13 
14 def main [
15   local-scope
16   l:&:list:num <- copy null
17   l <- push 3, l
18   l <- push 2, l
19   l <- push 1, l
20   k:continuation <- call-with-continuation-mark 100/mark, create-yielder, l
21   {
22     x:num, done?:bool <- call k
23     break-if done?
24     $print x 10/newline
25     loop
26   }
27 ]
28 
29 def create-yielder l:&:list:num -> n:num, done?:bool [
30   local-scope
31   load-inputs
32   return-continuation-until-mark 100/mark
33   done? <- equal l, null
34   return-if done?, 0/dummy
35   n <- first l
36   l <- rest l
37 ]