Nerd Sniped

This commit is contained in:
sforman 2023-10-09 11:44:13 -07:00
parent 04d3e96a99
commit 787dc6a7b3
8 changed files with 456 additions and 394 deletions

View File

@ -138,7 +138,10 @@ sum
</code></pre>
<h3><code>reverse-range-++</code></h3>
<p>Let's golf it a little. There is a version of <code>range</code> that generates its result list in reverse order, which would allow us to get rid of that <code>reverse</code> in the expression, and I bet we could modify that to generate them already incremented too. Let's assume we've done that already and call it <code>reverse-range-++</code>, why not?</p>
<pre><code>[reverse-range-++ range [++] map reverse] inscribe
<pre><code>reverse-range-++ == range [++] map reverse
</code></pre>
<p>See: <a href="https://joypy.osdn.io/notebooks/Recursion_Combinators.html#range-with-h4"><code>range</code> with <code>H4</code> in the Recursion Combinators notebook</a>.</p>
<pre><code>[reverse-range-++ [] swap [1 &lt;=] [pop] [[swons] dupdip --] tailrec] inscribe
</code></pre>
<p>Then:</p>
<pre><code>dup size

View File

@ -149,8 +149,12 @@ Let's reformat:
Let's golf it a little. There is a version of `range` that generates its result list in reverse order, which would allow us to get rid of that `reverse` in the expression, and I bet we could modify that to generate them already incremented too. Let's assume we've done that already and call it `reverse-range-++`, why not?
[reverse-range-++ range [++] map reverse] inscribe
reverse-range-++ == range [++] map reverse
See: [`range` with `H4` in the Recursion Combinators notebook](https://joypy.osdn.io/notebooks/Recursion_Combinators.html#range-with-h4).
[reverse-range-++ [] swap [1 <=] [pop] [[swons] dupdip --] tailrec] inscribe
Then:
dup size

View File

@ -80,6 +80,8 @@ codi, def_codi
codireco, def_codireco
dinfrirst, def_dinfrirst
dipd, def_dipd
dipdd, def_dipdd
dipddd, def_dipddd
disenstacken, def_disenstacken
divmod, def_divmod
down_to_zero, def_down_to_zero
@ -89,6 +91,7 @@ dupd, def_dupd
dupdipd, def_dupdipd
dupdip, def_dupdip
enstacken, def_enstacken
first_two, def_first_two
flatten, def_flatten
fork, def_fork
fourth, def_fourth
@ -96,7 +99,6 @@ gcd, def_gcd
genrec, def_genrec
grabN, def_grabN
grba, def_grba
hypot, def_hypot
ifte, def_ifte
ii, def_ii
infra, def_infra
@ -181,4 +183,8 @@ _isnt_two_bools, def__isnt_two_bools
_\/_, def___REVERSE_SOLIDUS_SOLIDUS__
/\, def_SOLIDUS_REVERSE_SOLIDUS
\/, def_REVERSE_SOLIDUS_SOLIDUS
xor, def_xor
_isnt_list, def__isnt_list
zip, def_zip
shift-pair, def_shift_HYPHEN_MINUS_pair
uncons-two, def_uncons_HYPHEN_MINUS_two
quote-two, def_quote_HYPHEN_MINUS_two

View File

@ -43,6 +43,8 @@ JoyList def_codi_body;
JoyList def_codireco_body;
JoyList def_dinfrirst_body;
JoyList def_dipd_body;
JoyList def_dipdd_body;
JoyList def_dipddd_body;
JoyList def_disenstacken_body;
JoyList def_divmod_body;
JoyList def_down_to_zero_body;
@ -52,6 +54,7 @@ JoyList def_dupd_body;
JoyList def_dupdipd_body;
JoyList def_dupdip_body;
JoyList def_enstacken_body;
JoyList def_first_two_body;
JoyList def_flatten_body;
JoyList def_fork_body;
JoyList def_fourth_body;
@ -59,7 +62,6 @@ JoyList def_gcd_body;
JoyList def_genrec_body;
JoyList def_grabN_body;
JoyList def_grba_body;
JoyList def_hypot_body;
JoyList def_ifte_body;
JoyList def_ii_body;
JoyList def_infra_body;
@ -144,7 +146,11 @@ JoyList def__isnt_two_bools_body;
JoyList def___REVERSE_SOLIDUS_SOLIDUS___body;
JoyList def_SOLIDUS_REVERSE_SOLIDUS_body;
JoyList def_REVERSE_SOLIDUS_SOLIDUS_body;
JoyList def_xor_body;
JoyList def__isnt_list_body;
JoyList def_zip_body;
JoyList def_shift_HYPHEN_MINUS_pair_body;
JoyList def_uncons_HYPHEN_MINUS_two_body;
JoyList def_quote_HYPHEN_MINUS_two_body;
/*
@ -186,6 +192,8 @@ init_defs(void)
def_codireco_body = text_to_expression("codi reco");
def_dinfrirst_body = text_to_expression("dip infrst");
def_dipd_body = text_to_expression("[dip] codi");
def_dipdd_body = text_to_expression("[dip] cons dipd");
def_dipddd_body = text_to_expression("[dipd] cons dipd");
def_disenstacken_body = text_to_expression("swaack pop");
def_divmod_body = text_to_expression("[/] [%] clop");
def_down_to_zero_body = text_to_expression("[0 >] [dup --] while");
@ -195,6 +203,7 @@ init_defs(void)
def_dupdipd_body = text_to_expression("dup dipd");
def_dupdip_body = text_to_expression("dupd dip");
def_enstacken_body = text_to_expression("stack [clear] dip");
def_first_two_body = text_to_expression("uncons first");
def_flatten_body = text_to_expression("<{} [concat] step");
def_fork_body = text_to_expression("[i] app2");
def_fourth_body = text_to_expression("rest third");
@ -202,7 +211,6 @@ init_defs(void)
def_genrec_body = text_to_expression("[[genrec] ccccons] nullary swons concat ifte");
def_grabN_body = text_to_expression("<{} [cons] times");
def_grba_body = text_to_expression("[stack popd] dip");
def_hypot_body = text_to_expression("[sqr] ii + sqrt");
def_ifte_body = text_to_expression("[nullary] dipd swap branch");
def_ii_body = text_to_expression("[dip] dupdip i");
def_infra_body = text_to_expression("swons swaack [i] dip swaack");
@ -213,7 +221,7 @@ init_defs(void)
def_not_body = text_to_expression("[true] [false] branch");
def_nulco_body = text_to_expression("[nullary] cons");
def_nullary_body = text_to_expression("[stack] dinfrirst");
def_null_body = text_to_expression("[] swap concat bool not");
def_null_body = text_to_expression("_isnt_list bool not");
def_of_body = text_to_expression("swap at");
def_or_body = text_to_expression("nulco [nullary] dip [true] branch");
def_over_body = text_to_expression("[dup] dip swap");
@ -282,12 +290,16 @@ init_defs(void)
def__map0_body = text_to_expression("[_map1] dipd _map2");
def__map1_body = text_to_expression("stackd shift");
def__map2_body = text_to_expression("[infrst] cons dipd roll< swons");
def__isnt_bool_body = text_to_expression("not not");
def__isnt_bool_body = text_to_expression("[false] [true] branch");
def__isnt_two_bools_body = text_to_expression("[_isnt_bool] ii");
def___REVERSE_SOLIDUS_SOLIDUS___body = text_to_expression("[_isnt_bool] [not] branch");
def_SOLIDUS_REVERSE_SOLIDUS_body = text_to_expression("_isnt_two_bools [pop false] [] branch");
def_REVERSE_SOLIDUS_SOLIDUS_body = text_to_expression("_isnt_two_bools [] [pop true] branch");
def_xor_body = text_to_expression("[] [not] branch");
def__isnt_list_body = text_to_expression("[] swoncat");
def_zip_body = text_to_expression("[null] [pop] [shift-pair] [i cons] genrec");
def_shift_HYPHEN_MINUS_pair_body = text_to_expression("uncons-two [quote-two] dipd");
def_uncons_HYPHEN_MINUS_two_body = text_to_expression("[uncons] ii swapd");
def_quote_HYPHEN_MINUS_two_body = text_to_expression("unit cons");
}
@ -326,6 +338,8 @@ void def_codi(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) {
void def_codireco(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_codireco_body, expression); }
void def_dinfrirst(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dinfrirst_body, expression); }
void def_dipd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dipd_body, expression); }
void def_dipdd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dipdd_body, expression); }
void def_dipddd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dipddd_body, expression); }
void def_disenstacken(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_disenstacken_body, expression); }
void def_divmod(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_divmod_body, expression); }
void def_down_to_zero(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_down_to_zero_body, expression); }
@ -335,6 +349,7 @@ void def_dupd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) {
void def_dupdipd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dupdipd_body, expression); }
void def_dupdip(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_dupdip_body, expression); }
void def_enstacken(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_enstacken_body, expression); }
void def_first_two(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_first_two_body, expression); }
void def_flatten(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_flatten_body, expression); }
void def_fork(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_fork_body, expression); }
void def_fourth(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_fourth_body, expression); }
@ -342,7 +357,6 @@ void def_gcd(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) {
void def_genrec(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_genrec_body, expression); }
void def_grabN(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_grabN_body, expression); }
void def_grba(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_grba_body, expression); }
void def_hypot(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_hypot_body, expression); }
void def_ifte(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_ifte_body, expression); }
void def_ii(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_ii_body, expression); }
void def_infra(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_infra_body, expression); }
@ -427,4 +441,8 @@ void def__isnt_two_bools(__attribute__((unused)) JoyListPtr stack, JoyListPtr ex
void def___REVERSE_SOLIDUS_SOLIDUS__(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def___REVERSE_SOLIDUS_SOLIDUS___body, expression); }
void def_SOLIDUS_REVERSE_SOLIDUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_SOLIDUS_REVERSE_SOLIDUS_body, expression); }
void def_REVERSE_SOLIDUS_SOLIDUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_REVERSE_SOLIDUS_SOLIDUS_body, expression); }
void def_xor(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_xor_body, expression); }
void def__isnt_list(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__isnt_list_body, expression); }
void def_zip(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_zip_body, expression); }
void def_shift_HYPHEN_MINUS_pair(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_shift_HYPHEN_MINUS_pair_body, expression); }
void def_uncons_HYPHEN_MINUS_two(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_uncons_HYPHEN_MINUS_two_body, expression); }
void def_quote_HYPHEN_MINUS_two(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_quote_HYPHEN_MINUS_two_body, expression); }

View File

@ -34,6 +34,8 @@ void def_codi(JoyListPtr stack, JoyListPtr expression);
void def_codireco(JoyListPtr stack, JoyListPtr expression);
void def_dinfrirst(JoyListPtr stack, JoyListPtr expression);
void def_dipd(JoyListPtr stack, JoyListPtr expression);
void def_dipdd(JoyListPtr stack, JoyListPtr expression);
void def_dipddd(JoyListPtr stack, JoyListPtr expression);
void def_disenstacken(JoyListPtr stack, JoyListPtr expression);
void def_divmod(JoyListPtr stack, JoyListPtr expression);
void def_down_to_zero(JoyListPtr stack, JoyListPtr expression);
@ -43,6 +45,7 @@ void def_dupd(JoyListPtr stack, JoyListPtr expression);
void def_dupdipd(JoyListPtr stack, JoyListPtr expression);
void def_dupdip(JoyListPtr stack, JoyListPtr expression);
void def_enstacken(JoyListPtr stack, JoyListPtr expression);
void def_first_two(JoyListPtr stack, JoyListPtr expression);
void def_flatten(JoyListPtr stack, JoyListPtr expression);
void def_fork(JoyListPtr stack, JoyListPtr expression);
void def_fourth(JoyListPtr stack, JoyListPtr expression);
@ -50,7 +53,6 @@ void def_gcd(JoyListPtr stack, JoyListPtr expression);
void def_genrec(JoyListPtr stack, JoyListPtr expression);
void def_grabN(JoyListPtr stack, JoyListPtr expression);
void def_grba(JoyListPtr stack, JoyListPtr expression);
void def_hypot(JoyListPtr stack, JoyListPtr expression);
void def_ifte(JoyListPtr stack, JoyListPtr expression);
void def_ii(JoyListPtr stack, JoyListPtr expression);
void def_infra(JoyListPtr stack, JoyListPtr expression);
@ -135,4 +137,8 @@ void def__isnt_two_bools(JoyListPtr stack, JoyListPtr expression);
void def___REVERSE_SOLIDUS_SOLIDUS__(JoyListPtr stack, JoyListPtr expression);
void def_SOLIDUS_REVERSE_SOLIDUS(JoyListPtr stack, JoyListPtr expression);
void def_REVERSE_SOLIDUS_SOLIDUS(JoyListPtr stack, JoyListPtr expression);
void def_xor(JoyListPtr stack, JoyListPtr expression);
void def__isnt_list(JoyListPtr stack, JoyListPtr expression);
void def_zip(JoyListPtr stack, JoyListPtr expression);
void def_shift_HYPHEN_MINUS_pair(JoyListPtr stack, JoyListPtr expression);
void def_uncons_HYPHEN_MINUS_two(JoyListPtr stack, JoyListPtr expression);
void def_quote_HYPHEN_MINUS_two(JoyListPtr stack, JoyListPtr expression);

View File

@ -31,6 +31,8 @@ codi cons dip
codireco codi reco
dinfrirst dip infrst
dipd [dip] codi
dipdd [dip] cons dipd
dipddd [dipd] cons dipd
disenstacken swaack pop
divmod [/] [%] clop
down_to_zero [0 >] [dup --] while
@ -41,6 +43,7 @@ dupdipd dup dipd
dupdip dupd dip
enstacken stack [clear] dip
first uncons pop
first_two uncons first
flatten <{} [concat] step
fork [i] app2
fourth rest third
@ -48,7 +51,6 @@ gcd true [tuck mod dup 0 >] loop pop
genrec [[genrec] ccccons] nullary swons concat ifte
grabN <{} [cons] times
grba [stack popd] dip
hypot [sqr] ii + sqrt
ifte [nullary] dipd swap branch
ii [dip] dupdip i
infra swons swaack [i] dip swaack
@ -61,7 +63,7 @@ neg 0 swap -
not [true] [false] branch
nulco [nullary] cons
nullary [stack] dinfrirst
null [] swap concat bool not
null _isnt_list bool not
of swap at
or nulco [nullary] dip [true] branch
over [dup] dip swap
@ -132,9 +134,13 @@ _mape popd reverse
_map0 [_map1] dipd _map2
_map1 stackd shift
_map2 [infrst] cons dipd roll< swons
_isnt_bool not not
_isnt_bool [false] [true] branch
_isnt_two_bools [_isnt_bool] ii
_\/_ [_isnt_bool] [not] branch
/\ _isnt_two_bools [pop false] [] branch
\/ _isnt_two_bools [] [pop true] branch
xor [] [not] branch
_isnt_list [] swoncat
zip [null] [pop] [shift-pair] [i cons] genrec
shift-pair uncons-two [quote-two] dipd
uncons-two [uncons] ii swapd
quote-two unit cons

View File

@ -36,7 +36,7 @@
#line 13 "KEYWORDS.txt"
struct dict_entry;
#include <string.h>
/* maximum key range = 359, duplicates = 0 */
/* maximum key range = 323, duplicates = 0 */
#ifdef __GNUC__
__inline
@ -50,32 +50,32 @@ keyword_hash (register const char *str, register size_t len)
{
static const unsigned short asso_values[] =
{
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 35, 360, 360, 360, 60, 360, 360,
360, 360, 30, 85, 360, 45, 360, 20, 60, 35,
0, 25, 360, 360, 360, 360, 360, 360, 360, 360,
10, 90, 0, 80, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 20, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 30, 360, 360, 90, 360, 100, 70, 0,
5, 30, 40, 115, 15, 15, 360, 50, 40, 60,
0, 15, 0, 85, 70, 30, 25, 0, 95, 30,
25, 10, 20, 40, 360, 0, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 110, 324, 324, 324, 105, 324, 324,
324, 324, 100, 50, 324, 35, 324, 10, 35, 10,
80, 35, 324, 324, 324, 324, 324, 324, 324, 324,
95, 60, 15, 40, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 40, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 15, 324, 324, 100, 324, 20, 70, 15,
5, 60, 55, 100, 55, 0, 324, 55, 35, 100,
0, 0, 0, 110, 65, 0, 30, 15, 80, 160,
55, 85, 15, 5, 324, 0, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324
};
register unsigned int hval = len;
@ -99,424 +99,433 @@ in_word_set (register const char *str, register size_t len)
{
enum
{
TOTAL_KEYWORDS = 170,
TOTAL_KEYWORDS = 176,
MIN_WORD_LENGTH = 1,
MAX_WORD_LENGTH = 15,
MIN_HASH_VALUE = 1,
MAX_HASH_VALUE = 359
MAX_HASH_VALUE = 323
};
static const struct dict_entry wordlist[] =
{
{""},
#line 16 "KEYWORDS.txt"
{">", def_gt},
#line 134 "KEYWORDS.txt"
{">>", def_GREATER_THAN_SIGN_GREATER_THAN_SIGN},
{""}, {""}, {""}, {""}, {""},
#line 41 "KEYWORDS.txt"
{"dup", dup},
{""}, {""},
#line 90 "KEYWORDS.txt"
{"dupdip", def_dupdip},
#line 19 "KEYWORDS.txt"
{"<>", def_neq},
{""},
#line 88 "KEYWORDS.txt"
{"dupd", def_dupd},
#line 87 "KEYWORDS.txt"
{"dupdd", def_dupdd},
{""},
#line 89 "KEYWORDS.txt"
{"dupdipd", def_dupdipd},
#line 43 "KEYWORDS.txt"
{"i", i_joyfunc},
#line 103 "KEYWORDS.txt"
{"ii", def_ii},
#line 46 "KEYWORDS.txt"
{"pop", pop},
{""},
#line 121 "KEYWORDS.txt"
#line 123 "KEYWORDS.txt"
{"popop", def_popop},
#line 17 "KEYWORDS.txt"
{"<", def_lt},
#line 120 "KEYWORDS.txt"
{""},
#line 122 "KEYWORDS.txt"
{"popopop", def_popopop},
#line 40 "KEYWORDS.txt"
{"dip", dip},
#line 117 "KEYWORDS.txt"
{"popd", def_popd},
#line 116 "KEYWORDS.txt"
{"popdd", def_popdd},
#line 119 "KEYWORDS.txt"
{"popopd", def_popopd},
{"popd", def_popd},
#line 118 "KEYWORDS.txt"
{"popdd", def_popdd},
#line 121 "KEYWORDS.txt"
{"popopd", def_popopd},
#line 120 "KEYWORDS.txt"
{"popopdd", def_popopdd},
{""},
#line 82 "KEYWORDS.txt"
{"dipd", def_dipd},
{""},
#line 43 "KEYWORDS.txt"
{"i", i_joyfunc},
#line 104 "KEYWORDS.txt"
{"<<", def_LESS_THAN_SIGN_LESS_THAN_SIGN},
{""}, {""}, {""},
#line 158 "KEYWORDS.txt"
{"uncons", def_uncons},
#line 75 "KEYWORDS.txt"
{"ccccons", def_ccccons},
{""},
#line 79 "KEYWORDS.txt"
{"codi", def_codi},
#line 83 "KEYWORDS.txt"
{"dipdd", def_dipdd},
#line 84 "KEYWORDS.txt"
{"dipddd", def_dipddd},
#line 85 "KEYWORDS.txt"
{"disenstacken", def_disenstacken},
#line 187 "KEYWORDS.txt"
{"zip", def_zip},
#line 38 "KEYWORDS.txt"
{"cons", cons},
{""},
#line 30 "KEYWORDS.txt"
{"/", fdiv_q},
#line 51 "KEYWORDS.txt"
{"fn", fn},
#line 164 "KEYWORDS.txt"
{"unswons", def_unswons},
#line 41 "KEYWORDS.txt"
{"dup", dup},
#line 79 "KEYWORDS.txt"
{"codi", def_codi},
{""},
#line 92 "KEYWORDS.txt"
{"dupdip", def_dupdip},
{""},
#line 80 "KEYWORDS.txt"
{"codireco", def_codireco},
#line 159 "KEYWORDS.txt"
#line 90 "KEYWORDS.txt"
{"dupd", def_dupd},
#line 89 "KEYWORDS.txt"
{"dupdd", def_dupdd},
#line 16 "KEYWORDS.txt"
{">", def_gt},
#line 91 "KEYWORDS.txt"
{"dupdipd", def_dupdipd},
#line 66 "KEYWORDS.txt"
{"and", def_and},
#line 67 "KEYWORDS.txt"
{"app1", def_app1},
#line 76 "KEYWORDS.txt"
{"ccons", def_ccons},
#line 160 "KEYWORDS.txt"
{"uncons", def_uncons},
#line 185 "KEYWORDS.txt"
{"\\/", def_REVERSE_SOLIDUS_SOLIDUS},
#line 27 "KEYWORDS.txt"
{"add", add},
#line 45 "KEYWORDS.txt"
{"loop", loop},
#line 189 "KEYWORDS.txt"
{"uncons-two", def_uncons_HYPHEN_MINUS_two},
#line 143 "KEYWORDS.txt"
{"spiral_next", def_spiral_next},
#line 184 "KEYWORDS.txt"
{"/\\", def_SOLIDUS_REVERSE_SOLIDUS},
{""},
#line 81 "KEYWORDS.txt"
{"dinfrirst", def_dinfrirst},
{""}, {""},
#line 136 "KEYWORDS.txt"
{">>", def_GREATER_THAN_SIGN_GREATER_THAN_SIGN},
{""},
#line 161 "KEYWORDS.txt"
{"unit", def_unit},
{""},
#line 39 "KEYWORDS.txt"
{"concat", concat},
#line 101 "KEYWORDS.txt"
{"ii", def_ii},
{""},
#line 38 "KEYWORDS.txt"
{"cons", cons},
#line 76 "KEYWORDS.txt"
{"ccons", def_ccons},
#line 164 "KEYWORDS.txt"
{"x", def_x},
{""},
#line 62 "KEYWORDS.txt"
{"<{}", def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET},
#line 81 "KEYWORDS.txt"
{"dinfrirst", def_dinfrirst},
#line 99 "KEYWORDS.txt"
{"hypot", def_hypot},
{""},
#line 109 "KEYWORDS.txt"
{"nullary", def_nullary},
{""},
#line 75 "KEYWORDS.txt"
{"ccccons", def_ccccons},
#line 149 "KEYWORDS.txt"
{"stuncons", def_stuncons},
#line 78 "KEYWORDS.txt"
{"clop", def_clop},
#line 108 "KEYWORDS.txt"
{"nulco", def_nulco},
#line 24 "KEYWORDS.txt"
{"*", mul},
#line 83 "KEYWORDS.txt"
{"disenstacken", def_disenstacken},
#line 37 "KEYWORDS.txt"
{"cmp", cmp_joyfunc},
#line 63 "KEYWORDS.txt"
{"<<{}", def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET},
#line 155 "KEYWORDS.txt"
{"third", def_third},
{""},
#line 162 "KEYWORDS.txt"
{"unswons", def_unswons},
#line 107 "KEYWORDS.txt"
{"not", def_not},
#line 91 "KEYWORDS.txt"
{"enstacken", def_enstacken},
{""},
#line 136 "KEYWORDS.txt"
{"second", def_second},
#line 183 "KEYWORDS.txt"
{"\\/", def_REVERSE_SOLIDUS_SOLIDUS},
#line 135 "KEYWORDS.txt"
{"run", def_run},
#line 45 "KEYWORDS.txt"
{"loop", loop},
#line 138 "KEYWORDS.txt"
{"shunt", def_shunt},
#line 94 "KEYWORDS.txt"
{"fourth", def_fourth},
#line 85 "KEYWORDS.txt"
{"down_to_zero", def_down_to_zero},
#line 122 "KEYWORDS.txt"
{"pow", def_pow},
#line 156 "KEYWORDS.txt"
{"tuck", def_tuck},
{""},
#line 141 "KEYWORDS.txt"
{"spiral_next", def_spiral_next},
#line 182 "KEYWORDS.txt"
{"/\\", def_SOLIDUS_REVERSE_SOLIDUS},
#line 44 "KEYWORDS.txt"
{"inscribe", inscribe},
#line 110 "KEYWORDS.txt"
{"null", def_null},
{"nulco", def_nulco},
{""},
#line 103 "KEYWORDS.txt"
{"infrst", def_infrst},
#line 161 "KEYWORDS.txt"
{"unstack", def_unstack},
#line 23 "KEYWORDS.txt"
{"mod", fdiv_r},
#line 165 "KEYWORDS.txt"
{"step", def_step},
#line 137 "KEYWORDS.txt"
{"shift", def_shift},
#line 28 "KEYWORDS.txt"
{"-", sub},
#line 54 "KEYWORDS.txt"
{"lt", def_lt},
#line 147 "KEYWORDS.txt"
{"stuncons", def_stuncons},
#line 86 "KEYWORDS.txt"
{"drop", def_drop},
#line 163 "KEYWORDS.txt"
{"while", def_while},
#line 51 "KEYWORDS.txt"
{"fn", fn},
{""},
#line 111 "KEYWORDS.txt"
{"of", def_of},
#line 160 "KEYWORDS.txt"
{"unquoted", def_unquoted},
#line 139 "KEYWORDS.txt"
{"size", def_size},
{""},
#line 74 "KEYWORDS.txt"
{"binary", def_binary},
#line 56 "KEYWORDS.txt"
{"le", def_le},
#line 142 "KEYWORDS.txt"
{"split_at", def_split_at},
#line 68 "KEYWORDS.txt"
{"app2", def_app2},
#line 143 "KEYWORDS.txt"
{"split_list", def_split_list},
#line 77 "KEYWORDS.txt"
{"cleave", def_cleave},
#line 150 "KEYWORDS.txt"
{"swoncat", def_swoncat},
{""},
#line 146 "KEYWORDS.txt"
{"step_zero", def_step_zero},
#line 151 "KEYWORDS.txt"
{"swons", def_swons},
#line 124 "KEYWORDS.txt"
{"quoted", def_quoted},
{""},
#line 66 "KEYWORDS.txt"
{"and", def_and},
#line 100 "KEYWORDS.txt"
{"ifte", def_ifte},
#line 157 "KEYWORDS.txt"
{"unary", def_unary},
#line 32 "KEYWORDS.txt"
{"lshift", lshift},
#line 123 "KEYWORDS.txt"
{"product", def_product},
#line 27 "KEYWORDS.txt"
{"add", add},
#line 127 "KEYWORDS.txt"
{"reco", def_reco},
{""},
#line 22 "KEYWORDS.txt"
{"%", fdiv_r},
#line 115 "KEYWORDS.txt"
{"pm", def_pm},
{""},
#line 70 "KEYWORDS.txt"
{"appN", def_appN},
{""},
#line 84 "KEYWORDS.txt"
{"divmod", def_divmod},
#line 59 "KEYWORDS.txt"
{"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS},
#line 95 "KEYWORDS.txt"
{"gcd", def_gcd},
#line 69 "KEYWORDS.txt"
{"app3", def_app3},
#line 131 "KEYWORDS.txt"
{"roll>", def_roll_GREATER_THAN_SIGN},
#line 132 "KEYWORDS.txt"
{"rollup", def_rollup},
{""},
#line 129 "KEYWORDS.txt"
{"rolldown", def_rolldown},
#line 147 "KEYWORDS.txt"
{"stackd", def_stackd},
{""},
#line 169 "KEYWORDS.txt"
{"times", def_times},
{""},
#line 61 "KEYWORDS.txt"
{"--", def_HYPHEN_MINUS_HYPHEN_MINUS},
{""},
#line 67 "KEYWORDS.txt"
{"app1", def_app1},
#line 130 "KEYWORDS.txt"
{"roll<", def_roll_LESS_THAN_SIGN},
#line 73 "KEYWORDS.txt"
{"b", def_b},
#line 154 "KEYWORDS.txt"
{"ternary", def_ternary},
#line 25 "KEYWORDS.txt"
{"mul", mul},
#line 34 "KEYWORDS.txt"
{"bool", truthy},
#line 36 "KEYWORDS.txt"
{"clear", clear},
#line 33 "KEYWORDS.txt"
{"rshift", rshift},
#line 152 "KEYWORDS.txt"
{"tailrec", def_tailrec},
#line 109 "KEYWORDS.txt"
{"not", def_not},
#line 70 "KEYWORDS.txt"
{"appN", def_appN},
{""}, {""}, {""},
#line 96 "KEYWORDS.txt"
{"genrec", def_genrec},
#line 71 "KEYWORDS.txt"
{"at", def_at},
#line 148 "KEYWORDS.txt"
{"sum", def_sum},
#line 44 "KEYWORDS.txt"
{"inscribe", inscribe},
#line 93 "KEYWORDS.txt"
{"enstacken", def_enstacken},
{""},
#line 42 "KEYWORDS.txt"
{"first", first},
#line 28 "KEYWORDS.txt"
{"-", sub},
#line 154 "KEYWORDS.txt"
{"tailrec", def_tailrec},
#line 144 "KEYWORDS.txt"
{"split_at", def_split_at},
#line 88 "KEYWORDS.txt"
{"drop", def_drop},
#line 145 "KEYWORDS.txt"
{"split_list", def_split_list},
{""},
#line 112 "KEYWORDS.txt"
{"or", def_or},
#line 163 "KEYWORDS.txt"
{"unstack", def_unstack},
{""},
#line 47 "KEYWORDS.txt"
{"rest", rest},
#line 102 "KEYWORDS.txt"
#line 141 "KEYWORDS.txt"
{"size", def_size},
#line 104 "KEYWORDS.txt"
{"infra", def_infra},
#line 58 "KEYWORDS.txt"
{"?", def_QUESTION_MARK},
#line 172 "KEYWORDS.txt"
{"_timest", def__timest},
#line 173 "KEYWORDS.txt"
{"map", def_map},
#line 50 "KEYWORDS.txt"
{"swap", swap},
#line 71 "KEYWORDS.txt"
{"at", def_at},
#line 137 "KEYWORDS.txt"
{"run", def_run},
{""}, {""},
#line 138 "KEYWORDS.txt"
{"second", def_second},
{""}, {""},
#line 112 "KEYWORDS.txt"
{"null", def_null},
#line 139 "KEYWORDS.txt"
{"shift", def_shift},
#line 105 "KEYWORDS.txt"
{"infrst", def_infrst},
{""},
#line 145 "KEYWORDS.txt"
{"stackd", def_stackd},
#line 64 "KEYWORDS.txt"
{"abs", def_abs},
#line 167 "KEYWORDS.txt"
{"step", def_step},
#line 157 "KEYWORDS.txt"
{"third", def_third},
#line 86 "KEYWORDS.txt"
{"divmod", def_divmod},
#line 54 "KEYWORDS.txt"
{"lt", def_lt},
#line 128 "KEYWORDS.txt"
{"range_to_zero", def_range_to_zero},
#line 148 "KEYWORDS.txt"
{"step_zero", def_step_zero},
{""},
#line 26 "KEYWORDS.txt"
{"+", add},
#line 125 "KEYWORDS.txt"
{"product", def_product},
#line 62 "KEYWORDS.txt"
{"<{}", def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET},
#line 68 "KEYWORDS.txt"
{"app2", def_app2},
#line 140 "KEYWORDS.txt"
{"shunt", def_shunt},
#line 134 "KEYWORDS.txt"
{"rollup", def_rollup},
#line 61 "KEYWORDS.txt"
{"--", def_HYPHEN_MINUS_HYPHEN_MINUS},
#line 131 "KEYWORDS.txt"
{"rolldown", def_rolldown},
#line 34 "KEYWORDS.txt"
{"bool", truthy},
#line 48 "KEYWORDS.txt"
{"stack", stack},
#line 166 "KEYWORDS.txt"
{"x", def_x},
#line 113 "KEYWORDS.txt"
{"of", def_of},
#line 23 "KEYWORDS.txt"
{"mod", fdiv_r},
{""},
#line 182 "KEYWORDS.txt"
{"_isnt_two_bools", def__isnt_two_bools},
{""},
#line 95 "KEYWORDS.txt"
{"flatten", def_flatten},
#line 37 "KEYWORDS.txt"
{"cmp", cmp_joyfunc},
#line 158 "KEYWORDS.txt"
{"tuck", def_tuck},
#line 133 "KEYWORDS.txt"
{"roll>", def_roll_GREATER_THAN_SIGN},
#line 15 "KEYWORDS.txt"
{"=", def_eq},
{""},
#line 175 "KEYWORDS.txt"
{"map", def_map},
{""},
#line 159 "KEYWORDS.txt"
{"unary", def_unary},
#line 32 "KEYWORDS.txt"
{"lshift", lshift},
#line 19 "KEYWORDS.txt"
{"<>", def_neq},
#line 98 "KEYWORDS.txt"
{"gcd", def_gcd},
#line 94 "KEYWORDS.txt"
{"first_two", def_first_two},
#line 188 "KEYWORDS.txt"
{"shift-pair", def_shift_HYPHEN_MINUS_pair},
#line 97 "KEYWORDS.txt"
{"fourth", def_fourth},
#line 114 "KEYWORDS.txt"
{"or", def_or},
{""},
#line 190 "KEYWORDS.txt"
{"quote-two", def_quote_HYPHEN_MINUS_two},
#line 171 "KEYWORDS.txt"
{"times", def_times},
#line 126 "KEYWORDS.txt"
{"quoted", def_quoted},
#line 21 "KEYWORDS.txt"
{">=", def_ge},
#line 162 "KEYWORDS.txt"
{"unquoted", def_unquoted},
{""},
#line 186 "KEYWORDS.txt"
{"_isnt_list", def__isnt_list},
#line 73 "KEYWORDS.txt"
{"b", def_b},
#line 111 "KEYWORDS.txt"
{"nullary", def_nullary},
{""},
#line 129 "KEYWORDS.txt"
{"reco", def_reco},
#line 181 "KEYWORDS.txt"
{"_isnt_bool", def__isnt_bool},
#line 169 "KEYWORDS.txt"
{"_step1", def__step1},
#line 173 "KEYWORDS.txt"
{"_times1", def__times1},
{""},
#line 102 "KEYWORDS.txt"
{"ifte", def_ifte},
#line 127 "KEYWORDS.txt"
{"range", def_range},
#line 65 "KEYWORDS.txt"
{"anamorphism", def_anamorphism},
#line 60 "KEYWORDS.txt"
{"++", def_PLUS_SIGN_PLUS_SIGN},
{""}, {""},
#line 42 "KEYWORDS.txt"
{"first", first},
#line 33 "KEYWORDS.txt"
{"rshift", rshift},
#line 56 "KEYWORDS.txt"
{"le", def_le},
#line 29 "KEYWORDS.txt"
{"sub", sub},
#line 47 "KEYWORDS.txt"
{"rest", rest},
#line 142 "KEYWORDS.txt"
{"small", def_small},
#line 74 "KEYWORDS.txt"
{"binary", def_binary},
#line 53 "KEYWORDS.txt"
{"gt", def_gt},
{""}, {""},
#line 149 "KEYWORDS.txt"
{"swapd", def_swapd},
#line 26 "KEYWORDS.txt"
{"+", add},
#line 171 "KEYWORDS.txt"
{"_times1", def__times1},
#line 29 "KEYWORDS.txt"
{"sub", sub},
{""}, {""},
#line 168 "KEYWORDS.txt"
#line 153 "KEYWORDS.txt"
{"swons", def_swons},
#line 170 "KEYWORDS.txt"
{"_stept", def__stept},
#line 57 "KEYWORDS.txt"
{"ge", def_ge},
#line 174 "KEYWORDS.txt"
{"_timest", def__timest},
#line 31 "KEYWORDS.txt"
{"div", fdiv_q},
#line 155 "KEYWORDS.txt"
{"take", def_take},
{""},
#line 93 "KEYWORDS.txt"
#line 168 "KEYWORDS.txt"
{"_step0", def__step0},
#line 172 "KEYWORDS.txt"
{"_times0", def__times0},
{""}, {""}, {""},
#line 77 "KEYWORDS.txt"
{"cleave", def_cleave},
#line 87 "KEYWORDS.txt"
{"down_to_zero", def_down_to_zero},
{""},
#line 96 "KEYWORDS.txt"
{"fork", def_fork},
#line 180 "KEYWORDS.txt"
{"_isnt_two_bools", def__isnt_two_bools},
#line 15 "KEYWORDS.txt"
{"=", def_eq},
#line 21 "KEYWORDS.txt"
{">=", def_ge},
#line 184 "KEYWORDS.txt"
{"xor", def_xor},
#line 36 "KEYWORDS.txt"
{"clear", clear},
#line 99 "KEYWORDS.txt"
{"genrec", def_genrec},
#line 59 "KEYWORDS.txt"
{"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS},
{""},
#line 179 "KEYWORDS.txt"
{"_isnt_bool", def__isnt_bool},
#line 167 "KEYWORDS.txt"
{"_step1", def__step1},
#line 92 "KEYWORDS.txt"
{"flatten", def_flatten},
#line 50 "KEYWORDS.txt"
{"swap", swap},
{""}, {""}, {""},
#line 25 "KEYWORDS.txt"
{"mul", mul},
{""},
#line 151 "KEYWORDS.txt"
{"swapd", def_swapd},
#line 17 "KEYWORDS.txt"
{"<", def_lt},
{""}, {""}, {""}, {""}, {""},
#line 152 "KEYWORDS.txt"
{"swoncat", def_swoncat},
{""},
#line 63 "KEYWORDS.txt"
{"<<{}", def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET},
#line 132 "KEYWORDS.txt"
{"roll<", def_roll_LESS_THAN_SIGN},
#line 24 "KEYWORDS.txt"
{"*", mul},
#line 117 "KEYWORDS.txt"
{"pm", def_pm},
{""}, {""}, {""}, {""}, {""}, {""},
#line 115 "KEYWORDS.txt"
{"over", def_over},
{""},
#line 22 "KEYWORDS.txt"
{"%", fdiv_r},
{""}, {""}, {""}, {""},
#line 35 "KEYWORDS.txt"
{"branch", branch},
#line 20 "KEYWORDS.txt"
{"<=", def_le},
{""}, {""}, {""}, {""},
#line 170 "KEYWORDS.txt"
{"_times0", def__times0},
#line 126 "KEYWORDS.txt"
{"range_to_zero", def_range_to_zero},
#line 150 "KEYWORDS.txt"
{"sum", def_sum},
{""}, {""}, {""},
#line 57 "KEYWORDS.txt"
{"ge", def_ge},
#line 116 "KEYWORDS.txt"
{"pam", def_pam},
{""},
#line 133 "KEYWORDS.txt"
#line 135 "KEYWORDS.txt"
{"rrest", def_rrest},
{""},
#line 72 "KEYWORDS.txt"
{"average", def_average},
{""},
#line 183 "KEYWORDS.txt"
{"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__},
#line 100 "KEYWORDS.txt"
{"grabN", def_grabN},
{""},
#line 18 "KEYWORDS.txt"
{"!=", def_neq},
{""}, {""},
#line 179 "KEYWORDS.txt"
{"_map1", def__map1},
{""}, {""}, {""}, {""}, {""},
#line 49 "KEYWORDS.txt"
{"swaack", swaack},
{""},
#line 146 "KEYWORDS.txt"
{"sqr", def_sqr},
{""}, {""}, {""},
#line 156 "KEYWORDS.txt"
{"ternary", def_ternary},
{""}, {""}, {""}, {""}, {""}, {""},
#line 107 "KEYWORDS.txt"
{"make_generator", def_make_generator},
{""}, {""}, {""}, {""},
#line 101 "KEYWORDS.txt"
{"grba", def_grba},
#line 178 "KEYWORDS.txt"
{"_map0", def__map0},
{""}, {""},
#line 108 "KEYWORDS.txt"
{"neg", def_neg},
{""},
#line 176 "KEYWORDS.txt"
{"_map?", def__map_QUESTION_MARK},
{""}, {""}, {""}, {""}, {""}, {""},
#line 130 "KEYWORDS.txt"
{"reverse", def_reverse},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 165 "KEYWORDS.txt"
{"while", def_while},
{""},
#line 52 "KEYWORDS.txt"
{"eq", def_eq},
#line 55 "KEYWORDS.txt"
{"neq", def_neq},
{""},
#line 125 "KEYWORDS.txt"
{"range", def_range},
{""}, {""}, {""},
#line 153 "KEYWORDS.txt"
{"take", def_take},
#line 48 "KEYWORDS.txt"
{"stack", stack},
#line 166 "KEYWORDS.txt"
{"_step0", def__step0},
{""},
#line 31 "KEYWORDS.txt"
{"div", fdiv_q},
#line 113 "KEYWORDS.txt"
{"over", def_over},
{""},
#line 49 "KEYWORDS.txt"
{"swaack", swaack},
#line 18 "KEYWORDS.txt"
{"!=", def_neq},
{""}, {""}, {""}, {""}, {""},
#line 114 "KEYWORDS.txt"
{"pam", def_pam},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 128 "KEYWORDS.txt"
{"reverse", def_reverse},
#line 64 "KEYWORDS.txt"
{"abs", def_abs},
#line 181 "KEYWORDS.txt"
{"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__},
#line 140 "KEYWORDS.txt"
{"small", def_small},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
#line 178 "KEYWORDS.txt"
{"_map2", def__map2},
{""},
#line 60 "KEYWORDS.txt"
{"++", def_PLUS_SIGN_PLUS_SIGN},
#line 144 "KEYWORDS.txt"
{"sqr", def_sqr},
{""}, {""},
#line 35 "KEYWORDS.txt"
{"branch", branch},
#line 72 "KEYWORDS.txt"
{"average", def_average},
#line 106 "KEYWORDS.txt"
{"neg", def_neg},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 65 "KEYWORDS.txt"
{"anamorphism", def_anamorphism},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
#line 175 "KEYWORDS.txt"
{"_mape", def__mape},
{""}, {""}, {""}, {""},
#line 177 "KEYWORDS.txt"
{"_map1", def__map1},
{""}, {""}, {""},
#line 105 "KEYWORDS.txt"
{"make_generator", def_make_generator},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
#line 97 "KEYWORDS.txt"
{"grabN", def_grabN},
{""}, {""}, {""}, {""},
#line 176 "KEYWORDS.txt"
{"_map0", def__map0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"_mape", def__mape},
{""},
#line 174 "KEYWORDS.txt"
{"_map?", def__map_QUESTION_MARK},
#line 106 "KEYWORDS.txt"
{"<<", def_LESS_THAN_SIGN_LESS_THAN_SIGN},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 180 "KEYWORDS.txt"
{"_map2", def__map2},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
#line 98 "KEYWORDS.txt"
{"grba", def_grba}
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 124 "KEYWORDS.txt"
{"pow", def_pow}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)

View File

@ -23,6 +23,7 @@ b [i] dip i
binary unary popd
ccccons ccons ccons
ccons cons cons
choice [pop] [popd] branch
clear [] swaack pop
cleave fork popdd
clop cleave popdd
@ -49,6 +50,7 @@ fork [i] app2
fourth rest third
gcd true [tuck mod dup 0 >] loop pop
genrec [[genrec] ccccons] nullary swons concat ifte
getitem [rest] times first
grabN <{} [cons] times
grba [stack popd] dip
ifte [nullary] dipd swap branch
@ -59,6 +61,7 @@ infrst infra first
lshift [2 *] times
make_generator [codireco] ccons
mod %
modulus %
neg 0 swap -
not [true] [false] branch
nulco [nullary] cons
@ -68,6 +71,7 @@ of swap at
or nulco [nullary] dip [true] branch
over [dup] dip swap
pam [i] map
pick getitem
pm [+] [-] clop
popdd [pop] dipd
popd [pop] dip
@ -76,6 +80,7 @@ popopd [popop] dip
popopop pop popop
popop pop pop
pow 1 roll> swap [*] cons times
pred --
product 1 swap [*] step
quoted [unit] dip
range [0 <=] [-- dup] anamorphism
@ -103,6 +108,7 @@ sqr dup mul
stackd [stack] dip
step_zero 0 roll> step
stuncons stack uncons
succ --
sum [+] step_zero
swapd [swap] dip
swoncat swap concat
@ -140,3 +146,7 @@ _\/_ [_isnt_bool] [not] branch
/\ _isnt_two_bools [pop false] [] branch
\/ _isnt_two_bools [] [pop true] branch
_isnt_list [] swoncat
zip [null] [pop] [uncons-pair] [i cons] genrec
uncons-pair uncons-two [quote-two] dipd
uncons-two [uncons] ii swapd
quote-two unit cons