u2_weak // transfer j2_mci(Pt6, ut, bust)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_noun dib) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "bust"); if ( u2_none == hoc ) { c3_assert(!"register bust"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cw_sam, u2_rx(wir_r, dib), 0); if ( (u2_none == j2_mcj(Pt6, ut, bust)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, bust)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
u2_weak // transfer j2_mci(Pt6, ut, tack)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_noun peh, // retain u2_noun mur) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "tack"); if ( u2_none == hoc ) { c3_assert(!"register tack"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cv_sam_2, u2_rx(wir_r, peh), u2_cv_sam_3, u2_rx(wir_r, mur), 0); if ( (u2_none == j2_mcj(Pt6, ut, tack)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, tack)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
u2_bean j2_mci(Pt6, ut, park)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_noun way, // retain u2_noun axe) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "park"); if ( u2_none == hoc ) { c3_assert(!"register park"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cv_sam_2, u2_rx(wir_r, way), u2_cv_sam_3, u2_rx(wir_r, axe), 0); if ( (u2_none == j2_mcj(Pt6, ut, park)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, park)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
u2_weak // transfer j2_mci(Pt6, ut, fink)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_noun dep, // retain u2_noun way, // retain u2_noun cog) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "fink"); if ( u2_none == hoc ) { c3_assert(!"register fink"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cv_sam_2, u2_rx(wir_r, dep), u2_cv_sam_6, u2_rx(wir_r, way), u2_cv_sam_7, u2_rx(wir_r, cog), 0); if ( (u2_none == j2_mcj(Pt6, ut, fink)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, fink)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
u2_weak // transfer j2_mci(Pt6, ut, cull)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_flag pol, // retain u2_atom axe, // retain u2_noun ref) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "cull"); if ( u2_none == hoc ) { c3_assert(!"register cull"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cw_sam_2, pol, u2_cw_sam_6, u2_rx(wir_r, axe), u2_cw_sam_7, u2_rx(wir_r, ref), 0); if ( (u2_none == j2_mcj(Pt6, ut, cull)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, cull)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
u2_weak // produce j2_mci(Pt6, ut, mint)(u2_wire wir_r, u2_noun van, // retain u2_noun sut, // retain u2_noun gol, // retain u2_noun gen) // retain { u2_weak hoc = u2_ds_look(wir_r, van, "mint"); if ( u2_none == hoc ) { c3_assert(!"register mint"); return u2_none; } else { u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0); u2_weak gat = u2_nk_soft(wir_r, von, hoc); u2_weak cor = u2_rl_molt(wir_r, gat, u2_cw_sam_2, u2_rx(wir_r, gol), u2_cw_sam_3, u2_rx(wir_r, gen), 0); if ( (u2_none == j2_mcj(Pt6, ut, mint)[0].xip) ) { u2_noun xip = u2_ds_find(wir_r, cor); c3_assert(u2_none != xip); j2_mcj(Pt6, ut, mint)[0].xip = xip; } u2_rl_lose(wir_r, gat); return cor; } }
/* u2_bn_cook(): ** ** Reverse hook as molt. */ u2_noun // transfer u2_bn_cook(u2_wire wir_r, u2_noun cor, // retain const c3_c* tam_c, u2_noun som) // transfer { u2_weak vib = u2_ds_look(wir_r, cor, tam_c); u2_noun axe; if ( (u2_none == vib) || (u2_no == u2_dust(vib)) || (u2_nul != u2_h(vib)) || (u2_no == u2_stud(axe = u2_t(vib)) ) ) { u2_rz(wir_r, vib); return u2_bl_bail(wir_r, c3__fail); } else { u2_noun gon = u2_bn_molt(wir_r, cor, axe, som, 0); u2_rz(wir_r, vib); u2_rz(wir_r, som); return gon; } }
/* u2_bn_hook(): ** ** Execute hook from core. */ u2_noun u2_bn_hook(u2_wire wir_r, u2_noun cor, const c3_c* tam_c) { u2_weak vib = u2_ds_look(wir_r, cor, tam_c); if ( u2_none == vib ) { fprintf(stderr, "no hook: %s\n", tam_c); c3_assert(0); return u2_bl_bail(wir_r, c3__fail); } else { if ( u2_nul == u2_h(vib) ) { u2_noun rag = u2_frag(u2_t(vib), cor); // printf("%s %d\n", tam_c, u2_t(vib)); u2_rz(wir_r, vib); return u2_rx(wir_r, rag); } else { u2_noun ret = u2_bn_nock(wir_r, cor, vib); u2_rz(wir_r, vib); return ret; } } }
/* u2_ds_fire(): ** ** Fire formula from core. */ u2_weak // produce u2_ds_fire(u2_wire wir_r, u2_noun cor, // retain const c3_c* tam_c) // retain { u2_noun fol = u2_ds_look(wir_r, cor, tam_c); if ( u2_none == fol ) { return u2_none; } else { u2_noun pro = u2_nk_nock(wir_r, u2_rx(wir_r, cor), fol); u2_rz(wir_r, fol); return pro; } }
/* u2_bn_gort(): ** ** Call by core, depth, hook, molt list. */ u2_noun u2_bn_gort(u2_wire wir_r, u2_noun cor, const c3_c* tam_c, ...) { // XX: tested, but leaks. Check memory protocol. // u2_noun fol = u2_bl_good(wir_r, u2_ds_look(wir_r, cor, tam_c)); u2_noun gat = u2_bn_nock(wir_r, cor, fol); u2_noun tec; va_list vap; va_start(vap, tam_c); tec = u2_bn_molf(wir_r, gat, vap); va_end(vap); u2_rz(wir_r, fol); return u2_bn_nock(wir_r, tec, u2_t(tec)); }
/* u2_bn_wait(): ** ** Produce the functional equivalent of `|.(~(tam cor sam))`. */ u2_noun // produce u2_bn_wait(u2_wire wir_r, u2_noun cor, // retain u2_noun sam, // retain const c3_c* tam_c) // retain { c3_assert(!"not implemented"); return 0; #if 0 u2_noun rac = u2_bn_molt(wir_r, cor, u2_cv_sam, sam, 0); u2_noun rox = u2_ds_look(wir_r, rac, tam_c); if ( u2_none == rox ) { return u2_bl_bail(wir_r, c3__fail); } else { return u2_bc (wir_r, rac, u2_bt(wir_r, u2_nock_flac, u2_bc(wir_r, 0, 2), rox)); } #endif }