Use relative URLs for CSS.

So hopefully thi site can live happily under https://ariadne.systems/pub/~sforman/Thun/
This commit is contained in:
sforman 2023-11-12 12:23:41 -08:00
parent eb12889a43
commit 156a2ffd94
8 changed files with 25 additions and 25 deletions

View File

@ -19,8 +19,8 @@ print(f'''\
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>{title_of(html)}</title> <title>{title_of(html)}</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -130,7 +130,7 @@ terms of [choice] as above). The more common "if..then..else" construct
--------------------- ---------------------
b b
</code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[<a href="#pop">pop</a>] [<a href="#popd">popd</a>] <a href="#branch">branch</a></div></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>It's a matter of taste whether you implement this in terms of [branch] or </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[<a href="#pop">pop</a>] [<a href="#popd">popd</a>] <a href="#branch">branch</a></div></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>It's a matter of taste whether you implement this in terms of [branch] or
the other way around.</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#branch" class="func_name">branch</a> <a href="#select" class="func_name">select</a></div></div><hr><div><h2 id="clear" class="func_name">clear <a href="#clear" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Clear everything from the stack.</p></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[] <a href="#swaack">swaack</a> <a href="#pop">pop</a></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#swaack" class="func_name">swaack</a></div><div class="backlinks"><h3>Used By</h3><a href="#enstacken" class="func_name">enstacken</a></div></div><hr><div><h2 id="cleave" class="func_name">cleave <a href="#cleave" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Run two programs in parallel, consuming one additional item, and put their the other way around.</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#branch" class="func_name">branch</a> <a href="#select" class="func_name">select</a></div></div><hr><div><h2 id="clear" class="func_name">clear <a href="#clear" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Clear everything from the stack.</p></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#enstacken">enstacken</a> <a href="#pop">pop</a></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#swaack" class="func_name">swaack</a></div></div><hr><div><h2 id="cleave" class="func_name">cleave <a href="#cleave" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Run two programs in parallel, consuming one additional item, and put their
results on the stack.</p> results on the stack.</p>
<pre><code> ... x [A] [B] cleave <pre><code> ... x [A] [B] cleave
------------------------ ------------------------
@ -206,7 +206,7 @@ expressions, e.g.:
------------------ ------------------
[a ...] [a ...]
</code></pre></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>Cons is a <a href="https://en.wikipedia.org/wiki/Cons#Lists">venerable old function from Lisp</a>. </code></pre></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>Cons is a <a href="https://en.wikipedia.org/wiki/Cons#Lists">venerable old function from Lisp</a>.
Its inverse operation is [uncons].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#uncons" class="func_name">uncons</a></div><div class="backlinks"><h3>Used By</h3><a href="#d5856351bbc14599e687dac105150e8a919b21477f3c00386405228caac1e43a" class="func_name">app2</a> <a href="#ccons" class="func_name">ccons</a> <a href="#codi" class="func_name">codi</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dipddd" class="func_name">dipddd</a> <a href="#grabN" class="func_name">grabN</a> <a href="#map" class="func_name">map</a> <a href="#nulco" class="func_name">nulco</a> <a href="#pow" class="func_name">pow</a> <a href="#2615278fdb89045cc766e529a8e31ba97e35d4215ee7c5bda4335d2667dec387" class="func_name">quote-two</a> <a href="#reco" class="func_name">reco</a> <a href="#swons" class="func_name">swons</a> <a href="#unit" class="func_name">unit</a> <a href="#zip" class="func_name">zip</a></div></div><hr><div><h2 id="dinfrirst" class="func_name">dinfrirst <a href="#dinfrirst" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Specialist function (that means I forgot what it does and why.)</p></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#dip">dip</a> <a href="#infrst">infrst</a></div></div><div class="backlinks"><h3>Used By</h3><a href="#nullary" class="func_name">nullary</a></div></div><hr><div><h2 id="dip" class="func_name">dip <a href="#dip" class="self_link"></a></h2><p><span class="kind">combinator</span> <span class="kind">built-in</span></p><div class="notes"><p>The <code>dip</code> combinator expects a quoted program on the stack and below it Its inverse operation is [uncons].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#uncons" class="func_name">uncons</a></div><div class="backlinks"><h3>Used By</h3><a href="#d5856351bbc14599e687dac105150e8a919b21477f3c00386405228caac1e43a" class="func_name">app2</a> <a href="#ccons" class="func_name">ccons</a> <a href="#codi" class="func_name">codi</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dipddd" class="func_name">dipddd</a> <a href="#grabN" class="func_name">grabN</a> <a href="#map" class="func_name">map</a> <a href="#nulco" class="func_name">nulco</a> <a href="#pow" class="func_name">pow</a> <a href="#2615278fdb89045cc766e529a8e31ba97e35d4215ee7c5bda4335d2667dec387" class="func_name">quote-two</a> <a href="#reco" class="func_name">reco</a> <a href="#stack" class="func_name">stack</a> <a href="#swons" class="func_name">swons</a> <a href="#unit" class="func_name">unit</a> <a href="#zip" class="func_name">zip</a></div></div><hr><div><h2 id="dinfrirst" class="func_name">dinfrirst <a href="#dinfrirst" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Specialist function (that means I forgot what it does and why.)</p></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#dip">dip</a> <a href="#infrst">infrst</a></div></div><div class="backlinks"><h3>Used By</h3><a href="#nullary" class="func_name">nullary</a></div></div><hr><div><h2 id="dip" class="func_name">dip <a href="#dip" class="self_link"></a></h2><p><span class="kind">combinator</span> <span class="kind">built-in</span></p><div class="notes"><p>The <code>dip</code> combinator expects a quoted program on the stack and below it
some item, it hoists the item into the expression and runs the program some item, it hoists the item into the expression and runs the program
on the rest of the stack. </p> on the rest of the stack. </p>
<pre><code> ... x [Q] . dip <pre><code> ... x [Q] . dip
@ -224,7 +224,7 @@ Continuation-Passing Style. The <code>dip</code> combinator could "set aside" t
item and replace it after running <code>Q</code> but that means that there is an item and replace it after running <code>Q</code> but that means that there is an
"extra space" where the item resides while <code>Q</code> runs. One of the nice "extra space" where the item resides while <code>Q</code> runs. One of the nice
things about CPS is that the whole state is recorded in the stack and things about CPS is that the whole state is recorded in the stack and
pending expression (not counting modifications to the dictionary.)</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#dipd" class="func_name">dipd</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#dupdipd" class="func_name">dupdipd</a> <a href="#infra" class="func_name">infra</a></div><div class="backlinks"><h3>Used By</h3><a href="#anamorphism" class="func_name">anamorphism</a> <a href="#and" class="func_name">and</a> <a href="#d5856351bbc14599e687dac105150e8a919b21477f3c00386405228caac1e43a" class="func_name">app2</a> <a href="#b" class="func_name">b</a> <a href="#codi" class="func_name">codi</a> <a href="#dinfrirst" class="func_name">dinfrirst</a> <a href="#dipd" class="func_name">dipd</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dupd" class="func_name">dupd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#enstacken" class="func_name">enstacken</a> <a href="#grba" class="func_name">grba</a> <a href="#ii" class="func_name">ii</a> <a href="#infra" class="func_name">infra</a> <a href="#map" class="func_name">map</a> <a href="#" class="func_name">on-non-empty-list</a> <a href="#or" class="func_name">or</a> <a href="#over" class="func_name">over</a> <a href="#popd" class="func_name">popd</a> <a href="#popopd" class="func_name">popopd</a> <a href="#quoted" class="func_name">quoted</a> <a href="#shift" class="func_name">shift</a> <a href="#b75cae41e7f9ba4ab72cc1c5ec83aa5313ea180fae61bc25370ce4e4b540c3c7" class="func_name">spiral_next</a> <a href="#stackd" class="func_name">stackd</a> <a href="#swapd" class="func_name">swapd</a> <a href="#unquoted" class="func_name">unquoted</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="dipd" class="func_name">dipd <a href="#dipd" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Like [dip] but expects two items.</p> pending expression (not counting modifications to the dictionary.)</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#dipd" class="func_name">dipd</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#dupdipd" class="func_name">dupdipd</a> <a href="#infra" class="func_name">infra</a></div><div class="backlinks"><h3>Used By</h3><a href="#anamorphism" class="func_name">anamorphism</a> <a href="#and" class="func_name">and</a> <a href="#d5856351bbc14599e687dac105150e8a919b21477f3c00386405228caac1e43a" class="func_name">app2</a> <a href="#b" class="func_name">b</a> <a href="#codi" class="func_name">codi</a> <a href="#dinfrirst" class="func_name">dinfrirst</a> <a href="#dipd" class="func_name">dipd</a> <a href="#dipdd" class="func_name">dipdd</a> <a href="#dupd" class="func_name">dupd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#grba" class="func_name">grba</a> <a href="#ii" class="func_name">ii</a> <a href="#infra" class="func_name">infra</a> <a href="#map" class="func_name">map</a> <a href="#" class="func_name">on-non-empty-list</a> <a href="#or" class="func_name">or</a> <a href="#over" class="func_name">over</a> <a href="#popd" class="func_name">popd</a> <a href="#popopd" class="func_name">popopd</a> <a href="#quoted" class="func_name">quoted</a> <a href="#shift" class="func_name">shift</a> <a href="#b75cae41e7f9ba4ab72cc1c5ec83aa5313ea180fae61bc25370ce4e4b540c3c7" class="func_name">spiral_next</a> <a href="#stackd" class="func_name">stackd</a> <a href="#swapd" class="func_name">swapd</a> <a href="#unquoted" class="func_name">unquoted</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="dipd" class="func_name">dipd <a href="#dipd" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>Like [dip] but expects two items.</p>
<pre><code> ... y x [Q] . dipd <pre><code> ... y x [Q] . dipd
------------------------- -------------------------
... . Q y x ... . Q y x
@ -264,7 +264,7 @@ items removed off the top.</p>
<pre><code> a dup <pre><code> a dup
----------- -----------
a a a a
</code></pre></div><div class="crosslinks"><h3>See Also</h3><a href="#dupd" class="func_name">dupd</a> <a href="#dupdd" class="func_name">dupdd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#dupdipd" class="func_name">dupdipd</a></div><div class="backlinks"><h3>Used By</h3><a href="#8a8de823d5ed3e12746a62ef169bcf372be0ca44f0a1236abc35df05d96928e1" class="func_name">?</a> <a href="#abs" class="func_name">abs</a> <a href="#24eeb094bfbc05ab9fab7609e43f67a4b6f7f94db85bbab53d63ba083f006c9d" class="func_name">down_to_zero</a> <a href="#dupd" class="func_name">dupd</a> <a href="#dupdd" class="func_name">dupdd</a> <a href="#dupdipd" class="func_name">dupdipd</a> <a href="#6f80fffebc8c12f56af1a095e2263c68fb717db071f8b1da6737b2513b831d13" class="func_name">empty?</a> <a href="#gcd" class="func_name">gcd</a> <a href="#over" class="func_name">over</a> <a href="#range" class="func_name">range</a> <a href="#sqr" class="func_name">sqr</a> <a href="#tuck" class="func_name">tuck</a> <a href="#x" class="func_name">x</a></div></div><hr><div><h2 id="dupd" class="func_name">dupd <a href="#dupd" class="self_link"></a></h2><p></p><div class="notes"><p>[dup] the second item down on the stack.</p> </code></pre></div><div class="crosslinks"><h3>See Also</h3><a href="#dupd" class="func_name">dupd</a> <a href="#dupdd" class="func_name">dupdd</a> <a href="#dupdip" class="func_name">dupdip</a> <a href="#dupdipd" class="func_name">dupdipd</a></div><div class="backlinks"><h3>Used By</h3><a href="#8a8de823d5ed3e12746a62ef169bcf372be0ca44f0a1236abc35df05d96928e1" class="func_name">?</a> <a href="#abs" class="func_name">abs</a> <a href="#24eeb094bfbc05ab9fab7609e43f67a4b6f7f94db85bbab53d63ba083f006c9d" class="func_name">down_to_zero</a> <a href="#dupd" class="func_name">dupd</a> <a href="#dupdd" class="func_name">dupdd</a> <a href="#dupdipd" class="func_name">dupdipd</a> <a href="#6f80fffebc8c12f56af1a095e2263c68fb717db071f8b1da6737b2513b831d13" class="func_name">empty?</a> <a href="#gcd" class="func_name">gcd</a> <a href="#over" class="func_name">over</a> <a href="#range" class="func_name">range</a> <a href="#sqr" class="func_name">sqr</a> <a href="#stack" class="func_name">stack</a> <a href="#tuck" class="func_name">tuck</a> <a href="#x" class="func_name">x</a></div></div><hr><div><h2 id="dupd" class="func_name">dupd <a href="#dupd" class="self_link"></a></h2><p></p><div class="notes"><p>[dup] the second item down on the stack.</p>
<pre><code> a b dupd <pre><code> a b dupd
-------------- --------------
a a b a a b
@ -293,8 +293,8 @@ It doesn't consume the list.</p></div><div class="definition_wrapper"><h3>Defini
<pre><code> ... a b c enstacken <pre><code> ... a b c enstacken
------------------------- -------------------------
[c b a ...] [c b a ...]
</code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#stack">stack</a> [<a href="#clear">clear</a>] <a href="#dip">dip</a></div></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This is a destructive version of [stack]. See the note under </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[] <a href="#swaack">swaack</a></div></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This is a destructive version of [stack]. See the note under
[disenstacken] about the apparent but illusory reversal of the stack.</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="eq" class="func_name">eq <a href="#eq" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Compare the two items on the top of the stack for equality and replace [disenstacken] about the apparent but illusory reversal of the stack.</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#unstack" class="func_name">unstack</a></div><div class="backlinks"><h3>Used By</h3><a href="#clear" class="func_name">clear</a> <a href="#stack" class="func_name">stack</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="eq" class="func_name">eq <a href="#eq" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Compare the two items on the top of the stack for equality and replace
them with a Boolean value.</p> them with a Boolean value.</p>
<pre><code> a b eq <pre><code> a b eq
------------- -------------
@ -610,7 +610,7 @@ the underlying [map] function is so implemented, of course.)</p></div></div><div
</code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[<a href="#a318c24216defe206feeb73ef5be00033fa9c4a74d0b967f6532a26ca5906d3b">+</a>] [<a href="#3973e022e93220f9212c18d0d0c543ae7c309e46640da93a4a0314de999f5112">-</a>] <a href="#clop">clop</a></div></div></div><hr><div><h2 id="pop" class="func_name">pop <a href="#pop" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Pop the top item from the stack and discard it.</p> </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[<a href="#a318c24216defe206feeb73ef5be00033fa9c4a74d0b967f6532a26ca5906d3b">+</a>] [<a href="#3973e022e93220f9212c18d0d0c543ae7c309e46640da93a4a0314de999f5112">-</a>] <a href="#clop">clop</a></div></div></div><hr><div><h2 id="pop" class="func_name">pop <a href="#pop" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Pop the top item from the stack and discard it.</p>
<pre><code> a pop <pre><code> a pop
----------- -----------
</code></pre></div><div class="crosslinks"><h3>See Also</h3><a href="#popd" class="func_name">popd</a> <a href="#popdd" class="func_name">popdd</a> <a href="#popop" class="func_name">popop</a> <a href="#popopd" class="func_name">popopd</a> <a href="#popopdd" class="func_name">popopdd</a> <a href="#popopop" class="func_name">popopop</a></div><div class="backlinks"><h3>Used By</h3><a href="#c1773bc23efd62ebecd69d025d1561e8fc864159ba2fc48177060e4b376112b5" class="func_name">/\</a> <a href="#7a063e4cb04c8b9d833cec4caea5b184720eba13daf25139c99a355a266d921f" class="func_name">\/</a> <a href="#anamorphism" class="func_name">anamorphism</a> <a href="#choice" class="func_name">choice</a> <a href="#clear" class="func_name">clear</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#first" class="func_name">first</a> <a href="#gcd" class="func_name">gcd</a> <a href="#78518975c83d0d8806d93d660084328db6e59595700dbd5ee160dd837bb8a5d0" class="func_name">max-of-two</a> <a href="#9afb997920c7e5e6ec7684b2bc31f1498712a4908a26f944f6eb503cebbe88c5" class="func_name">min-of-two</a> <a href="#popd" class="func_name">popd</a> <a href="#popdd" class="func_name">popdd</a> <a href="#popop" class="func_name">popop</a> <a href="#popopop" class="func_name">popopop</a> <a href="#size" class="func_name">size</a> <a href="#small" class="func_name">small</a> <a href="#b75cae41e7f9ba4ab72cc1c5ec83aa5313ea180fae61bc25370ce4e4b540c3c7" class="func_name">spiral_next</a> <a href="#take" class="func_name">take</a> <a href="#unstack" class="func_name">unstack</a> <a href="#zip" class="func_name">zip</a></div></div><hr><div><h2 id="popd" class="func_name">popd <a href="#popd" class="self_link"></a></h2><p></p><div class="notes"><p>[pop] the second item down on the stack.</p> </code></pre></div><div class="crosslinks"><h3>See Also</h3><a href="#popd" class="func_name">popd</a> <a href="#popdd" class="func_name">popdd</a> <a href="#popop" class="func_name">popop</a> <a href="#popopd" class="func_name">popopd</a> <a href="#popopdd" class="func_name">popopdd</a> <a href="#popopop" class="func_name">popopop</a></div><div class="backlinks"><h3>Used By</h3><a href="#c1773bc23efd62ebecd69d025d1561e8fc864159ba2fc48177060e4b376112b5" class="func_name">/\</a> <a href="#7a063e4cb04c8b9d833cec4caea5b184720eba13daf25139c99a355a266d921f" class="func_name">\/</a> <a href="#anamorphism" class="func_name">anamorphism</a> <a href="#choice" class="func_name">choice</a> <a href="#clear" class="func_name">clear</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#first" class="func_name">first</a> <a href="#gcd" class="func_name">gcd</a> <a href="#78518975c83d0d8806d93d660084328db6e59595700dbd5ee160dd837bb8a5d0" class="func_name">max-of-two</a> <a href="#9afb997920c7e5e6ec7684b2bc31f1498712a4908a26f944f6eb503cebbe88c5" class="func_name">min-of-two</a> <a href="#popd" class="func_name">popd</a> <a href="#popdd" class="func_name">popdd</a> <a href="#popop" class="func_name">popop</a> <a href="#popopop" class="func_name">popopop</a> <a href="#size" class="func_name">size</a> <a href="#small" class="func_name">small</a> <a href="#b75cae41e7f9ba4ab72cc1c5ec83aa5313ea180fae61bc25370ce4e4b540c3c7" class="func_name">spiral_next</a> <a href="#stack" class="func_name">stack</a> <a href="#take" class="func_name">take</a> <a href="#unstack" class="func_name">unstack</a> <a href="#zip" class="func_name">zip</a></div></div><hr><div><h2 id="popd" class="func_name">popd <a href="#popd" class="self_link"></a></h2><p></p><div class="notes"><p>[pop] the second item down on the stack.</p>
<pre><code> a b popd <pre><code> a b popd
-------------- --------------
b b
@ -786,8 +786,8 @@ list.</p>
<pre><code> ... c b a stack <pre><code> ... c b a stack
--------------------------- ---------------------------
... c b a [a b c ...] ... c b a [a b c ...]
</code></pre></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This function forms a pair with [unstack], and together they form the </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#enstacken">enstacken</a> <a href="#dup">dup</a> <a href="#cons">cons</a> <a href="#swaack">swaack</a> <a href="#pop">pop</a></div></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This function forms a pair with [unstack], and together they form the
complement to the "destructive" pair [enstacken] and [disenstacken].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#enstacken" class="func_name">enstacken</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#stackd" class="func_name">stackd</a> <a href="#unstack" class="func_name">unstack</a></div><div class="backlinks"><h3>Used By</h3><a href="#enstacken" class="func_name">enstacken</a> <a href="#grba" class="func_name">grba</a> <a href="#nullary" class="func_name">nullary</a> <a href="#stackd" class="func_name">stackd</a> <a href="#stuncons" class="func_name">stuncons</a></div></div><hr><div><h2 id="stackd" class="func_name">stackd <a href="#stackd" class="self_link"></a></h2><p></p><div class="notes"><p>Grab the stack under the top item and put it onto the stack.</p> complement to the "destructive" pair [enstacken] and [disenstacken].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#enstacken" class="func_name">enstacken</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#stackd" class="func_name">stackd</a> <a href="#unstack" class="func_name">unstack</a></div><div class="backlinks"><h3>Used By</h3><a href="#grba" class="func_name">grba</a> <a href="#nullary" class="func_name">nullary</a> <a href="#stackd" class="func_name">stackd</a> <a href="#stuncons" class="func_name">stuncons</a></div></div><hr><div><h2 id="stackd" class="func_name">stackd <a href="#stackd" class="self_link"></a></h2><p></p><div class="notes"><p>Grab the stack under the top item and put it onto the stack.</p>
<h3>Example</h3> <h3>Example</h3>
<pre><code> ... 1 2 3 stackd <pre><code> ... 1 2 3 stackd
------------------------ ------------------------
@ -832,7 +832,7 @@ with the list, and put the old stack onto it.</p>
-------------------------- --------------------------
6 5 4 [3 2 1] 6 5 4 [3 2 1]
</code></pre></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This function works as a kind of "context switch". It's used in the </code></pre></div><div class="discussion_wrapper"><h3>Discussion</h3><div class="discussion"><p>This function works as a kind of "context switch". It's used in the
definition of [infra].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#infra" class="func_name">infra</a></div><div class="backlinks"><h3>Used By</h3><a href="#clear" class="func_name">clear</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#infra" class="func_name">infra</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="swap" class="func_name">swap <a href="#swap" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Swap the top two items on the stack.</p> definition of [infra].</p></div></div><div class="crosslinks"><h3>See Also</h3><a href="#infra" class="func_name">infra</a></div><div class="backlinks"><h3>Used By</h3><a href="#disenstacken" class="func_name">disenstacken</a> <a href="#enstacken" class="func_name">enstacken</a> <a href="#infra" class="func_name">infra</a> <a href="#stack" class="func_name">stack</a> <a href="#unstack" class="func_name">unstack</a></div></div><hr><div><h2 id="swap" class="func_name">swap <a href="#swap" class="self_link"></a></h2><p><span class="kind">built-in</span></p><div class="notes"><p>Swap the top two items on the stack.</p>
<pre><code> a b swap <pre><code> a b swap
-------------- --------------
b a b a
@ -930,7 +930,7 @@ the list. You cannot <code>uncons</code> an item from an empty list.</p>
joy? unstack joy? unstack
1 2 3 6 5 4 1 2 3 6 5 4
</code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[[] <a href="#swaack">swaack</a>] <a href="#dip">dip</a> <a href="#swoncat">swoncat</a> <a href="#swaack">swaack</a> <a href="#pop">pop</a></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#enstacken" class="func_name">enstacken</a></div></div><hr><div><h2 id="unswons" class="func_name">unswons <a href="#unswons" class="self_link"></a></h2><p></p><div class="notes"><pre><code> [a ...] unswons </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition">[<a href="#enstacken">enstacken</a>] <a href="#dip">dip</a> <a href="#swoncat">swoncat</a> <a href="#swaack">swaack</a> <a href="#pop">pop</a></div></div><div class="crosslinks"><h3>See Also</h3><a href="#stack" class="func_name">stack</a> <a href="#disenstacken" class="func_name">disenstacken</a> <a href="#enstacken" class="func_name">enstacken</a></div></div><hr><div><h2 id="unswons" class="func_name">unswons <a href="#unswons" class="self_link"></a></h2><p></p><div class="notes"><pre><code> [a ...] unswons
--------------------- ---------------------
[...] a [...] a
</code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#uncons">uncons</a> <a href="#swap">swap</a></div></div></div><hr><div><h2 id="warranty" class="func_name">warranty <a href="#warranty" class="self_link"></a></h2><p></p><div class="notes"><p>Print warranty information.</p></div></div><hr><div><h2 id="while" class="func_name">while <a href="#while" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>A specialization of [loop] that accepts a quoted predicate program <code>P</code> </code></pre></div><div class="definition_wrapper"><h3>Definition</h3><div class="definition"><a href="#uncons">uncons</a> <a href="#swap">swap</a></div></div></div><hr><div><h2 id="warranty" class="func_name">warranty <a href="#warranty" class="self_link"></a></h2><p></p><div class="notes"><p>Print warranty information.</p></div></div><hr><div><h2 id="while" class="func_name">while <a href="#while" class="self_link"></a></h2><p><span class="kind">combinator</span> </p><div class="notes"><p>A specialization of [loop] that accepts a quoted predicate program <code>P</code>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Thun Specification</title> <title>Thun Specification</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Thun</title> <title>Thun</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>BigNums in Joy</title> <title>BigNums in Joy</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Zip</title> <title>Zip</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Generator Programs</title> <title>Generator Programs</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Nerd Sniped</title> <title>Nerd Sniped</title>
<link rel="stylesheet" href="/css/font/fonts.css"> <link rel="stylesheet" href="css/font/fonts.css">
<link rel="stylesheet" href="/css/site.css"> <link rel="stylesheet" href="css/site.css">
<script src="/Joy.js"></script> <script src="/Joy.js"></script>
</head> </head>
<body> <body>