diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2017-11-25 10:17:23 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2017-11-25 10:17:23 -0800 |
commit | ef7d834fdd826977cd8d43253052a7b8e1c5aa72 (patch) | |
tree | 10dd1033929c840a65234acd85592de61613df1a /html/continuation3.mu.html | |
parent | fa76b0b589d6483a20049cc33220c27bb5413a1c (diff) | |
download | mu-ef7d834fdd826977cd8d43253052a7b8e1c5aa72.tar.gz |
4133
Diffstat (limited to 'html/continuation3.mu.html')
-rw-r--r-- | html/continuation3.mu.html | 57 |
1 files changed, 31 insertions, 26 deletions
diff --git a/html/continuation3.mu.html b/html/continuation3.mu.html index e9a9a309..318d01b3 100644 --- a/html/continuation3.mu.html +++ b/html/continuation3.mu.html @@ -58,32 +58,37 @@ if ('onhashchange' in window) { <span id="L1" class="LineNr"> 1 </span><span class="Comment"># Example program showing that a function call can be 'paused' multiple times,</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment"># creating different continuation values.</span> <span id="L3" class="LineNr"> 3 </span><span class="Comment">#</span> -<span id="L4" class="LineNr"> 4 </span><span class="Comment"># Expected output:</span> -<span id="L5" class="LineNr"> 5 </span><span class="Comment"># caller 0</span> -<span id="L6" class="LineNr"> 6 </span><span class="Comment"># callee 0</span> -<span id="L7" class="LineNr"> 7 </span><span class="Comment"># caller 1</span> -<span id="L8" class="LineNr"> 8 </span><span class="Comment"># callee 1</span> -<span id="L9" class="LineNr"> 9 </span><span class="Comment"># caller 2</span> -<span id="L10" class="LineNr">10 </span><span class="Comment"># callee 2</span> -<span id="L11" class="LineNr">11 </span> -<span id="L12" class="LineNr">12 </span><span class="muRecipe">def</span> <a href='continuation3.mu.html#L12'>main</a> [ -<span id="L13" class="LineNr">13 </span> <span class="Constant">local-scope</span> -<span id="L14" class="LineNr">14 </span> $print <span class="Constant">[caller 0]</span> <span class="Constant">10/newline</span> -<span id="L15" class="LineNr">15 </span> k:continuation <span class="Special"><-</span> call-with-continuation-mark <a href='continuation3.mu.html#L22'>f</a> -<span id="L16" class="LineNr">16 </span> $print <span class="Constant">[caller 1]</span> <span class="Constant">10/newline</span> -<span id="L17" class="LineNr">17 </span> k <span class="Special"><-</span> call k -<span id="L18" class="LineNr">18 </span> $print <span class="Constant">[caller 2]</span> <span class="Constant">10/newline</span> -<span id="L19" class="LineNr">19 </span> call k -<span id="L20" class="LineNr">20 </span>] -<span id="L21" class="LineNr">21 </span> -<span id="L22" class="LineNr">22 </span><span class="muRecipe">def</span> <a href='continuation3.mu.html#L22'>f</a> [ -<span id="L23" class="LineNr">23 </span> <span class="Constant">local-scope</span> -<span id="L24" class="LineNr">24 </span> $print <span class="Constant">[callee 0]</span> <span class="Constant">10/newline</span> -<span id="L25" class="LineNr">25 </span> return-continuation-until-mark -<span id="L26" class="LineNr">26 </span> $print <span class="Constant">[callee 1]</span> <span class="Constant">10/newline</span> -<span id="L27" class="LineNr">27 </span> return-continuation-until-mark -<span id="L28" class="LineNr">28 </span> $print <span class="Constant">[callee 2]</span> <span class="Constant">10/newline</span> -<span id="L29" class="LineNr">29 </span>] +<span id="L4" class="LineNr"> 4 </span><span class="Comment"># To run:</span> +<span id="L5" class="LineNr"> 5 </span><span class="Comment"># $ git clone <a href="https://github.com/akkartik/mu">https://github.com/akkartik/mu</a></span> +<span id="L6" class="LineNr"> 6 </span><span class="Comment"># $ cd mu</span> +<span id="L7" class="LineNr"> 7 </span><span class="Comment"># $ ./mu continuation3.mu</span> +<span id="L8" class="LineNr"> 8 </span><span class="Comment">#</span> +<span id="L9" class="LineNr"> 9 </span><span class="Comment"># Expected output:</span> +<span id="L10" class="LineNr">10 </span><span class="Comment"># caller 0</span> +<span id="L11" class="LineNr">11 </span><span class="Comment"># callee 0</span> +<span id="L12" class="LineNr">12 </span><span class="Comment"># caller 1</span> +<span id="L13" class="LineNr">13 </span><span class="Comment"># callee 1</span> +<span id="L14" class="LineNr">14 </span><span class="Comment"># caller 2</span> +<span id="L15" class="LineNr">15 </span><span class="Comment"># callee 2</span> +<span id="L16" class="LineNr">16 </span> +<span id="L17" class="LineNr">17 </span><span class="muRecipe">def</span> <a href='continuation3.mu.html#L17'>main</a> [ +<span id="L18" class="LineNr">18 </span> <span class="Constant">local-scope</span> +<span id="L19" class="LineNr">19 </span> $print <span class="Constant">[caller 0]</span> <span class="Constant">10/newline</span> +<span id="L20" class="LineNr">20 </span> k:continuation <span class="Special"><-</span> call-with-continuation-mark <a href='continuation3.mu.html#L27'>f</a> +<span id="L21" class="LineNr">21 </span> $print <span class="Constant">[caller 1]</span> <span class="Constant">10/newline</span> +<span id="L22" class="LineNr">22 </span> k <span class="Special"><-</span> call k +<span id="L23" class="LineNr">23 </span> $print <span class="Constant">[caller 2]</span> <span class="Constant">10/newline</span> +<span id="L24" class="LineNr">24 </span> call k +<span id="L25" class="LineNr">25 </span>] +<span id="L26" class="LineNr">26 </span> +<span id="L27" class="LineNr">27 </span><span class="muRecipe">def</span> <a href='continuation3.mu.html#L27'>f</a> [ +<span id="L28" class="LineNr">28 </span> <span class="Constant">local-scope</span> +<span id="L29" class="LineNr">29 </span> $print <span class="Constant">[callee 0]</span> <span class="Constant">10/newline</span> +<span id="L30" class="LineNr">30 </span> return-continuation-until-mark +<span id="L31" class="LineNr">31 </span> $print <span class="Constant">[callee 1]</span> <span class="Constant">10/newline</span> +<span id="L32" class="LineNr">32 </span> return-continuation-until-mark +<span id="L33" class="LineNr">33 </span> $print <span class="Constant">[callee 2]</span> <span class="Constant">10/newline</span> +<span id="L34" class="LineNr">34 </span>] </pre> </body> </html> |