diff --git a/docs/reference/i.md b/docs/reference/i.md index 8491757..10d5589 100644 --- a/docs/reference/i.md +++ b/docs/reference/i.md @@ -2,21 +2,17 @@ ## i -(Basis Combinator) +Basis Combinator Append a quoted expression onto the pending expression. - [Q] i - ----------- - Q - -### Source - - combo(i, [list(P)|S], S, Ei, Eo) :- append(P, Ei, Eo). + [Q] . i + ------------- + . Q ### Discussion -This is probably the fundamental combinator. You wind up using it in all -kinds of places (for example, the `x` combinator can be defined as `dup i`.) +This is a fundamental combinator. It is used in all kinds of places. For +example, the [x] combinator can be defined as `dup i`. diff --git a/docs/reference/ii.md b/docs/reference/ii.md index ac3372a..25c8fd4 100644 --- a/docs/reference/ii.md +++ b/docs/reference/ii.md @@ -2,30 +2,46 @@ ## ii -Basis Function Combinator +Combinator + +Take a quoted program from the stack and run it twice, first under the +top item, then again with the top item. ... a [Q] ii ------------------ ... Q a Q -Gentzen diagram. - ### Definition -if not basis. +> \[[dip]\] [dupdip] [i] -### Derivation +### Example -if not basis. +It's a little tricky to understand how this works so here's an example trace: -### Source - -if basis + 1 2 3 4 [++] • [dip] dupdip i + 1 2 3 4 [++] [dip] • dupdip i + 1 2 3 4 [++] • dip [++] i + 1 2 3 • ++ 4 [++] i + 1 2 4 • 4 [++] i + 1 2 4 4 • [++] i + 1 2 4 4 [++] • i + 1 2 4 4 • ++ + 1 2 4 5 • ### Discussion -Lorem ipsum. +In some cases (like the example above) this is the same effect as using [app2] but most of the time it's not: + + 1 2 3 4 [+] ii + -------------------- + 1 9 + + 1 2 3 4 [+] app2 + ---------------------- + 1 2 5 6 ### Crosslinks -Lorem ipsum. +[app2] +[b] diff --git a/docs/reference/mkref/FuncRef.html b/docs/reference/mkref/FuncRef.html index 0d53cdc..dc9f780 100644 --- a/docs/reference/mkref/FuncRef.html +++ b/docs/reference/mkref/FuncRef.html @@ -1284,15 +1284,13 @@ a F a
(Basis Combinator)
+Basis Combinator
Append a quoted expression onto the pending expression.
- [Q] i
------------
- Q
-combo(i, [list(P)|S], S, Ei, Eo) :- append(P, Ei, Eo).
+ [Q] . i
+-------------
+ . Q
This is probably the fundamental combinator. You wind up using it in all kinds of places (for example, the x combinator can be defined as dup i.)
This is a fundamental combinator. It is used in all kinds of places. For example, the x combinator can be defined as dup i.
Basis Function Combinator
@@ -1302,7 +1300,7 @@ a F aif not basis.
if not basis.
-if basis
Lorem ipsum.
@@ -1328,7 +1326,7 @@ a F aif not basis.
if not basis.
-if basis
Lorem ipsum.
@@ -1336,21 +1334,37 @@ a F aLorem ipsum.
Basis Function Combinator
+Combinator
+Take a quoted program from the stack and run it twice, first under the top item, then again with the top item.
... a [Q] ii
------------------
... Q a Q
-Gentzen diagram.
if not basis.
-if not basis.
-if basis
++ ++
It’s a little tricky to understand how this works so here’s an example trace:
+ 1 2 3 4 [++] • [dip] dupdip i
+1 2 3 4 [++] [dip] • dupdip i
+ 1 2 3 4 [++] • dip [++] i
+ 1 2 3 • ++ 4 [++] i
+ 1 2 4 • 4 [++] i
+ 1 2 4 4 • [++] i
+ 1 2 4 4 [++] • i
+ 1 2 4 4 • ++
+ 1 2 4 5 •
Lorem ipsum.
+In some cases (like the example above) this is the same effect as using app2 but most of the time it’s not:
+ 1 2 3 4 [+] ii
+--------------------
+ 1 9
+
+ 1 2 3 4 [+] app2
+----------------------
+ 1 2 5 6
Lorem ipsum.
+(Combinator)
@@ -1371,9 +1385,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1389,9 +1403,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1404,9 +1418,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1426,9 +1440,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1441,9 +1455,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1456,9 +1470,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1471,9 +1485,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1486,9 +1500,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1501,9 +1515,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1516,9 +1530,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1531,9 +1545,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1549,9 +1563,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1564,9 +1578,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1579,9 +1593,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1594,9 +1608,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1623,9 +1637,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1640,7 +1654,7 @@ a F a ... A[stack] dip infra first
-... [P] nullary
... [P] [stack] dip infra first
... stack [P] infra first
@@ -1658,9 +1672,9 @@ a F a
Gentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1673,9 +1687,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1688,9 +1702,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1703,9 +1717,9 @@ a F aGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1724,9 +1738,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1739,9 +1753,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1754,9 +1768,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1769,9 +1783,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1784,9 +1798,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1799,9 +1813,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1814,9 +1828,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1829,9 +1843,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1844,9 +1858,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1859,9 +1873,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1886,9 +1900,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1901,9 +1915,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1916,9 +1930,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1931,9 +1945,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1946,9 +1960,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1961,9 +1975,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -1985,9 +1999,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2000,9 +2014,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2016,9 +2030,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2031,9 +2045,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2046,9 +2060,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2068,9 +2082,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2083,9 +2097,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2098,9 +2112,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2113,9 +2127,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2128,9 +2142,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2152,9 +2166,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2167,9 +2181,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2182,9 +2196,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2202,9 +2216,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2217,9 +2231,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2232,9 +2246,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2247,9 +2261,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2262,9 +2276,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2277,9 +2291,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2292,9 +2306,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2307,9 +2321,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2322,9 +2336,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2337,9 +2351,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2366,9 +2380,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2381,9 +2395,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2396,9 +2410,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2411,9 +2425,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2426,9 +2440,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2441,9 +2455,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2457,9 +2471,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2472,9 +2486,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2487,9 +2501,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2502,9 +2516,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2517,9 +2531,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2532,9 +2546,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2547,9 +2561,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2565,9 +2579,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2593,9 +2607,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2621,9 +2635,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2639,9 +2653,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2667,7 +2681,7 @@ a+b a-b [A ...] uncons
--------------------
A [...]
-func(uncons, Si, So) :- func(cons, So, Si).
This is the inverse of cons.
Gentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2695,9 +2709,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2710,9 +2724,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2725,9 +2739,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2740,9 +2754,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2755,9 +2769,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2770,9 +2784,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2785,9 +2799,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2810,9 +2824,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
@@ -2825,9 +2839,9 @@ a+b a-bGentzen diagram.
if not basis.
-if not basis.
-if basis
Lorem ipsum.
diff --git a/docs/reference/mkref/Functor-Reference.md b/docs/reference/mkref/Functor-Reference.md index 2efc959..d5e089b 100644 --- a/docs/reference/mkref/Functor-Reference.md +++ b/docs/reference/mkref/Functor-Reference.md @@ -1862,23 +1862,19 @@ This is another function that has to wait on the numeric tower. ## i -(Basis Combinator) +Basis Combinator Append a quoted expression onto the pending expression. - [Q] i - ----------- - Q - -### Source - - combo(i, [list(P)|S], S, Ei, Eo) :- append(P, Ei, Eo). + [Q] . i + ------------- + . Q ### Discussion -This is probably the fundamental combinator. You wind up using it in all -kinds of places (for example, the `x` combinator can be defined as `dup i`.) +This is a fundamental combinator. It is used in all kinds of places. For +example, the [x] combinator can be defined as `dup i`. ------------------------------------------------------------------------ @@ -1959,33 +1955,49 @@ Lorem ipsum. ## ii -Basis Function Combinator +Combinator + +Take a quoted program from the stack and run it twice, first under the +top item, then again with the top item. ... a [Q] ii ------------------ ... Q a Q -Gentzen diagram. - ### Definition -if not basis. +> \[[dip]\] [dupdip] [i] -### Derivation +### Example -if not basis. +It's a little tricky to understand how this works so here's an example trace: -### Source - -if basis + 1 2 3 4 [++] • [dip] dupdip i + 1 2 3 4 [++] [dip] • dupdip i + 1 2 3 4 [++] • dip [++] i + 1 2 3 • ++ 4 [++] i + 1 2 4 • 4 [++] i + 1 2 4 4 • [++] i + 1 2 4 4 [++] • i + 1 2 4 4 • ++ + 1 2 4 5 • ### Discussion -Lorem ipsum. +In some cases (like the example above) this is the same effect as using [app2] but most of the time it's not: + + 1 2 3 4 [+] ii + -------------------- + 1 9 + + 1 2 3 4 [+] app2 + ---------------------- + 1 2 5 6 ### Crosslinks -Lorem ipsum. +[app2] +[b] --------------------