fix other mandelbrot variants
[mu.git] / archive / 1.vm / continuation1.mu
blob8276e188436025ccfbc77cec24199b74f4985cd3
1 # Example program showing that 'return-continuation-until-mark' can 'pause' a
2 # function call, returning a continuation, and that calling the continuation
3 # can 'resume' the paused function call.
5 # To run:
6 #   $ git clone https://github.com/akkartik/mu
7 #   $ cd mu
8 #   $ ./mu continuation1.mu
10 # Expected output:
11 #   1
13 def main [
14   local-scope
15   k:continuation <- call-with-continuation-mark 100/mark, create-yielder
16   x:num <- call k  # should return 1
17   $print x 10/newline
20 def create-yielder -> n:num [
21   local-scope
22   load-inputs
23   return-continuation-until-mark 100/mark
24   return 1