summaryrefslogtreecommitdiff
path: root/vere/pkg/noun/jets/f
diff options
context:
space:
mode:
Diffstat (limited to 'vere/pkg/noun/jets/f')
-rw-r--r--vere/pkg/noun/jets/f/cell.c29
-rw-r--r--vere/pkg/noun/jets/f/comb.c70
-rw-r--r--vere/pkg/noun/jets/f/cons.c54
-rw-r--r--vere/pkg/noun/jets/f/core.c118
-rw-r--r--vere/pkg/noun/jets/f/face.c31
-rw-r--r--vere/pkg/noun/jets/f/fine.c35
-rw-r--r--vere/pkg/noun/jets/f/fitz.c75
-rw-r--r--vere/pkg/noun/jets/f/flan.c47
-rw-r--r--vere/pkg/noun/jets/f/flip.c39
-rw-r--r--vere/pkg/noun/jets/f/flor.c47
-rw-r--r--vere/pkg/noun/jets/f/fork.c79
-rw-r--r--vere/pkg/noun/jets/f/help.c31
-rw-r--r--vere/pkg/noun/jets/f/hint.c32
-rw-r--r--vere/pkg/noun/jets/f/look.c134
-rw-r--r--vere/pkg/noun/jets/f/loot.c133
-rw-r--r--vere/pkg/noun/jets/f/ut_crop.c34
-rw-r--r--vere/pkg/noun/jets/f/ut_fish.c35
-rw-r--r--vere/pkg/noun/jets/f/ut_fuse.c34
-rw-r--r--vere/pkg/noun/jets/f/ut_mint.c36
-rw-r--r--vere/pkg/noun/jets/f/ut_mull.c37
-rw-r--r--vere/pkg/noun/jets/f/ut_nest.c50
-rw-r--r--vere/pkg/noun/jets/f/ut_redo.c34
-rw-r--r--vere/pkg/noun/jets/f/ut_rest.c34
23 files changed, 1248 insertions, 0 deletions
diff --git a/vere/pkg/noun/jets/f/cell.c b/vere/pkg/noun/jets/f/cell.c
new file mode 100644
index 0000000..0a818f2
--- /dev/null
+++ b/vere/pkg/noun/jets/f/cell.c
@@ -0,0 +1,29 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_cell(u3_noun hed,
+ u3_noun tal)
+ {
+ if ( (c3__void == hed) || (c3__void == tal) ) {
+ return c3__void;
+ } else {
+ return u3nt(c3__cell, u3k(hed), u3k(tal));
+ }
+ }
+ u3_noun
+ u3wf_cell(u3_noun cor)
+ {
+ u3_noun hed, tal;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &hed, u3x_sam_3, &tal, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_cell(hed, tal);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/comb.c b/vere/pkg/noun/jets/f/comb.c
new file mode 100644
index 0000000..1dfe794
--- /dev/null
+++ b/vere/pkg/noun/jets/f/comb.c
@@ -0,0 +1,70 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_comb(u3_noun mal,
+ u3_noun buz)
+ {
+ if ( (u3_none == mal) || (u3_none == buz) ) {
+ return u3_none;
+ }
+ else {
+ u3_noun p_mal, q_mal, p_buz, q_buz, pp_buz, pq_buz;
+
+ if ( (c3y == u3r_p(mal, 0, &p_mal)) && (0 != p_mal) ) {
+ if ( (c3y == u3r_p(buz, 0, &p_buz)) && (0 != p_buz) ) {
+ return u3nc(0,
+ u3qc_peg(p_mal, p_buz));
+ }
+ else if ( c3y == u3r_pq(buz, 2, &p_buz, &q_buz) &&
+ c3y == u3r_p(p_buz, 0, &pp_buz) &&
+ c3y == u3r_p(q_buz, 0, &pq_buz) )
+ {
+ return u3nt(2,
+ u3nc(0,
+ u3qc_peg(p_mal, pp_buz)),
+ u3nc(0,
+ u3qc_peg(p_mal, pq_buz)));
+ }
+ else return u3nt(7,
+ u3k(mal),
+ u3k(buz));
+ }
+#if 1
+ else if ( (c3y == u3r_bush(mal, &p_mal, &q_mal)) &&
+ (c3y == u3du(p_mal)) &&
+ (c3y == u3du(q_mal)) &&
+ (0 == u3h(q_mal)) &&
+ (1 == u3t(q_mal)) )
+ {
+ return u3nt(8,
+ u3k(p_mal),
+ u3k(buz));
+ }
+#endif
+ else if ( (c3y == u3r_p(buz, 0, &p_buz)) &&
+ (c3y == u3r_sing(1, p_buz)) )
+ {
+ return u3k(mal);
+ }
+ else return u3nt(7,
+ u3k(mal),
+ u3k(buz));
+ }
+ }
+ u3_noun
+ u3wf_comb(u3_noun cor)
+ {
+ u3_noun mal, buz;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &mal, u3x_sam_3, &buz, 0) ) {
+ return u3_none;
+ } else {
+ return u3qf_comb(mal, buz);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/cons.c b/vere/pkg/noun/jets/f/cons.c
new file mode 100644
index 0000000..45719c1
--- /dev/null
+++ b/vere/pkg/noun/jets/f/cons.c
@@ -0,0 +1,54 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_cons(u3_noun vur,
+ u3_noun sed)
+ {
+ u3_noun p_vur, p_sed;
+
+ if ( c3y == u3r_p(vur, 1, &p_vur) &&
+ c3y == u3r_p(sed, 1, &p_sed) ) {
+ return u3nt(1,
+ u3k(p_vur),
+ u3k(p_sed));
+ }
+#if 0
+ else if ( c3y == u3r_p(vur, 0, &p_vur) &&
+ c3y == u3r_p(sed, 0, &p_sed) &&
+ !(c3y == u3r_sing(1, p_vur)) &&
+ !(c3y == u3r_sing(p_vur, p_sed)) &&
+ (0 == u3r_nord(p_vur, p_sed)) )
+ {
+ u3_atom fub = u3qa_div(p_vur, 2);
+ u3_atom nof = u3qa_div(p_sed, 2);
+
+ if ( c3y == u3r_sing(fub, nof) ) {
+ u3z(nof);
+
+ return u3nc(0, fub);
+ }
+ else {
+ u3z(fub);
+ u3z(nof);
+ }
+ }
+#endif
+ return u3nc(u3k(vur), u3k(sed));
+ }
+ u3_noun
+ u3wf_cons(u3_noun cor)
+ {
+ u3_noun vur, sed;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &vur, u3x_sam_3, &sed, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_cons(vur, sed);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/core.c b/vere/pkg/noun/jets/f/core.c
new file mode 100644
index 0000000..ca7e93d
--- /dev/null
+++ b/vere/pkg/noun/jets/f/core.c
@@ -0,0 +1,118 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_core(u3_noun pac,
+ u3_noun con)
+ {
+ if ( (c3__void == pac) ) {
+ return c3__void;
+ } else {
+ {
+ u3_noun p_con, q_con, r_con, hr_con, tr_con;
+
+ u3r_trel(con, &p_con, &q_con, &r_con);
+ u3r_cell(r_con, &hr_con, &tr_con);
+ if ( (c3y == u3du(hr_con)) &&
+ (u3_nul == u3h(hr_con)) &&
+ (u3_nul == u3t(hr_con)) )
+ {
+ u3l_log("old core");
+ abort();
+ }
+ }
+ return u3nt(c3__core, u3k(pac), u3k(con));
+ }
+ }
+ u3_noun
+ u3wf_core(u3_noun cor)
+ {
+ u3_noun pac, con;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &pac, u3x_sam_3, &con, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_core(pac, con);
+ }
+ }
+
+#if 0
+ static void
+ _fork_test(const c3_c *lab_c, u3_noun set)
+ {
+ if ( u3_nul == set ) {
+ return;
+ } else {
+ u3_noun n_set, l_set, r_set;
+
+ u3x_trel(set, &n_set, &l_set, &r_set);
+
+ u3qf_test(lab_c, n_set);
+ _fork_test(lab_c, l_set);
+ _fork_test(lab_c, r_set);
+ }
+ }
+ void
+ u3qf_test(const c3_c* lab_c, u3_noun sut)
+ {
+ u3_noun p_sut, q_sut;
+
+ if ( c3n == u3du(sut) ) switch ( sut ) {
+ default: u3m_bail(c3__fail); return;
+
+ case c3__noun:
+ {
+ return;
+ }
+ case c3__void:
+ {
+ return;
+ }
+ }
+ else switch ( u3h(sut) ) {
+ default: u3m_bail(c3__fail); return;
+
+ case c3__atom: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ return;
+ }
+ case c3__cell: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ u3qf_test(lab_c, p_sut);
+ u3qf_test(lab_c, q_sut);
+ return;
+ }
+ case c3__core: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ u3qf_test(lab_c, p_sut);
+ return;
+ }
+ case c3__face: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ u3qf_test(lab_c, q_sut);
+ return;
+ }
+ case c3__fork: p_sut = u3t(sut);
+ {
+ _fork_test(lab_c, p_sut);
+ return;
+ }
+ case c3__hint: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ u3qf_test(lab_c, q_sut);
+ u3qf_test(lab_c, u3h(p_sut));
+ return;
+ }
+ case c3__hold: u3x_cell(u3t(sut), &p_sut, &q_sut);
+ {
+ u3qf_test(lab_c, p_sut);
+ return;
+ }
+ }
+ }
+#endif
diff --git a/vere/pkg/noun/jets/f/face.c b/vere/pkg/noun/jets/f/face.c
new file mode 100644
index 0000000..7e689e7
--- /dev/null
+++ b/vere/pkg/noun/jets/f/face.c
@@ -0,0 +1,31 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_face(u3_noun sag,
+ u3_noun tip)
+ {
+ if ( c3__void == tip ) {
+ return c3__void;
+ }
+ else return u3nt(c3__face,
+ u3k(sag),
+ u3k(tip));
+ }
+ u3_noun
+ u3wf_face(u3_noun cor)
+ {
+ u3_noun sag, tip;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &sag, u3x_sam_3, &tip, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_face(sag, tip);
+ }
+ }
+
diff --git a/vere/pkg/noun/jets/f/fine.c b/vere/pkg/noun/jets/f/fine.c
new file mode 100644
index 0000000..2c5a85c
--- /dev/null
+++ b/vere/pkg/noun/jets/f/fine.c
@@ -0,0 +1,35 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_fine(u3_noun fuv,
+ u3_noun lup,
+ u3_noun mar)
+ {
+ if ( (c3__void == lup) || (c3__void == mar) ) {
+ return c3__void;
+ } else {
+ return u3nq(c3__fine,
+ u3k(fuv),
+ u3k(lup),
+ u3k(mar));
+ }
+ }
+ u3_noun
+ u3wf_fine(u3_noun cor)
+ {
+ u3_noun fuv, lup, mar;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &fuv,
+ u3x_sam_6, &lup,
+ u3x_sam_7, &mar, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_fine(fuv, lup, mar);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/fitz.c b/vere/pkg/noun/jets/f/fitz.c
new file mode 100644
index 0000000..b1c2a5d
--- /dev/null
+++ b/vere/pkg/noun/jets/f/fitz.c
@@ -0,0 +1,75 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+static u3_noun
+_fitz_fiz(u3_noun yaz,
+ u3_noun wix)
+{
+ c3_w yaz_w = u3r_met(3, yaz);
+ c3_w wix_w = u3r_met(3, wix);
+ c3_y yaz_y, wix_y;
+
+ yaz_y = (0 == yaz_w) ? 0 : u3r_byte((yaz_w - 1), yaz);
+ if ( (yaz_y < 'A') || (yaz_y > 'Z') ) yaz_y = 0;
+
+ wix_y = (0 == wix_w) ? 0 : u3r_byte((wix_w - 1), wix);
+ if ( (wix_y < 'A') || (wix_y > 'Z') ) wix_y = 0;
+
+ if ( yaz_y && wix_y ) {
+ if ( wix_y > yaz_y ) {
+ return c3n;
+ }
+ }
+
+ return c3y;
+}
+
+u3_noun
+u3qf_fitz(u3_noun yaz,
+ u3_noun wix)
+{
+ c3_w yet_w = u3r_met(3, yaz);
+ c3_w wet_w = u3r_met(3, wix);
+
+ c3_w i_w, met_w = c3_min(yet_w, wet_w);
+
+ if ( c3n == _fitz_fiz(yaz, wix) ) {
+ return c3n;
+ }
+ for ( i_w = 0; i_w < met_w; i_w++ ) {
+ c3_y yaz_y = u3r_byte(i_w, yaz);
+ c3_y wix_y = u3r_byte(i_w, wix);
+
+ if ( (i_w == (yet_w - 1)) && (yaz_y >= 'A') && (yaz_y <= 'Z')) {
+ return c3y;
+ }
+
+ if ( (i_w == (wet_w - 1)) && (wix_y >= 'A') && (wix_y <= 'Z')) {
+ return c3y;
+ }
+
+ if ( yaz_y != wix_y ) {
+ return c3n;
+ }
+ }
+ return c3y;
+}
+
+u3_noun
+u3wf_fitz(u3_noun cor)
+{
+ u3_noun yaz, wix;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam_2, &yaz, u3x_sam_3, &wix, 0)) ||
+ (c3n == u3ud(yaz)) ||
+ (c3n == u3ud(wix)) )
+ {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_fitz(yaz, wix);
+ }
+}
diff --git a/vere/pkg/noun/jets/f/flan.c b/vere/pkg/noun/jets/f/flan.c
new file mode 100644
index 0000000..319e1f0
--- /dev/null
+++ b/vere/pkg/noun/jets/f/flan.c
@@ -0,0 +1,47 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_flan(u3_noun bos,
+ u3_noun nif)
+ {
+ if ( c3y == u3r_sing(bos, nif) ) {
+ return u3k(bos);
+ }
+ if ( c3y == u3r_sing(1, u3h(bos)) ) {
+ if ( (u3_nul == u3t(bos)) ) {
+ return u3k(nif);
+ }
+ else return u3k(bos);
+ }
+ else {
+ if ( c3y == u3r_sing(1, u3h(nif)) ) {
+ if ( (u3_nul == u3t(nif)) ) {
+ return u3k(bos);
+ }
+ else return u3k(nif);
+ }
+ else {
+ return u3nq(6,
+ u3k(bos),
+ u3k(nif),
+ u3nc(1, c3n));
+ }
+ }
+ }
+ u3_noun
+ u3wf_flan_139(u3_noun cor)
+ {
+ u3_noun bos, nif;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &bos, u3x_sam_3, &nif, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_flan(bos, nif);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/flip.c b/vere/pkg/noun/jets/f/flip.c
new file mode 100644
index 0000000..9eb922e
--- /dev/null
+++ b/vere/pkg/noun/jets/f/flip.c
@@ -0,0 +1,39 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_flip(u3_noun hel)
+ {
+ if ( c3y == u3r_sing(1, u3h(hel)) ) {
+ if ( (c3y == u3t(hel)) ) {
+ return u3nc(1, c3n);
+ }
+ else {
+ u3_assert((c3n == u3t(hel)));
+
+ return u3nc(1, c3y);
+ }
+ }
+ else {
+ return u3nq(6,
+ u3k(hel),
+ u3nc(1, c3n),
+ u3nc(1, c3y));
+ }
+ }
+ u3_noun
+ u3wf_flip_139(u3_noun cor)
+ {
+ u3_noun hel;
+
+ if ( u3_none == (hel = u3r_at(u3x_sam, cor)) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_flip(hel);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/flor.c b/vere/pkg/noun/jets/f/flor.c
new file mode 100644
index 0000000..031168e
--- /dev/null
+++ b/vere/pkg/noun/jets/f/flor.c
@@ -0,0 +1,47 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_flor(u3_noun bos,
+ u3_noun nif)
+ {
+ if ( c3y == u3r_sing(bos, nif) ) {
+ return u3k(bos);
+ }
+ if ( c3y == u3r_sing(1, u3h(bos)) ) {
+ if ( (u3_nul == u3t(bos)) ) {
+ return u3k(bos);
+ }
+ else return u3k(nif);
+ }
+ else {
+ if ( c3y == u3r_sing(1, u3h(nif)) ) {
+ if ( (u3_nul == u3t(nif)) ) {
+ return u3k(nif);
+ }
+ else return u3k(bos);
+ }
+ else {
+ return u3nq(6,
+ u3k(bos),
+ u3nc(1, c3y),
+ u3k(nif));
+ }
+ }
+ }
+ u3_noun
+ u3wf_flor_139(u3_noun cor)
+ {
+ u3_noun bos, nif;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &bos, u3x_sam_3, &nif, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_flor(bos, nif);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/fork.c b/vere/pkg/noun/jets/f/fork.c
new file mode 100644
index 0000000..b2a68eb
--- /dev/null
+++ b/vere/pkg/noun/jets/f/fork.c
@@ -0,0 +1,79 @@
+/// @file
+
+#include "jets/k.h"
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_forq(u3_noun hoz,
+ u3_noun bur)
+ {
+ if ( c3y == u3r_sing(hoz, bur) ) {
+ return u3k(hoz);
+ }
+ else if ( c3__void == bur ) {
+ return u3k(hoz);
+ }
+ else if ( c3__void == hoz ) {
+ return u3k(bur);
+ }
+ else return u3kf_fork(u3nt(u3k(hoz), u3k(bur), u3_nul));
+ }
+
+ u3_noun
+ u3qf_fork(u3_noun yed)
+ {
+ u3_noun lez = u3_nul;
+
+ while ( u3_nul != yed ) {
+ u3_noun i_yed = u3h(yed);
+
+ if ( c3__void != i_yed ) {
+ if ( (c3y == u3du(i_yed)) && (c3__fork == u3h(i_yed)) ) {
+ lez = u3kdi_uni(lez, u3k(u3t(i_yed)));
+ }
+ else {
+ lez = u3kdi_put(lez, u3k(i_yed));
+ }
+ }
+
+ yed = u3t(yed);
+ }
+
+ if ( u3_nul == lez ) {
+ return c3__void;
+ }
+ else if ( (u3_nul == u3h(u3t(lez))) && (u3_nul == u3t(u3t(lez))) ) {
+ u3_noun ret = u3k(u3h(lez));
+
+ u3z(lez);
+ return ret;
+ }
+ else {
+ return u3nc(c3__fork, lez);
+ }
+ }
+
+ u3_noun
+ u3wf_fork(u3_noun cor)
+ {
+ u3_noun yed;
+
+ if ( c3n == u3r_mean(cor, u3x_sam, &yed, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_fork(yed);
+ }
+ }
+
+ u3_noun
+ u3kf_fork(u3_noun yed)
+ {
+ u3_noun ret = u3qf_fork(yed);
+
+ u3z(yed);
+ return ret;
+ }
diff --git a/vere/pkg/noun/jets/f/help.c b/vere/pkg/noun/jets/f/help.c
new file mode 100644
index 0000000..41fe7fb
--- /dev/null
+++ b/vere/pkg/noun/jets/f/help.c
@@ -0,0 +1,31 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_help(u3_noun sag,
+ u3_noun tip)
+ {
+ if ( c3__void == tip ) {
+ return c3__void;
+ }
+ else return u3nt(c3__help,
+ u3k(sag),
+ u3k(tip));
+ }
+ u3_noun
+ u3wf_help(u3_noun cor)
+ {
+ u3_noun sag, tip;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &sag, u3x_sam_3, &tip, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_help(sag, tip);
+ }
+ }
+
diff --git a/vere/pkg/noun/jets/f/hint.c b/vere/pkg/noun/jets/f/hint.c
new file mode 100644
index 0000000..175c3fb
--- /dev/null
+++ b/vere/pkg/noun/jets/f/hint.c
@@ -0,0 +1,32 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+ u3_noun
+ u3qf_hint(u3_noun sag,
+ u3_noun tip)
+ {
+ if ( c3__void == tip ) {
+ return c3__void;
+ }
+ if ( c3__noun == tip ) {
+ return c3__noun;
+ }
+ else return u3nt(c3__hint, u3k(sag), u3k(tip));
+ }
+ u3_noun
+ u3wf_hint(u3_noun cor)
+ {
+ u3_noun sag, tip;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &sag, u3x_sam_3, &tip, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_hint(sag, tip);
+ }
+ }
+
diff --git a/vere/pkg/noun/jets/f/look.c b/vere/pkg/noun/jets/f/look.c
new file mode 100644
index 0000000..e50e914
--- /dev/null
+++ b/vere/pkg/noun/jets/f/look.c
@@ -0,0 +1,134 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+/* internals
+*/
+ static u3_noun
+ _look_in(u3_noun cog,
+ u3_noun dab,
+ u3_atom axe)
+ {
+ if ( u3_nul == dab ) {
+ return u3_nul;
+ }
+ else {
+ u3_noun n_dab, l_dab, r_dab;
+
+ u3r_trel(dab, &n_dab, &l_dab, &r_dab);
+ if ( c3n == u3du(n_dab) ) {
+ // return u3m_bail(c3__fail);
+ u3l_log("bad look");
+ return u3m_bail(c3__exit) ;
+ }
+ else {
+ u3_noun pn_dab = u3h(n_dab);
+ u3_noun qn_dab = u3t(n_dab);
+
+ if ( (u3_nul == l_dab) && (u3_nul == r_dab) ) {
+ if ( (c3y == u3du(qn_dab)) &&
+ (c3y == u3r_sing(cog, pn_dab)) ) {
+ return u3nt(u3_nul,
+ u3k(axe),
+ u3k(qn_dab));
+ }
+ else {
+ return u3_nul;
+ }
+ }
+ else if ( (u3_nul == l_dab) ) {
+ if ( (c3y == u3du(qn_dab)) &&
+ (c3y == u3r_sing(cog, pn_dab)) ) {
+ return u3nt(u3_nul,
+ u3qc_peg(axe, 2),
+ u3k(qn_dab));
+ }
+ else {
+ if ( c3y == u3qc_gor(cog, pn_dab) ) {
+ return u3_nul;
+ }
+ else {
+ u3_noun pro;
+
+ axe = u3qc_peg(axe, 3);
+ pro = _look_in(cog, r_dab, axe);
+ u3z(axe);
+ return pro;
+ }
+ }
+ }
+ else if ( (u3_nul == r_dab) ) {
+ if ( (c3y == u3du(qn_dab)) &&
+ (c3y == u3r_sing(cog, pn_dab)) ) {
+ return u3nt(u3_nul,
+ u3qc_peg(axe, 2),
+ u3k(qn_dab));
+ }
+ else {
+ if ( c3y == u3qc_gor(cog, pn_dab) ) {
+ u3_noun pro;
+
+ axe = u3qc_peg(axe, 3);
+ pro = _look_in(cog, l_dab, axe);
+ u3z(axe);
+ return pro;
+ }
+ else {
+ return u3_nul;
+ }
+ }
+ }
+ else {
+ if ( (c3y == u3du(qn_dab)) &&
+ (c3y == u3r_sing(cog, pn_dab)) ) {
+ return u3nt(u3_nul,
+ u3qc_peg(axe, 2),
+ u3k(qn_dab));
+ }
+ else {
+ if ( c3y == u3qc_gor(cog, pn_dab) ) {
+ u3_noun pro;
+
+ axe = u3qc_peg(axe, 6);
+ pro = _look_in(cog, l_dab, axe);
+ u3z(axe);
+ return pro;
+ }
+ else {
+ u3_noun pro;
+
+ axe = u3qc_peg(axe, 7);
+ pro = _look_in(cog, r_dab, axe);
+ u3z(axe);
+ return pro;
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+
+
+ u3_noun
+ u3qf_look(u3_noun cog,
+ u3_noun dab)
+ {
+ return _look_in(cog, dab, 1);
+ }
+ u3_noun
+ u3wf_look(u3_noun cor)
+ {
+ u3_noun cog, dab;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &cog, u3x_sam_3, &dab, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_look(cog, dab);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/loot.c b/vere/pkg/noun/jets/f/loot.c
new file mode 100644
index 0000000..d1a7bef
--- /dev/null
+++ b/vere/pkg/noun/jets/f/loot.c
@@ -0,0 +1,133 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+
+/* internals
+*/
+ static u3_noun
+ _loot_in(u3_noun cog,
+ u3_noun dom,
+ u3_atom axe)
+ {
+ if ( u3_nul == dom ) {
+ return u3_nul;
+ }
+ else {
+ u3_noun n_dom, l_dom, r_dom;
+
+ u3r_trel(dom, &n_dom, &l_dom, &r_dom);
+ if ( c3n == u3du(n_dom) ) {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_noun qqn_dom = u3t(u3t(n_dom));
+ u3_noun yep = u3qf_look(cog, qqn_dom);
+
+ if ( (u3_nul == l_dom) && (u3_nul == r_dom) ) {
+ if ( u3_nul == yep ) {
+ return u3_nul;
+ } else {
+ u3_noun u_yep = u3t(yep);
+ u3_noun pro;
+
+ pro = u3nt(u3_nul, u3qc_peg(axe, u3h(u_yep)), u3k(u3t(u_yep)));
+ u3z(yep);
+ return pro;
+ }
+ }
+ else if ( (u3_nul == l_dom) ) {
+ if ( u3_nul == yep ) {
+ u3_noun nax = u3qc_peg(axe, 3);
+ u3_noun pro;
+
+ pro = _loot_in(cog, r_dom, nax);
+ u3z(nax);
+ return pro;
+ }
+ else {
+ u3_noun u_yep = u3t(yep);
+ u3_noun nax = u3qc_peg(axe, 2);
+ u3_noun pro;
+
+ pro = u3nt(u3_nul, u3qc_peg(nax, u3h(u_yep)), u3k(u3t(u_yep)));
+ u3z(nax);
+ u3z(yep);
+ return pro;
+ }
+ }
+ else if ( (u3_nul == r_dom) ) {
+ if ( u3_nul == yep ) {
+ u3_noun nax = u3qc_peg(axe, 3);
+ u3_noun pro;
+
+ pro = _loot_in(cog, l_dom, nax);
+ u3z(nax);
+ return pro;
+ }
+ else {
+ u3_noun u_yep = u3t(yep);
+ u3_noun nax = u3qc_peg(axe, 2);
+ u3_noun pro;
+
+ pro = u3nt(u3_nul, u3qc_peg(nax, u3h(u_yep)), u3k(u3t(u_yep)));
+ u3z(nax);
+ u3z(yep);
+ return pro;
+ }
+ }
+ else {
+ if ( u3_nul == yep ) {
+ u3_noun nax = u3qc_peg(axe, 6);
+ u3_noun pey;
+
+ pey = _loot_in(cog, l_dom, nax);
+ u3z(nax);
+
+ if ( u3_nul != pey ) {
+ return pey;
+ }
+ else {
+ u3_noun nax = u3qc_peg(axe, 7);
+ u3_noun pro;
+
+ pro = _loot_in(cog, r_dom, nax);
+ u3z(nax);
+ return pro;
+ }
+ }
+ else {
+ u3_noun u_yep = u3t(yep);
+ u3_noun nax = u3qc_peg(axe, 2);
+ u3_noun pro;
+
+ pro = u3nt(u3_nul, u3qc_peg(nax, u3h(u_yep)), u3k(u3t(u_yep)));
+ u3z(nax);
+ u3z(yep);
+ return pro;
+ }
+ }
+ }
+ }
+ }
+
+ u3_noun
+ u3qf_loot(u3_noun cog,
+ u3_noun dom)
+ {
+ return _loot_in(cog, dom, 1);
+ }
+ u3_noun
+ u3wf_loot(u3_noun cor)
+ {
+ u3_noun cog, dom;
+
+ if ( c3n == u3r_mean(cor, u3x_sam_2, &cog, u3x_sam_3, &dom, 0) ) {
+ return u3m_bail(c3__fail);
+ } else {
+ return u3qf_loot(cog, dom);
+ }
+ }
diff --git a/vere/pkg/noun/jets/f/ut_crop.c b/vere/pkg/noun/jets/f/ut_crop.c
new file mode 100644
index 0000000..189564d
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_crop.c
@@ -0,0 +1,34 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_crop(u3_noun cor)
+{
+ u3_noun bat, sut, ref, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam, &ref, u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__crop + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, ref, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_fish.c b/vere/pkg/noun/jets/f/ut_fish.c
new file mode 100644
index 0000000..e8acbd4
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_fish.c
@@ -0,0 +1,35 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_fish(u3_noun cor)
+{
+ u3_noun bat, sut, axe, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam, &axe, u3x_con, &van, 0))
+ || (c3n == u3ud(axe))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__fish + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, axe, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_fuse.c b/vere/pkg/noun/jets/f/ut_fuse.c
new file mode 100644
index 0000000..8e4e1a6
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_fuse.c
@@ -0,0 +1,34 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_fuse(u3_noun cor)
+{
+ u3_noun bat, sut, ref, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam, &ref, u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__fuse + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, ref, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_mint.c b/vere/pkg/noun/jets/f/ut_mint.c
new file mode 100644
index 0000000..618e729
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_mint.c
@@ -0,0 +1,36 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_mint(u3_noun cor)
+{
+ u3_noun bat, sut, gol, gen, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam_2, &gol,
+ u3x_sam_3, &gen,
+ u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ c3_m fun_m = 141 + c3__mint;
+ u3_noun vet = u3r_at(u3qfu_van_vet, van);
+ u3_noun key = u3z_key_5(fun_m, vet, sut, gol, gen, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_mull.c b/vere/pkg/noun/jets/f/ut_mull.c
new file mode 100644
index 0000000..767ab3c
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_mull.c
@@ -0,0 +1,37 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_mull(u3_noun cor)
+{
+ u3_noun bat, sut, gol, dox, gen, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam_2, &gol,
+ u3x_sam_6, &dox,
+ u3x_sam_7, &gen,
+ u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__mull + ((!!vet) << 8);
+ u3_noun key = u3z_key_5(fun_m, sut, gol, dox, gen, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_nest.c b/vere/pkg/noun/jets/f/ut_nest.c
new file mode 100644
index 0000000..9bc53bf
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_nest.c
@@ -0,0 +1,50 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_nest_dext(u3_noun dext_core)
+{
+ u3_noun nest_in_core, nest_core;
+ u3_noun bat, sut, ref, van, seg, reg, gil;
+
+ if ( (u3_none == (nest_in_core = u3r_at(3, dext_core)))
+ || (c3n == u3r_mean(nest_in_core, u3x_sam_2, &seg,
+ u3x_sam_6, &reg,
+ u3x_sam_7, &gil,
+ u3x_con, &nest_core, 0))
+ || (c3n == u3r_mean(nest_core, u3x_sam_3, &ref,
+ u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__dext + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, ref, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(dext_core), u3k(u3x_at(u3x_bat, dext_core)));
+
+ if ( ((c3y == pro) && (u3_nul == reg)) ||
+ ((c3n == pro) && (u3_nul == seg)) )
+ {
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ else {
+ u3z(key);
+ return pro;
+ }
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_redo.c b/vere/pkg/noun/jets/f/ut_redo.c
new file mode 100644
index 0000000..43fb06c
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_redo.c
@@ -0,0 +1,34 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_redo(u3_noun cor)
+{
+ u3_noun bat, sut, ref, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam, &ref, u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__redo + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, ref, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}
diff --git a/vere/pkg/noun/jets/f/ut_rest.c b/vere/pkg/noun/jets/f/ut_rest.c
new file mode 100644
index 0000000..87ff60f
--- /dev/null
+++ b/vere/pkg/noun/jets/f/ut_rest.c
@@ -0,0 +1,34 @@
+/// @file
+
+#include "jets/q.h"
+#include "jets/w.h"
+
+#include "noun.h"
+
+u3_noun
+u3wfu_rest(u3_noun cor)
+{
+ u3_noun bat, sut, leg, van;
+
+ if ( (c3n == u3r_mean(cor, u3x_sam, &leg, u3x_con, &van, 0))
+ || (u3_none == (bat = u3r_at(u3x_bat, van)))
+ || (u3_none == (sut = u3r_at(u3x_sam, van))) )
+ {
+ return u3m_bail(c3__fail);
+ }
+ else {
+ u3_weak vet = u3r_at(u3qfu_van_vet, van);
+ c3_m fun_m = 141 + c3__rest + ((!!vet) << 8);
+ u3_noun key = u3z_key_3(fun_m, sut, leg, bat);
+ u3_weak pro = u3z_find(u3z_memo_toss, key);
+
+ if ( u3_none != pro ) {
+ u3z(key);
+ return pro;
+ }
+ else {
+ pro = u3n_nock_on(u3k(cor), u3k(u3x_at(u3x_bat, cor)));
+ return u3z_save(u3z_memo_toss, key, pro);
+ }
+ }
+}