about summary refs log tree commit diff stats
path: root/html/shell/data.limg.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/shell/data.limg.html')
-rw-r--r--html/shell/data.limg.html250
1 files changed, 250 insertions, 0 deletions
diff --git a/html/shell/data.limg.html b/html/shell/data.limg.html
new file mode 100644
index 00000000..2edb80d4
--- /dev/null
+++ b/html/shell/data.limg.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>~/play/mu/shell/data.limg.html</title>
+<meta name="Generator" content="Vim/8.1">
+<meta name="plugin-version" content="vim8.1_v1">
+<meta name="syntax" content="none">
+<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=">
+<meta name="colorscheme" content="minimal-dark">
+<style type="text/css">
+<!--
+pre { white-space: pre-wrap; font-family: monospace; color: #8a8a8a; background-color: #a8a8a8; }
+body { font-family: monospace; color: #8a8a8a; background-color: #a8a8a8; }
+* { font-size: 1em; }
+.muLispOuterKeyword { color: #d70000; }
+.muLispNormal { color: #000000; }
+.Constant { color: #008787; }
+.Delimiter { color: #c000c0; }
+.Comment { color: #005faf; }
+.Normal { color: #8a8a8a; background-color: #a8a8a8; padding-bottom: 1px; }
+.muLispKeyword { color: #008700; }
+-->
+</style>
+</head>
+<body>
+<pre id='vimCodeElement'>
+(
+  (<span class="muLispOuterKeyword">globals</span> . (
+    (<span class="muLispKeyword">mac</span> . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispNormal">define </span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">litmac litfn </span><span class="Delimiter">()</span><span class="muLispNormal"> </span><span class="Delimiter">((</span><span class="muLispNormal">name . params</span><span class="Delimiter">)</span><span class="muLispNormal"> . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispNormal">define </span><span class="Delimiter">,</span><span class="muLispNormal">name </span><span class="Delimiter">(</span><span class="muLispNormal">litmac litfn </span><span class="Delimiter">()</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">params </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (<span class="muLispKeyword">def</span> . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">name . params</span><span class="Delimiter">)</span><span class="muLispNormal"> . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispNormal">define </span><span class="Delimiter">,</span><span class="muLispNormal">name </span><span class="Delimiter">(</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">params </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (do . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">do . body</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">`((</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> </span><span class="Delimiter">()</span><span class="muLispNormal"> </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (<span class="muLispKeyword">let</span> . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> var val . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`((</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> </span><span class="Delimiter">(,</span><span class="muLispNormal">var</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">val</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (when . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">when cond . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">cond </span><span class="Delimiter">(</span><span class="muLispNormal">do </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">()))</span><span class="Normal">]</span>)
+    (iflet . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">iflet var expr then else</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">expr</span>
+<span class="muLispNormal">     </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">then </span><span class="Delimiter">,</span><span class="muLispNormal">else</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (aif . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">aif expr then else</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispNormal">iflet it </span><span class="Delimiter">,</span><span class="muLispNormal">expr </span><span class="Delimiter">,</span><span class="muLispNormal">then </span><span class="Delimiter">,</span><span class="muLispNormal">else</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (list . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">list . args</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Comment"># we should probably make a copy here</span>
+<span class="muLispNormal">  args</span><span class="Delimiter">)</span><span class="Normal">]</span>)
+    (len . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">len l</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no l</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Constant">0</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Constant">1</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">len </span><span class="Delimiter">(</span><span class="muLispNormal">cdr l</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (map1 . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">map1 f xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">()</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">cons </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">          </span><span class="Delimiter">(</span><span class="muLispNormal">map1 f </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (compose . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">compose f g</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> args</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">g args</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (some . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">some f xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">()</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      xs</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">some f </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (any . some)
+    (all . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">all f xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Constant">1</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">all f </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">())))</span><span class="Normal">]</span>)
+    (find . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">find x xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">()</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">= x </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Constant">1</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">find x </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (afn . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">afn params . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> self </span><span class="Delimiter">()</span>
+<span class="muLispNormal">     </span><span class="Delimiter">(</span><span class="muLispNormal">set self </span><span class="Delimiter">(</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">params </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (seq . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">seq n</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">((</span><span class="muLispNormal">afn </span><span class="Delimiter">(</span><span class="muLispNormal">i</span><span class="Delimiter">)</span>
+<span class="muLispNormal">     </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&gt; i n</span><span class="Delimiter">)</span>
+<span class="muLispNormal">       </span><span class="Delimiter">()</span>
+<span class="muLispNormal">       </span><span class="Delimiter">(</span><span class="muLispNormal">cons i </span><span class="Delimiter">(</span><span class="muLispNormal">self </span><span class="Delimiter">(</span><span class="muLispNormal">+ i </span><span class="Constant">1</span><span class="Delimiter">)))))</span>
+<span class="muLispNormal">   </span><span class="Constant">1</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (each . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">each x xs . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispNormal">walk </span><span class="Delimiter">,</span><span class="muLispNormal">xs </span><span class="Delimiter">(</span><span class="muLispKeyword">fn</span><span class="muLispNormal"> </span><span class="Delimiter">(,</span><span class="muLispNormal">x</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (walk . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">walk xs f</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">when xs</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">walk </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">)</span><span class="muLispNormal"> f</span><span class="Delimiter">)))</span><span class="muLispNormal"> </span><span class="Normal">]</span>)
+    (up . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">up var init max . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">init </span><span class="Delimiter">(</span><span class="muLispNormal">&lt;= </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">max</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">++ </span><span class="Delimiter">,</span><span class="muLispNormal">var</span><span class="Delimiter">)</span>
+<span class="muLispNormal">     </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (down . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">down var init min . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">init </span><span class="Delimiter">(</span><span class="muLispNormal">&gt;= </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">min</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">-- </span><span class="Delimiter">,</span><span class="muLispNormal">var</span><span class="Delimiter">)</span>
+<span class="muLispNormal">     </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (rem . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">rem f xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">()</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> rest </span><span class="Delimiter">(</span><span class="muLispNormal">rem f </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">        rest</span>
+<span class="muLispNormal">        </span><span class="Delimiter">(</span><span class="muLispNormal">cons </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">)</span><span class="muLispNormal"> rest</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (keep . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">keep f xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">no xs</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">()</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> rest </span><span class="Delimiter">(</span><span class="muLispNormal">keep f </span><span class="Delimiter">(</span><span class="muLispNormal">cdr xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">f </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">))</span>
+<span class="muLispNormal">        </span><span class="Delimiter">(</span><span class="muLispNormal">cons </span><span class="Delimiter">(</span><span class="muLispNormal">car xs</span><span class="Delimiter">)</span><span class="muLispNormal"> rest</span><span class="Delimiter">)</span>
+<span class="muLispNormal">        rest</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (++ . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">++ var</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">`(</span><span class="muLispNormal">set </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Constant">1</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (+= . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= var inc</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispNormal">set </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">inc</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (<span class="muLispKeyword">for</span> . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">mac</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> var init test update . body</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">`(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">var </span><span class="Delimiter">,</span><span class="muLispNormal">init</span>
+<span class="muLispNormal">     </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">,</span><span class="muLispNormal">test</span>
+<span class="muLispNormal">       </span><span class="Delimiter">,@</span><span class="muLispNormal">body</span>
+<span class="muLispNormal">       </span><span class="Delimiter">,</span><span class="muLispNormal">update</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (hline1 . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">hline1 screen y x xmax color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; x xmax</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen x y color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">++ x</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (vline1 . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">vline1 screen x y ymax color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; y ymax</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen x y color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">++ y</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (hline . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">hline screen y color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">hline1 screen y </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">width screen</span><span class="Delimiter">)</span><span class="muLispNormal"> color</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (vline . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">vline screen x color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">vline1 screen x </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">height screen</span><span class="Delimiter">)</span><span class="muLispNormal"> color</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (line . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">line screen x0 y0 x1 y1 color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">x y</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">`(,</span><span class="muLispNormal">x0 </span><span class="Delimiter">,</span><span class="muLispNormal">y0</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> dx </span><span class="Delimiter">(</span><span class="muLispNormal">abs </span><span class="Delimiter">(</span><span class="muLispNormal">- x1 x0</span><span class="Delimiter">))</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> dy </span><span class="Delimiter">(</span><span class="muLispNormal">- </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">abs </span><span class="Delimiter">(</span><span class="muLispNormal">- y1 y0</span><span class="Delimiter">)))</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> sx </span><span class="Delimiter">(</span><span class="muLispNormal">sgn </span><span class="Delimiter">(</span><span class="muLispNormal">- x1 x0</span><span class="Delimiter">))</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> sy </span><span class="Delimiter">(</span><span class="muLispNormal">sgn </span><span class="Delimiter">(</span><span class="muLispNormal">- y1 y0</span><span class="Delimiter">))</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> err </span><span class="Delimiter">(</span><span class="muLispNormal">+ dx dy</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">not </span><span class="Delimiter">(</span><span class="muLispNormal">and </span><span class="Delimiter">(</span><span class="muLispNormal">= x x1</span><span class="Delimiter">)</span>
+<span class="muLispNormal">                   </span><span class="Delimiter">(</span><span class="muLispNormal">= y y1</span><span class="Delimiter">)))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen x y color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> e2 </span><span class="Delimiter">(</span><span class="muLispNormal">* err </span><span class="Constant">2</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">when </span><span class="Delimiter">(</span><span class="muLispNormal">&gt;= e2 dy</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">+= x sx</span><span class="Delimiter">))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">when </span><span class="Delimiter">(</span><span class="muLispNormal">&lt;= e2 dx</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">+= y sy</span><span class="Delimiter">))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">+= err</span>
+<span class="muLispNormal">        </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&gt;= e2 dy</span><span class="Delimiter">)</span>
+<span class="muLispNormal">             dy</span>
+<span class="muLispNormal">             </span><span class="Constant">0</span><span class="Delimiter">)</span>
+<span class="muLispNormal">           </span><span class="Delimiter">(</span><span class="muLispKeyword">if</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt;= e2 dx</span><span class="Delimiter">)</span>
+<span class="muLispNormal">             dx</span>
+<span class="muLispNormal">             </span><span class="Constant">0</span><span class="Delimiter">))))))))))))</span><span class="Normal">]</span>)
+    (read_line . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">read_line keyboard</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> str </span><span class="Delimiter">(</span><span class="muLispNormal">stream</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> c </span><span class="Delimiter">(</span><span class="muLispNormal">key keyboard</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">not </span><span class="Delimiter">(</span><span class="muLispNormal">or </span><span class="Delimiter">(</span><span class="muLispNormal">= c </span><span class="Constant">0</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">= c </span><span class="Constant">10</span><span class="Delimiter">)))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">write str c</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">set c </span><span class="Delimiter">(</span><span class="muLispNormal">key keyboard</span><span class="Delimiter">))))</span>
+<span class="muLispNormal">  str</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (wait . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">wait keyboard</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">= </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">key keyboard</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (sq . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">sq n</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">* n n</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (cube . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">cube n</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">* </span><span class="Delimiter">(</span><span class="muLispNormal">* n n</span><span class="Delimiter">)</span><span class="muLispNormal"> n</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (fill_rect . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">fill_rect screen x1 y1 x2 y2 color</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> y y1 </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; y y2</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">++ y</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">hline1 screen y x1 x2 color</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (chessboard_row . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">chessboard_row screen px y x xmax</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; x xmax</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">fill_rect screen</span>
+<span class="muLispNormal">               x        y</span>
+<span class="muLispNormal">               </span><span class="Delimiter">(</span><span class="muLispNormal">+ x px</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+ y px</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Constant">15</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">+= x </span><span class="Delimiter">(</span><span class="muLispNormal">* px </span><span class="Constant">2</span><span class="Delimiter">))))</span><span class="Normal">]</span>)
+    (chessboard . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">chessboard screen px</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">clear screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> xmax </span><span class="Delimiter">(</span><span class="muLispNormal">width screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> ymax </span><span class="Delimiter">(</span><span class="muLispNormal">height screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> y </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; y ymax</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= y px</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">chessboard_row screen px y </span><span class="Constant">0</span><span class="muLispNormal"> xmax</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">+= y px</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">chessboard_row screen px y px xmax</span><span class="Delimiter">)))))</span><span class="Normal">]</span>)
+    (circle . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">circle screen cx cy r clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> x </span><span class="Delimiter">(</span><span class="muLispNormal">- </span><span class="Constant">0</span><span class="muLispNormal"> r</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> y </span><span class="Constant">0</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> err </span><span class="Delimiter">(</span><span class="muLispNormal">- </span><span class="Constant">2</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">* </span><span class="Constant">2</span><span class="muLispNormal"> r</span><span class="Delimiter">))</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> continue </span><span class="Constant">1</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">while</span><span class="muLispNormal"> continue</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen </span><span class="Delimiter">(</span><span class="muLispNormal">- cx x</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+ cy y</span><span class="Delimiter">)</span><span class="muLispNormal"> clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen </span><span class="Delimiter">(</span><span class="muLispNormal">- cx y</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">- cy x</span><span class="Delimiter">)</span><span class="muLispNormal"> clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen </span><span class="Delimiter">(</span><span class="muLispNormal">+ cx x</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">- cy y</span><span class="Delimiter">)</span><span class="muLispNormal"> clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen </span><span class="Delimiter">(</span><span class="muLispNormal">+ cx y</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+ cy x</span><span class="Delimiter">)</span><span class="muLispNormal"> clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">set r err</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">when </span><span class="Delimiter">(</span><span class="muLispNormal">&lt;= r y</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">++ y</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">+= err</span>
+<span class="muLispNormal">          </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Constant">1</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">* </span><span class="Constant">2</span><span class="muLispNormal"> y</span><span class="Delimiter">))))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">when </span><span class="Delimiter">(</span><span class="muLispNormal">or </span><span class="Delimiter">(</span><span class="muLispNormal">&gt; r x</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&gt; err y</span><span class="Delimiter">))</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">++ x</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">+= err</span>
+<span class="muLispNormal">          </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Constant">1</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">* </span><span class="Constant">2</span><span class="muLispNormal"> x</span><span class="Delimiter">))))</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">set continue </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; x </span><span class="Constant">0</span><span class="Delimiter">))))))))</span><span class="Normal">]</span>)
+    (ring . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">ring screen cx cy r0 w clr</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> r r0 </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; r </span><span class="Delimiter">(</span><span class="muLispNormal">+ r0 w</span><span class="Delimiter">))</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">++ r</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispNormal">circle screen cx cy r clr</span><span class="Delimiter">)))</span><span class="Normal">]</span>)
+    (circle_rainbow . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">circle_rainbow scr cx cy r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">37</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">33</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">55</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">52</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">47</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">45</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">44</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">42</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">41</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">+= r w</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">ring scr cx cy r w </span><span class="Constant">40</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+    (bowboard . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">bowboard screen r</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> xmax </span><span class="Delimiter">(</span><span class="muLispNormal">width screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> ymax </span><span class="Delimiter">(</span><span class="muLispNormal">height screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> side </span><span class="Delimiter">(</span><span class="muLispNormal">* </span><span class="Constant">2</span><span class="muLispNormal"> r</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> y r </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; y ymax</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= y side</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> x r </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; x xmax</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= x side</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">circle_rainbow screen x y </span><span class="Delimiter">(</span><span class="muLispNormal">- r </span><span class="Constant">100</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Constant">10</span><span class="Delimiter">)))))))</span><span class="Normal">]</span>)
+    (task . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">task screen keyboard</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> xmax </span><span class="Delimiter">(</span><span class="muLispNormal">width screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">let</span><span class="muLispNormal"> ymax </span><span class="Delimiter">(</span><span class="muLispNormal">height screen</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> y </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; y ymax</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= y </span><span class="Constant">4</span><span class="Delimiter">)</span>
+<span class="muLispNormal">    </span><span class="Comment">#(wait keyboard)</span>
+<span class="muLispNormal">    </span><span class="Delimiter">(</span><span class="muLispKeyword">for</span><span class="muLispNormal"> x </span><span class="Constant">0</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">&lt; x xmax</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+= x </span><span class="Constant">1</span><span class="Delimiter">)</span>
+<span class="muLispNormal">      </span><span class="Delimiter">(</span><span class="muLispNormal">pixel screen x y</span>
+<span class="muLispNormal">             </span><span class="Comment"># color</span>
+<span class="muLispNormal">             </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Constant">16</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">+ </span><span class="Delimiter">(</span><span class="muLispNormal">/ x </span><span class="Constant">4</span><span class="Delimiter">)</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">cube </span><span class="Delimiter">(</span><span class="muLispNormal">/ y </span><span class="Constant">4</span><span class="Delimiter">))))))))))</span><span class="Normal">]</span>)
+    (main . <span class="Normal">[</span><span class="Delimiter">(</span><span class="muLispKeyword">def</span><span class="muLispNormal"> </span><span class="Delimiter">(</span><span class="muLispNormal">main screen keyboard</span><span class="Delimiter">)</span>
+<span class="muLispNormal">  </span><span class="Delimiter">(</span><span class="muLispNormal">task screen keyboard</span><span class="Delimiter">))</span><span class="Normal">]</span>)
+  ))
+  (<span class="muLispOuterKeyword">sandbox</span> . (task screen keyboard))
+)
+</pre>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->