Update some of the docs.
This commit is contained in:
@@ -13088,7 +13088,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [1]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">notebook_preamble</span> <span class="kn">import</span> <span class="n">D</span><span class="p">,</span> <span class="n">J</span><span class="p">,</span> <span class="n">V</span><span class="p">,</span> <span class="n">define</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">notebook_preamble</span> <span class="kn">import</span> <span class="n">D</span><span class="p">,</span> <span class="n">J</span><span class="p">,</span> <span class="n">V</span><span class="p">,</span> <span class="n">define</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13101,7 +13101,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [2]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] dup max'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] dup max'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13132,7 +13132,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [3]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">joy.library</span> <span class="kn">import</span> <span class="n">SimpleFunctionWrapper</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">joy.library</span> <span class="kn">import</span> <span class="n">SimpleFunctionWrapper</span>
|
||||
<span class="kn">from</span> <span class="nn">joy.utils.stack</span> <span class="kn">import</span> <span class="n">list_to_stack</span>
|
||||
|
||||
|
||||
@@ -13176,7 +13176,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [4]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] 7 index_of'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] 7 index_of'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13207,7 +13207,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [5]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] 23 index_of'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] 23 index_of'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13253,7 +13253,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [6]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">joy.utils.stack</span> <span class="kn">import</span> <span class="n">iter_stack</span><span class="p">,</span> <span class="n">list_to_stack</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">joy.utils.stack</span> <span class="kn">import</span> <span class="n">iter_stack</span><span class="p">,</span> <span class="n">list_to_stack</span>
|
||||
|
||||
|
||||
<span class="nd">@SimpleFunctionWrapper</span>
|
||||
@@ -13292,7 +13292,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [7]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13323,7 +13323,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [8]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[2 4 1 2] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[2 4 1 2] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13354,7 +13354,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [9]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[3 1 2 3] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[3 1 2 3] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13385,7 +13385,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [10]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 3 4] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 3 4] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13416,7 +13416,7 @@ div#notebook {
|
||||
<div class="prompt input_prompt">In [11]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[1 3 4 1] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[1 3 4 1] dup max [index_of] nullary distribute'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13469,7 +13469,7 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
<div class="prompt input_prompt">In [12]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'direco == dip rest cons'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'direco dip rest cons'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13482,7 +13482,7 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
<div class="prompt input_prompt">In [13]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'G == [direco] cons [swap] swoncat cons'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'G [direco] cons [swap] swoncat cons'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13495,7 +13495,7 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
<div class="prompt input_prompt">In [14]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'make_distributor == [dup dup max [index_of] nullary distribute] G'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'make_distributor [dup dup max [index_of] nullary distribute] G'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13508,7 +13508,7 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
<div class="prompt input_prompt">In [15]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] make_distributor 6 [x] times pop'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] make_distributor 6 [x] times pop'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13539,13 +13539,13 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h3 id="A-function-to-drive-a-generator-and-count-how-many-states-before-a-repeat.">A function to drive a generator and count how many states before a repeat.<a class="anchor-link" href="#A-function-to-drive-a-generator-and-count-how-many-states-before-a-repeat.">¶</a></h3><p>First draft:</p>
|
||||
|
||||
<pre><code>[] [GEN] x [pop index_of 0 >=] [pop size --] [[swons] dip x] primrec
|
||||
<pre><code>[] [GEN] x [pop index_of 0 >=] [pop size --] [[swons] dip x] tailrec
|
||||
|
||||
</code></pre>
|
||||
<p>(?)</p>
|
||||
|
||||
<pre><code>[] [GEN] x [pop index_of 0 >=] [pop size --] [[swons] dip x] primrec
|
||||
[] [...] [GEN] [pop index_of 0 >=] [pop size --] [[swons] dip x] primrec
|
||||
<pre><code>[] [GEN] x [pop index_of 0 >=] [pop size --] [[swons] dip x] tailrec
|
||||
[] [...] [GEN] [pop index_of 0 >=] [pop size --] [[swons] dip x] tailrec
|
||||
[] [...] [GEN] pop index_of 0 >=
|
||||
[] [...] index_of 0 >=
|
||||
-1 0 >=
|
||||
@@ -13554,7 +13554,7 @@ w/ G == dup max [index_of] nullary distribute</code></pre>
|
||||
</code></pre>
|
||||
<p>Base case</p>
|
||||
|
||||
<pre><code>[] [...] [GEN] [pop index_of 0 >=] [pop size --] [[swons] dip x] primrec
|
||||
<pre><code>[] [...] [GEN] [pop index_of 0 >=] [pop size --] [[swons] dip x] tailrec
|
||||
[] [...] [GEN] pop size --
|
||||
[] [...] size --
|
||||
[] [...] size --
|
||||
@@ -13569,7 +13569,7 @@ n
|
||||
</code></pre>
|
||||
<p>Recursive case</p>
|
||||
|
||||
<pre><code>[] [...] [GEN] [pop index_of 0 >=] [popop size] [[swons] dip x] primrec
|
||||
<pre><code>[] [...] [GEN] [pop index_of 0 >=] [popop size] [[swons] dip x] tailrec
|
||||
[] [...] [GEN] [swons] dip x F
|
||||
[] [...] swons [GEN] x F
|
||||
[[...]] [GEN] x F
|
||||
@@ -13580,7 +13580,7 @@ n
|
||||
</code></pre>
|
||||
<p>What have we learned?</p>
|
||||
|
||||
<pre><code>F == [pop index_of 0 >=] [popop size] [[swons] dip x] primrec</code></pre>
|
||||
<pre><code>F == [pop index_of 0 >=] [popop size] [[swons] dip x] tailrec</code></pre>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -13590,7 +13590,7 @@ n
|
||||
<div class="prompt input_prompt">In [16]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'count_states == [] swap x [pop index_of 0 >=] [popop size] [[swons] dip x] primrec'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'count_states [] swap x [pop index_of 0 >=] [popop size] [[swons] dip x] tailrec'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13603,7 +13603,7 @@ n
|
||||
<div class="prompt input_prompt">In [17]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'AoC2017.6 == make_distributor count_states'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">define</span><span class="p">(</span><span class="s1">'AoC2017.6 make_distributor count_states'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13616,7 +13616,7 @@ n
|
||||
<div class="prompt input_prompt">In [18]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] AoC2017.6'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[0 2 7 0] AoC2017.6'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13647,7 +13647,7 @@ n
|
||||
<div class="prompt input_prompt">In [19]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[1 1 1] AoC2017.6'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[1 1 1] AoC2017.6'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
@@ -13678,7 +13678,7 @@ n
|
||||
<div class="prompt input_prompt">In [20]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[8 0 0 0 0 0] AoC2017.6'</span><span class="p">)</span>
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span><span class="p">(</span><span class="s1">'[8 0 0 0 0 0] AoC2017.6'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user