Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: cgyarvin/urbit
base: a8d30c08c3
...
head fork: cgyarvin/urbit
compare: 7af0197a5d
  • 2 commits
  • 22 files changed
  • 0 commit comments
  • 1 contributor
2  Makefile
View
@@ -686,6 +686,7 @@ J210_6_OFILES=\
gen210/6/cube.o \
gen210/6/face.o \
gen210/6/fine.o \
+ gen210/6/fitz.o \
gen210/6/flan.o \
gen210/6/flip.o \
gen210/6/flor.o \
@@ -820,6 +821,7 @@ J209_6_OFILES=\
gen209/6/cube.o \
gen209/6/face.o \
gen209/6/fine.o \
+ gen209/6/fitz.o \
gen209/6/flan.o \
gen209/6/flip.o \
gen209/6/flor.o \
2  gen209/6/ap.c
View
@@ -193,7 +193,7 @@
u2_rx(wir_r, q_gen)),
u2_nul);
u2_noun zal = j2_mbc(Pt2, weld)(wir_r, r_gen, tul);
- u2_noun ret = u2_bt(wir_r, c3__wtcb, u2_rx(wir_r, p_gen), zal);
+ u2_noun ret = u2_bt(wir_r, c3__wthp, u2_rx(wir_r, p_gen), zal);
u2_rz(wir_r, tul);
return ret;
79 gen209/6/fitz.c
View
@@ -0,0 +1,79 @@
+/* j/6/fitz.c
+**
+** This file is in the public domain.
+*/
+#include "all.h"
+#include "../pit.h"
+
+/* functions
+*/
+ static u2_flag
+ _fitz_fiz(u2_wire wir_r,
+ u2_noun yaz,
+ u2_noun wix)
+ {
+ c3_w yaz_w = u2_met(3, yaz);
+ c3_w wix_w = u2_met(3, wix);
+ c3_y yaz_y, wix_y;
+
+ yaz_y = (0 == yaz_w) ? 0 : u2_byte((yaz_w - 1), yaz);
+ if ( (yaz_y < 'A') || (yaz_y > 'Z') ) yaz_y = 0;
+
+ wix_y = (0 == wix_w) ? 0 : u2_byte((wix_w - 1), wix);
+ if ( (wix_y < 'A') || (wix_y > 'Z') ) wix_y = 0;
+
+ if ( yaz_y ) {
+ if ( !wix_y || (wix_y > yaz_y) ) {
+ return u2_no;
+ }
+ }
+ return u2_yes;
+ }
+
+ u2_noun // transfer
+ j2_mby(Pt6, fitz)(u2_wire wir_r,
+ u2_noun yaz, // retain
+ u2_noun wix) // retain
+ {
+ c3_w i_w, met_w = c3_min(u2_met(3, yaz), u2_met(3, wix));
+
+ if ( u2_no == _fitz_fiz(wir_r, yaz, wix) ) {
+ return u2_no;
+ }
+ for ( i_w = 0; i_w < met_w; i_w++ ) {
+ c3_y yaz_y = u2_byte(i_w, yaz);
+ c3_y wix_y = u2_byte(i_w, wix);
+
+ if ( (yaz_y >= 'A') && (yaz_y <= 'Z') ) yaz_y = 0;
+ if ( (wix_y >= 'A') && (wix_y <= 'Z') ) wix_y = 0;
+
+ if ( yaz_y && wix_y && (yaz_y != wix_y) ) {
+ return u2_no;
+ }
+ }
+ return u2_yes;
+ }
+
+ u2_noun // transfer
+ j2_mb(Pt6, fitz)(u2_wire wir_r,
+ u2_noun cor) // retain
+ {
+ u2_noun yaz, wix;
+
+ if ( (u2_no == u2_mean(cor, u2_cw_sam_2, &yaz, u2_cw_sam_3, &wix, 0)) ||
+ (u2_no == u2ud(yaz)) ||
+ (u2_no == u2ud(wix)) )
+ {
+ return u2_bl_bail(wir_r, c3__fail);
+ } else {
+ return j2_mby(Pt6, fitz)(wir_r, yaz, wix);
+ }
+ }
+
+/* structures
+*/
+ u2_ho_jet
+ j2_mbj(Pt6, fitz)[] = {
+ { ".3", c3__hevy, j2_mb(Pt6, fitz), Tier6_a, u2_none, u2_none },
+ { }
+ };
17 gen209/6/ut_fuse.c
View
@@ -34,21 +34,6 @@
}
}
- static u2_flag
- _fuse_fitz(u2_wire wir_r,
- u2_atom p_sut,
- u2_atom p_ref)
- {
- c3_w i_w, met_w = c3_min(u2_met(3, p_sut), u2_met(3, p_ref));
-
- for ( i_w = 0; i_w < met_w; i_w++ ) {
- if ( u2_byte(i_w, p_sut) != u2_byte(i_w, p_ref) ) {
- return u2_no;
- }
- }
- return u2_yes;
- }
-
static u2_noun
_fuse_in(u2_wire wir_r,
u2_noun van,
@@ -80,7 +65,7 @@
{
if ( u2_yes == u2_dust(ref) ) {
if ( c3__atom == u2_h(ref) ) {
- if ( u2_yes == _fuse_fitz(wir_r, u2_t(ref), u2_t(sut)) ) {
+ if ( u2_yes == j2_mby(Pt6, fitz)(wir_r, u2_t(ref), u2_t(sut)) ) {
return u2_rx(wir_r, sut);
} else return u2_rx(wir_r, ref);
}
17 gen209/6/ut_nest.c
View
@@ -18,21 +18,6 @@
j2_mcj(Pt6, ut, nest)[];
static u2_flag
- _nest_fitz(u2_wire wir_r,
- u2_atom p_sut,
- u2_atom p_ref)
- {
- c3_w i_w, met_w = c3_min(u2_met(3, p_sut), u2_met(3, p_ref));
-
- for ( i_w = 0; i_w < met_w; i_w++ ) {
- if ( u2_byte(i_w, p_sut) != u2_byte(i_w, p_ref) ) {
- return u2_no;
- }
- }
- return u2_yes;
- }
-
- static u2_flag
_nest_cram(u2_wire wir_r,
u2_noun van,
u2_noun sut,
@@ -226,7 +211,7 @@
case c3__atom: {
if ( (u2_yes == u2_dust(ref)) && (c3__atom == u2_h(ref)) ) {
- if ( u2_no == _nest_fitz(wir_r, u2_t(sut), u2_t(ref)) ) {
+ if ( u2_no == j2_mby(Pt6, fitz)(wir_r, u2_t(sut), u2_t(ref)) ) {
// u2_err(wir_r, "fitz: need", u2_t(sut));
// u2_err(wir_r, "fitz: have", u2_t(ref));
return u2_no;
5 gen209/pit.h
View
@@ -382,6 +382,11 @@
u2_noun lup, // retain
u2_noun mar); // retain
+ u2_noun // transfer
+ j2_mby(Pt6, fitz)(u2_wire wir_r,
+ u2_noun yaz, // retain
+ u2_noun wix); // retain
+
u2_noun // produce
j2_mby(Pt6, foam)(u2_wire wir_r,
u2_noun pok); // retain
2  gen209/watt.c
View
@@ -105,6 +105,7 @@
extern u2_ho_jet j2_mbj(Pt6, cube)[];
extern u2_ho_jet j2_mbj(Pt6, face)[];
extern u2_ho_jet j2_mbj(Pt6, fine)[];
+ extern u2_ho_jet j2_mbj(Pt6, fitz)[];
extern u2_ho_jet j2_mbj(Pt6, flan)[];
extern u2_ho_jet j2_mbj(Pt6, flip)[];
extern u2_ho_jet j2_mbj(Pt6, flor)[];
@@ -254,6 +255,7 @@
{ j2_sb(Pt6, cube), j2_mbj(Pt6, cube), 0, 0, u2_none },
{ j2_sb(Pt6, face), j2_mbj(Pt6, face), 0, 0, u2_none },
{ j2_sb(Pt6, fine), j2_mbj(Pt6, fine), 0, 0, u2_none },
+ { j2_sb(Pt6, fitz), j2_mbj(Pt6, fitz), 0, 0, u2_none },
{ j2_sb(Pt6, flan), j2_mbj(Pt6, flan), 0, 0, u2_none },
{ j2_sb(Pt6, flip), j2_mbj(Pt6, flip), 0, 0, u2_none },
{ j2_sb(Pt6, flor), j2_mbj(Pt6, flor), 0, 0, u2_none },
2  gen210/6/ap.c
View
@@ -193,7 +193,7 @@
u2_rx(wir_r, q_gen)),
u2_nul);
u2_noun zal = j2_mbc(Pt2, weld)(wir_r, r_gen, tul);
- u2_noun ret = u2_bt(wir_r, c3__wtcb, u2_rx(wir_r, p_gen), zal);
+ u2_noun ret = u2_bt(wir_r, c3__wthp, u2_rx(wir_r, p_gen), zal);
u2_rz(wir_r, tul);
return ret;
79 gen210/6/fitz.c
View
@@ -0,0 +1,79 @@
+/* j/6/fitz.c
+**
+** This file is in the public domain.
+*/
+#include "all.h"
+#include "../pit.h"
+
+/* functions
+*/
+ static u2_flag
+ _fitz_fiz(u2_wire wir_r,
+ u2_noun yaz,
+ u2_noun wix)
+ {
+ c3_w yaz_w = u2_met(3, yaz);
+ c3_w wix_w = u2_met(3, wix);
+ c3_y yaz_y, wix_y;
+
+ yaz_y = (0 == yaz_w) ? 0 : u2_byte((yaz_w - 1), yaz);
+ if ( (yaz_y < 'A') || (yaz_y > 'Z') ) yaz_y = 0;
+
+ wix_y = (0 == wix_w) ? 0 : u2_byte((wix_w - 1), wix);
+ if ( (wix_y < 'A') || (wix_y > 'Z') ) wix_y = 0;
+
+ if ( yaz_y ) {
+ if ( !wix_y || (wix_y > yaz_y) ) {
+ return u2_no;
+ }
+ }
+ return u2_yes;
+ }
+
+ u2_noun // transfer
+ j2_mby(Pt6, fitz)(u2_wire wir_r,
+ u2_noun yaz, // retain
+ u2_noun wix) // retain
+ {
+ c3_w i_w, met_w = c3_min(u2_met(3, yaz), u2_met(3, wix));
+
+ if ( u2_no == _fitz_fiz(wir_r, yaz, wix) ) {
+ return u2_no;
+ }
+ for ( i_w = 0; i_w < met_w; i_w++ ) {
+ c3_y yaz_y = u2_byte(i_w, yaz);
+ c3_y wix_y = u2_byte(i_w, wix);
+
+ if ( (yaz_y >= 'A') && (yaz_y <= 'Z') ) yaz_y = 0;
+ if ( (wix_y >= 'A') && (wix_y <= 'Z') ) wix_y = 0;
+
+ if ( yaz_y && wix_y && (yaz_y != wix_y) ) {
+ return u2_no;
+ }
+ }
+ return u2_yes;
+ }
+
+ u2_noun // transfer
+ j2_mb(Pt6, fitz)(u2_wire wir_r,
+ u2_noun cor) // retain
+ {
+ u2_noun yaz, wix;
+
+ if ( (u2_no == u2_mean(cor, u2_cw_sam_2, &yaz, u2_cw_sam_3, &wix, 0)) ||
+ (u2_no == u2ud(yaz)) ||
+ (u2_no == u2ud(wix)) )
+ {
+ return u2_bl_bail(wir_r, c3__fail);
+ } else {
+ return j2_mby(Pt6, fitz)(wir_r, yaz, wix);
+ }
+ }
+
+/* structures
+*/
+ u2_ho_jet
+ j2_mbj(Pt6, fitz)[] = {
+ { ".3", c3__hevy, j2_mb(Pt6, fitz), Tier6_a, u2_none, u2_none },
+ { }
+ };
17 gen210/6/ut_fuse.c
View
@@ -34,21 +34,6 @@
}
}
- static u2_flag
- _fuse_fitz(u2_wire wir_r,
- u2_atom p_sut,
- u2_atom p_ref)
- {
- c3_w i_w, met_w = c3_min(u2_met(3, p_sut), u2_met(3, p_ref));
-
- for ( i_w = 0; i_w < met_w; i_w++ ) {
- if ( u2_byte(i_w, p_sut) != u2_byte(i_w, p_ref) ) {
- return u2_no;
- }
- }
- return u2_yes;
- }
-
static u2_noun
_fuse_in(u2_wire wir_r,
u2_noun van,
@@ -80,7 +65,7 @@
{
if ( u2_yes == u2_dust(ref) ) {
if ( c3__atom == u2_h(ref) ) {
- if ( u2_yes == _fuse_fitz(wir_r, u2_t(ref), u2_t(sut)) ) {
+ if ( u2_yes == j2_mby(Pt6, fitz)(wir_r, u2_t(ref), u2_t(sut)) ) {
return u2_rx(wir_r, sut);
} else return u2_rx(wir_r, ref);
}
17 gen210/6/ut_nest.c
View
@@ -18,21 +18,6 @@
j2_mcj(Pt6, ut, nest)[];
static u2_flag
- _nest_fitz(u2_wire wir_r,
- u2_atom p_sut,
- u2_atom p_ref)
- {
- c3_w i_w, met_w = c3_min(u2_met(3, p_sut), u2_met(3, p_ref));
-
- for ( i_w = 0; i_w < met_w; i_w++ ) {
- if ( u2_byte(i_w, p_sut) != u2_byte(i_w, p_ref) ) {
- return u2_no;
- }
- }
- return u2_yes;
- }
-
- static u2_flag
_nest_cram(u2_wire wir_r,
u2_noun van,
u2_noun sut,
@@ -226,7 +211,7 @@
case c3__atom: {
if ( (u2_yes == u2_dust(ref)) && (c3__atom == u2_h(ref)) ) {
- if ( u2_no == _nest_fitz(wir_r, u2_t(sut), u2_t(ref)) ) {
+ if ( u2_no == j2_mby(Pt6, fitz)(wir_r, u2_t(sut), u2_t(ref)) ) {
// u2_err(wir_r, "fitz: need", u2_t(sut));
// u2_err(wir_r, "fitz: have", u2_t(ref));
return u2_no;
5 gen210/pit.h
View
@@ -382,6 +382,11 @@
u2_noun lup, // retain
u2_noun mar); // retain
+ u2_noun // transfer
+ j2_mby(Pt6, fitz)(u2_wire wir_r,
+ u2_noun yaz, // retain
+ u2_noun wix); // retain
+
u2_noun // produce
j2_mby(Pt6, foam)(u2_wire wir_r,
u2_noun pok); // retain
2  gen210/watt.c
View
@@ -105,6 +105,7 @@
extern u2_ho_jet j2_mbj(Pt6, cube)[];
extern u2_ho_jet j2_mbj(Pt6, face)[];
extern u2_ho_jet j2_mbj(Pt6, fine)[];
+ extern u2_ho_jet j2_mbj(Pt6, fitz)[];
extern u2_ho_jet j2_mbj(Pt6, flan)[];
extern u2_ho_jet j2_mbj(Pt6, flip)[];
extern u2_ho_jet j2_mbj(Pt6, flor)[];
@@ -254,6 +255,7 @@
{ j2_sb(Pt6, cube), j2_mbj(Pt6, cube), 0, 0, u2_none },
{ j2_sb(Pt6, face), j2_mbj(Pt6, face), 0, 0, u2_none },
{ j2_sb(Pt6, fine), j2_mbj(Pt6, fine), 0, 0, u2_none },
+ { j2_sb(Pt6, fitz), j2_mbj(Pt6, fitz), 0, 0, u2_none },
{ j2_sb(Pt6, flan), j2_mbj(Pt6, flan), 0, 0, u2_none },
{ j2_sb(Pt6, flip), j2_mbj(Pt6, flip), 0, 0, u2_none },
{ j2_sb(Pt6, flor), j2_mbj(Pt6, flor), 0, 0, u2_none },
3  include/c/motes.h
View
@@ -415,6 +415,7 @@
# define c3__hike c3_s4('h','i','k','e')
# define c3__hind c3_s4('h','i','n','d')
# define c3__hint c3_s4('h','i','n','t')
+# define c3__hit c3_s3('h','i','t')
# define c3__hmal c3_s4('h','m','a','l')
# define c3__hold c3_s4('h','o','l','d')
# define c3__home c3_s4('h','o','m','e')
@@ -756,6 +757,7 @@
# define c3__scry c3_s4('s','c','r','y')
# define c3__scsg c3_s4('s','c','s','g')
# define c3__seal c3_s4('s','e','a','l')
+# define c3__see c3_s3('s','e','e')
# define c3__seed c3_s4('s','e','e','d')
# define c3__seek c3_s4('s','e','e','k')
# define c3__seft c3_s4('s','e','f','t')
@@ -975,6 +977,7 @@
# define c3__wtdt c3_s4('w','t','d','t')
# define c3__wtgl c3_s4('w','t','g','l')
# define c3__wtgr c3_s4('w','t','g','r')
+# define c3__wthp c3_s4('w','t','h','p')
# define c3__wthx c3_s4('w','t','h','x')
# define c3__wtls c3_s4('w','t','l','s')
# define c3__wtms c3_s4('w','t','m','s')
169 jupiter/sys/209/born.watt
View
@@ -19,36 +19,86 @@
==
++ tube :: filesystem address
$% [%here p=(list cask)] :: permanent internal
- [%unix p=tape] :: external unix tray
+ [%unix p=tape] :: external unix path
==
++ file >[p=mode q=tube] :: filesystem key
++ shoe :: trace stack layer
$% [%bean p=*] :: raw noun
[%lose p=term] :: error message
[%mean p=_|.(*tank)] :: prettyprint trigger
- [%pray p=tray] :: prayer attempt
+ [%pray p=barn] :: prayer attempt
[%spot p=spot] :: source position
==
--
=> |%
++ loon
$% [%% p=gene] :: simple gene
- [%loc p=mode q=barn] :: local file
[%dig p=loon] :: save a packet
- [%mit p=loon q=loon] :: source to dest
+ [%fit p=mode q=barn] :: local file
[%quo p=vase] :: live data
+ [%ram p=loon q=loon] :: source to dest
+ [%typ p=loon] :: show type
[%var p=term q=loon] :: set a variable
==
++ boom
- $& [p=boom q=boom] :: pair of booms
- $% [%dat p=barn q=mode r=vase] :: save to disk
- [%see p=tank] :: print to screen
+ $% [%hit p=mode q=barn r=*] :: save to disk
+ [%see p=@ q=tank] :: show at tab
==
--
=> |%
++ x-goon
=+ vas=vast
wide:vas(bug &, wer /.~/sys/[(rent %ud stub)])
+ ::
+ ++ x-loon
+ %+ knee *loon |. ~+
+ ;~ pose
+ (stag %% x-goon)
+ ;~ pfix col
+ ;~ pose
+ (stag %dig ;~(pfix (just 'd') ;~(pfix ace x-loon)))
+ ::
+ %+ stag
+ %fit
+ ;~ pfix (just 'f')
+ ;~ plug
+ ;~ pose
+ (cold %atom (just 'a'))
+ (cold %blob (just 'b'))
+ (cold %pill (just 'p'))
+ (cold %text (just 't'))
+ (cold %watt (just 'w'))
+ ==
+ ;~ pfix dot
+ (most fas (cook |=(lot=coin (spay lot)) sack:vast))
+ ==
+ ==
+ ==
+ ::
+ %+ stag
+ %ram
+ ;~ pfix (just 'r')
+ ;~(plug x-loon ;~(pfix ace x-loon))
+ ==
+ ::
+ %+ stag
+ %typ
+ ;~ pfix (just 't')
+ ;~(pfix ace x-loon)
+ ==
+ ::
+ %+ stag
+ %var
+ ;~ pfix (just 'v')
+ ;~ plug
+ ;~(pfix dot sym)
+ ;~(pfix ace x-loon)
+ ==
+ ==
+
+ ==
+ ==
+ ==
--
=> |%
++ x-deed ~+
@@ -64,48 +114,83 @@
::
++ x-fuel
;~ pose
- ;~ pfix ;~(plug gap gal)
- %+ stag ~
- ;~ plug
- x-mode
- (stag %clsg (cook |=(a=(list gene) (flop a)) ~(patl spat:vast |)))
- ==
- ==
- ::
(easy ~)
==
::
++ x-vent
;~ pose
- ;~ pfix ;~(plug gap gar)
- %+ stag ~
- ;~ plug
- x-mode
- (stag %clsg (cook |=(a=(list gene) (flop a)) ~(patl spat:vast |)))
- ==
- ==
- ::
(easy ~)
==
--
+=+ [tic=@ud log=*(list >@uw)]
=+ wad=*(map term vase)
-=> |%
- ++ scan
- |= cad=@ta ~| %scan ^- deed
- (rash cad x-deed)
- ::
- ++ swan
- |= yos=shoe ^- tank
- ?- -.yos
- %bean (show %q p.yos)
- %lose (show %t p.yos)
- %mean $:p.yos
- %pray (show %h p.yos)
- %spot (show %o p.yos)
- ==
+|%
+++ live
+ |= lun=loon ^- [p=(list boom) q=_..live]
+ ~| [%live -.lun]
+ =+ vax=seed
+ =< vile
+ |%
+ ++ evil
+ |- ^- vase
+ ?+ -.lun ~|(%evil !!)
+ %% (slap vax p.lun)
+ %quo p.lun
+ %ram evil(lun q.lun, vax evil(lun p.lun))
+ ==
+ ++ vile
+ |- ^- [p=(list boom) q=_..live]
+ ?- -.lun
+ :: :: [%% p=gene]
+ %%
+ :- [[%see 0 (sell (slap vax p.lun))] ~]
+ ..live
+ :: :: [%dig p=loon]
+ %dig :: XX ram filter type
+ =+ bet=evil(lun p.lun)
+ ?> ?=(@ q.bet)
+ :- [[%hit %atom /.~/log/[(rent %ud tic)] q.bet] ~]
+ ..live(tic +(tic), log [q.bet log])
+ :: :: [%fit p=mode q=barn]
+ %fit
+ :- [[%hit p.lun q.lun q.vax] ~]
+ ..live
+ :: :: [%quo p=vase]
+ %quo
+ ~|(%vile-quo !!)
+ :: :: [%ram p=loon q=loon]
+ %ram
+ vile(lun q.lun, vax evil(lun p.lun))
::
- ++ wash
- |= [[tab=@ edg=@] tac=tank] ^- wall
- (~(win re tac) tab edg)
- --
-.
+ %typ :: [%typ p=loon]
+ =+ bet=evil(lun p.lun)
+ :- [[%see 0 (skol p:bet)] ~] :: XX true dry run
+ ..live
+ :: :: [%var p=term q=loon]
+ %var
+ =+ bet=evil(lun q.lun)
+ [~ ..live(wad (~(put in wad) p.lun bet))]
+ ==
+ --
+++ scan
+ |= cad=@ta ~| %scan ^- deed
+ (rash cad x-deed)
+::
+++ slan
+ |= cad=@ta ~| %slan ^- loon
+ (rash cad x-loon)
+::
+++ swan
+ |= yos=shoe ^- tank
+ ?- -.yos
+ %bean (show %q p.yos)
+ %lose (show %t p.yos)
+ %mean $:p.yos
+ %pray (show %h p.yos)
+ %spot (show %o p.yos)
+ ==
+::
+++ wash
+ |= [[tab=@ edg=@] tac=tank] ^- wall
+ (~(win re tac) tab edg)
+--
BIN  jupiter/sys/209/watt.pill
View
Binary file not shown
222 jupiter/sys/209/watt.watt
View
@@ -1,16 +1,16 @@
?> ?=(@ .)
%. .
=< make
-=> 209
+=> 210
=>
::::
:::: Tier 0, kernel stub
::::
- ~% %k.209
+ ~% %k.210
~
~
|%
- ++ stub 209
+ ++ stub 210
--
=> :: Tier 1
~% %a
@@ -1171,7 +1171,7 @@
++ soul >[tic=@ud pan=(map barn note) tap=_well]
++ span cask
++ spar (list coin)
- ++ spot >[p=tray q=pint]
+ ++ spot >[p=barn q=pint]
++ tank
$% [%leaf p=tape]
[%palm p=[p=tape q=tape r=tape s=tape] q=(list tank)]
@@ -1185,13 +1185,11 @@
[1 p=(list)]
[2 p=(list >[@tam *])]
==
- ++ tray >[p=span q=barn]
++ wall (list tape)
++ wand >@
++ well |+(barn *(unit note))
++ wood (list fact)
- ++ xmln
- >[t=$|(cask [cask a=(list >[n=cask v=tape])]) c=(list xmln)]
+ ++ xmln >[t=$|(cask [cask a=(list >[n=cask v=tape])]) c=(list xmln)]
--
=>
::::
@@ -1603,9 +1601,9 @@
++ ket (just '^')
++ lus (just '+')
++ hip (just '-')
- ++ pal (just '(')
+ ++ pel (just '(')
++ pam (just '&')
- ++ par (just ')')
+ ++ per (just ')')
++ pat (just '@')
++ sel (just '[')
++ sem (just ';')
@@ -3517,12 +3515,27 @@
[vur sed]
::
++ fitz
+ ~. %fitz
|= [yaz=term wix=term]
- ?| =(%% yaz)
- =(%% wix)
- ?& =((end 3 1 yaz) (end 3 1 wix))
- $(yaz (rsh 3 1 yaz), wix (rsh 3 1 wix))
+ =+ ^= fiz
+ |= mot=@tam ^- [p=@ q=@tam]
+ =+ len=(met 3 mot)
+ ?: =(0 len)
+ [0 %%]
+ =+ tyl=(rsh 3 (dec len) mot)
+ ?: &((gte tyl 'A') (lte tyl 'Z'))
+ [(sub tyl 64) (end 3 (dec len) mot)]
+ [0 mot]
+ =+ [yoz=(fiz yaz) wux=(fiz wix)]
+ ?& ?| =(0 p.yoz)
+ &(!=(0 p.wux) (lte p.wux p.yoz))
==
+ |- ?| =(%% p.yoz)
+ =(%% p.wux)
+ ?& =((end 3 1 p.yoz) (end 3 1 p.wux))
+ $(p.yoz (rsh 3 1 p.yoz), p.wux (rsh 3 1 p.wux))
+ ==
+ ==
==
::
++ flan
@@ -3659,6 +3672,16 @@
|= [axe=axis vax=vase] ^- vase
(slap vax [~ axe])
::
+++ slum
+ |= [vax=vase wad=(map term vase)] ^- vase
+ ?- wad
+ ~ vax
+ [* ~ ~] [[%cell p.vax [%face p.n.wad p.q.n.wad]] [q.vax q.q.n.wad]]
+ [* ~ *] $(wad [n.wad ~ ~], vax $(wad r.wad))
+ [* * ~] $(wad [n.wad ~ ~], vax $(wad l.wad))
+ [* * *] $(wad [n.wad ~ r.wad], vax $(wad l.wad))
+ ==
+::
++ ut
~% %ut
-<-
@@ -5066,29 +5089,27 @@
--
::
++ vast
- =+ [bug=`?`| was=*(set tray) wer=*tray]
+ =+ [bug=`?`| was=*(set barn) wer=*barn]
|%
- ++ prel
- |= [bac=@ fot=(unit cask) suf=(list gene)]
- ~| %vast-prel
- ^- gene
- :- [%dtpt %ta ?~(fot p.wer +.fot)]
- :- %clsg
- (weld (flop suf) (turn (slag bac q.wer) |=(a=@ `gene`[%dtpt %ta a])))
+ ++ pend
+ |= [bac=(list) suf=gene] ^- gene
+ (pgen (flop (weld (flop (prev suf)) (slag (lent bac) (flop wer)))))
::
- ++ phom
- |= [suf=(list gene)]
- ^- gene
- [[%dtpt %ta p.wer] [%clsg suf]]
+ ++ phed
+ |= [bac=(list) suf=gene] ^- gene
+ (pgen (weld (prev suf) (slag (lent bac) (flop wer))))
+ ::
+ ++ pgen
+ |= bon=barn ^- gene
+ :- %clsg
+ |-(?~(bon ~ [[%dtpt %ta -.bon] $(bon +.bon)]))
::
++ prev
- |= gen=gene ~| [%prev gen] ^- tray
+ |= gen=gene ~| [%prev gen] ^- barn
?: ?=([%zpcb *] gen)
$(gen q.gen)
- ?> ?=([^ *] gen)
- :- ?>(?=([%dtpt *] p.gen) q.p.gen)
- ?> ?=([%clsg *] q.gen)
- (turn p.q.gen |=(a=gene ?>(?=([%dtpt *] a) q.a)))
+ ?> ?=([%clsg *] gen)
+ (turn p.gen |=(a=gene ?>(?=([%dtpt *] a) q.a)))
::
++ pray
|= gen=gene ~| %pray ^- gene
@@ -5143,13 +5164,13 @@
==
:- '&'
;~ pose
- (stag %wtpm ;~(pfix pam (ifix [pal par] (most ace wide))))
+ (stag %wtpm ;~(pfix pam (ifix [pel per] (most ace wide))))
(stag %dtpt (stag %f (cold & pam)))
==
:- '\''
(stag %dtpt (stag %ta qut))
:- '('
- (stag %cnhp (ifix [pal par] (most ace wide)))
+ (stag %cnhp (ifix [pel per] (most ace wide)))
:- '*'
;~ pose
(stag %bctr ;~(pfix tar wide))
@@ -5157,24 +5178,12 @@
==
:- '+'
;~ pose
- (stag %dtls ;~(pfix lus (ifix [pal par] wide)))
+ (stag %dtls ;~(pfix lus (ifix [pel per] wide)))
(cook |=(a=twig [%cnts a ~]) rope)
==
:- '#'
;~ pfix hax
- %+ cook pray
- %+ cook prel
- ;~ pose
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus tis))
- (easy ~)
- $:~(patr spat |)
- ==
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus lus))
- $:~(pats spat |)
- ==
- ==
+ (cook pray wide)
==
:- '-'
;~ pose
@@ -5191,16 +5200,22 @@
%dtpt
bask
:- ':'
- (stag %smcl ;~(pfix col (ifix [pal par] (most ace wide))))
+ (stag %smcl ;~(pfix col (ifix [pel per] (most ace wide))))
:- '='
- (stag %dtts ;~(pfix tis (ifix [pal par] ;~(glam wide wide))))
+ (stag %dtts ;~(pfix tis (ifix [pel per] ;~(glam wide wide))))
:- '?'
;~ pose
- (stag %bcwt ;~(pfix wut (ifix [pal par] (most ace wide))))
+ (stag %bcwt ;~(pfix wut (ifix [pel per] (most ace wide))))
(stag %bcts (cold %flag wut))
==
:- '@'
- (stag %bcts (stag %atom ;~(pfix pat ;~(pose sym (easy @)))))
+ %+ stag %bcts
+ %+ stag %atom
+ ;~ pfix pat
+ %+ cook
+ |=([a=tape b=tape] (rap 3 (weld a b)))
+ ;~(plug (star low) (star hig))
+ ==
:- '['
(stag %cltr (ifix [sel ser] (most ace wide)))
:- '>'
@@ -5208,7 +5223,10 @@
:- '<'
(stag %ktsg ;~(pfix gal wide))
:- '^'
- (stag %bcts (cold %cell ket))
+ ;~ pose
+ (stag %cnhx rope)
+ (stag %bcts (cold %cell ket))
+ ==
:- '_'
(stag %bccb ;~(pfix cab wide))
:- '`'
@@ -5217,55 +5235,34 @@
(stag %cnhx rope)
:- '|'
;~ pose
- (stag %wtbr ;~(pfix bar (ifix [pal par] (most ace wide))))
+ (stag %wtbr ;~(pfix bar (ifix [pel per] (most ace wide))))
(stag %dtpt (stag %f (cold | bar)))
==
:- '~'
- ;~ pose
- %+ stag
- %cnsg
- ;~ pfix
- sig
+ ;~ pfix sig
+ ;~ pose
+ (stag %clsg (ifix [sel ser] (most ace wide)))
+ ::
+ %+ stag %cnsg
%+ ifix
- [pal par]
+ [pel per]
;~(glam rope wide (stag %cltr (most ace wide)))
+ ::
+ (stag %dtpt (stag %ta tyq:ag))
+ (cold [%dtpt %ta ~] sig)
+ (easy [%bcts %null])
==
- ::
- ;~ pfix sig
- ;~ pose
- (stag %dtpt (stag %ta tyq:ag))
- (cold [%dtpt %ta ~] sig)
- ==
- ==
- (stag %bcts (cold %null sig))
==
==
- ++ spat
- |_ tol=?
- ::
- ++ patl
- ?: tol
- (most gap ;~(pose nasp tall))
- ;~ pose
- (most fas ;~(pose nasp (ifix [sel ser] wide)))
- (easy ~)
- ==
- ::
- ++ pato
- ;~ pose
- naso
- ?:(tol tall (ifix [sel ser] wide))
- ==
- ++ patp ;~((glue ?:(tol gap fas)) pato patl)
- ++ patq |. %+ cook
- |=([a=gene b=(list gene)] [a [%clsg (flop b)]])
- patp
- ++ patr |.(patl)
- ++ pats |. ;~ (glue ?:(tol gap fas))
- (stag ~ (cook |=(a=@ (spay [~ %h a])) ;~(pfix dot fed:ag)))
- patl
- ==
- --
+ ++ sput
+ |= tol=?
+ |.
+ %+ stag %clsg
+ ?: tol
+ (more gap ;~(pose nasp tall))
+ ;~ pose
+ (more fas ;~(pose nasp (ifix [sel ser] wide)))
+ ==
++ norm
|= tol=?
=< %- stew
@@ -5331,21 +5328,10 @@
:- '/'
;~ pfix fas
;~ pose
- (tope ~(patq spat tol))
- (cook phom ;~(pfix col (tope ~(patr spat tol))))
- %+ cook
- prel
- ;~ pose
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus tis))
- (easy ~)
- (tope ~(patr spat tol))
- ==
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus lus))
- (tope ~(pats spat tol))
- ==
- ==
+ (tope (sput tol))
+ (cook pend ;~(plug (easy ~) (tope (sput tol))))
+ (cook phed ;~(plug (plus tis) (tope (sput tol))))
+ (cook pend ;~(plug (plus lus) (tope (sput tol))))
==
==
:- '^'
@@ -5447,11 +5433,11 @@
::
++ toad
|* har=_expa
- =+ dur=(ifix [pal par] $:har(tol |))
+ =+ dur=(ifix [pel per] $:har(tol |))
?:(tol ;~(pose ;~(pfix gap $:har(tol &)) dur) dur)
::
++ tope
- |* har=_~(patr spat tol)
+ |* har=_(sput tol)
=+ dur=$:har(tol |)
?:(tol ;~(pose ;~(pfix gap $:har(tol &)) dur) dur)
::
@@ -5506,7 +5492,7 @@
;~ pose
(cold ~ sig)
%+ ifix
- ?:(tol [p=;~(plug duz gap) q=;~(plug gap duz)] [p=pal q=par])
+ ?:(tol [p=;~(plug duz gap) q=;~(plug gap duz)] [p=pel q=per])
(more mash ;~(gunk ;~(pfix cen sym) loaf))
==
--
@@ -5519,7 +5505,7 @@
$% [%tis p=gene]
[%col p=gene]
[%cab p=gene]
- [%pal p=(list >[p=gene q=gene])]
+ [%pel p=(list >[p=gene q=gene])]
==
?- -.vil
%tis
@@ -5531,7 +5517,7 @@
* ~|(ling !!)
==
%col [%tsgl ros p.vil]
- %pal [%cnts ~(rake ap ros) p.vil]
+ %pel [%cnts ~(rake ap ros) p.vil]
%cab [ros p.vil]
==
::
@@ -5545,9 +5531,9 @@
;~(plug (cold %cab cab) wide)
:: ;~(plug (cold %cab sig) (easy %bcts %null))
;~ plug
- (easy %pal)
+ (easy %pel)
%+ ifix
- [pal par]
+ [pel per]
(most ;~(plug com ace) ;~(glam wide wide))
==
==
@@ -5561,12 +5547,12 @@
dot
;~ pose
(cook |=(a=(list) ?:(=(~ +.a) [%% ~] [%% [~ 2] $(a +.a)])) (plus buc))
+ %+ cook
+ |=([a=(list) b=term] ?~(a [b ~] [b [~ 2] $(a +.a)]))
+ ;~(plug (star ket) ;~(pose sym (cold %% buc)))
%+ cook
|=(a=knot [a ~])
- ;~ pose
- sym
- (cook |=(a=axis [~ a]) ;~(pose ;~(pfix lus dim:ag) ven (cold 1 dot)))
- ==
+ (cook |=(a=axis [~ a]) ;~(pose ;~(pfix lus dim:ag) ven (cold 1 dot)))
==
::
++ tall (knee *gene |.(~+((wart ;~(pose (norm &) long)))))
BIN  jupiter/sys/210/watt.pill
View
Binary file not shown
216 jupiter/sys/210/watt.watt
View
@@ -1171,7 +1171,7 @@
++ soul >[tic=@ud pan=(map barn note) tap=_well]
++ span cask
++ spar (list coin)
- ++ spot >[p=tray q=pint]
+ ++ spot >[p=barn q=pint]
++ tank
$% [%leaf p=tape]
[%palm p=[p=tape q=tape r=tape s=tape] q=(list tank)]
@@ -1185,13 +1185,11 @@
[1 p=(list)]
[2 p=(list >[@tam *])]
==
- ++ tray >[p=span q=barn]
++ wall (list tape)
++ wand >@
++ well |+(barn *(unit note))
++ wood (list fact)
- ++ xmln
- >[t=$|(cask [cask a=(list >[n=cask v=tape])]) c=(list xmln)]
+ ++ xmln >[t=$|(cask [cask a=(list >[n=cask v=tape])]) c=(list xmln)]
--
=>
::::
@@ -1603,9 +1601,9 @@
++ ket (just '^')
++ lus (just '+')
++ hip (just '-')
- ++ pal (just '(')
+ ++ pel (just '(')
++ pam (just '&')
- ++ par (just ')')
+ ++ per (just ')')
++ pat (just '@')
++ sel (just '[')
++ sem (just ';')
@@ -3517,12 +3515,27 @@
[vur sed]
::
++ fitz
+ ~. %fitz
|= [yaz=term wix=term]
- ?| =(%% yaz)
- =(%% wix)
- ?& =((end 3 1 yaz) (end 3 1 wix))
- $(yaz (rsh 3 1 yaz), wix (rsh 3 1 wix))
+ =+ ^= fiz
+ |= mot=@tam ^- [p=@ q=@tam]
+ =+ len=(met 3 mot)
+ ?: =(0 len)
+ [0 %%]
+ =+ tyl=(rsh 3 (dec len) mot)
+ ?: &((gte tyl 'A') (lte tyl 'Z'))
+ [(sub tyl 64) (end 3 (dec len) mot)]
+ [0 mot]
+ =+ [yoz=(fiz yaz) wux=(fiz wix)]
+ ?& ?| =(0 p.yoz)
+ &(!=(0 p.wux) (lte p.wux p.yoz))
==
+ |- ?| =(%% p.yoz)
+ =(%% p.wux)
+ ?& =((end 3 1 p.yoz) (end 3 1 p.wux))
+ $(p.yoz (rsh 3 1 p.yoz), p.wux (rsh 3 1 p.wux))
+ ==
+ ==
==
::
++ flan
@@ -3659,6 +3672,16 @@
|= [axe=axis vax=vase] ^- vase
(slap vax [~ axe])
::
+++ slum
+ |= [vax=vase wad=(map term vase)] ^- vase
+ ?- wad
+ ~ vax
+ [* ~ ~] [[%cell p.vax [%face p.n.wad p.q.n.wad]] [q.vax q.q.n.wad]]
+ [* ~ *] $(wad [n.wad ~ ~], vax $(wad r.wad))
+ [* * ~] $(wad [n.wad ~ ~], vax $(wad l.wad))
+ [* * *] $(wad [n.wad ~ r.wad], vax $(wad l.wad))
+ ==
+::
++ ut
~% %ut
-<-
@@ -5066,29 +5089,27 @@
--
::
++ vast
- =+ [bug=`?`| was=*(set tray) wer=*tray]
+ =+ [bug=`?`| was=*(set barn) wer=*barn]
|%
- ++ prel
- |= [bac=@ fot=(unit cask) suf=(list gene)]
- ~| %vast-prel
- ^- gene
- :- [%dtpt %ta ?~(fot p.wer +.fot)]
- :- %clsg
- (weld (flop suf) (turn (slag bac q.wer) |=(a=@ `gene`[%dtpt %ta a])))
+ ++ pend
+ |= [bac=(list) suf=gene] ^- gene
+ (pgen (flop (weld (flop (prev suf)) (slag (lent bac) (flop wer)))))
::
- ++ phom
- |= [suf=(list gene)]
- ^- gene
- [[%dtpt %ta p.wer] [%clsg suf]]
+ ++ phed
+ |= [bac=(list) suf=gene] ^- gene
+ (pgen (weld (prev suf) (slag (lent bac) (flop wer))))
+ ::
+ ++ pgen
+ |= bon=barn ^- gene
+ :- %clsg
+ |-(?~(bon ~ [[%dtpt %ta -.bon] $(bon +.bon)]))
::
++ prev
- |= gen=gene ~| [%prev gen] ^- tray
+ |= gen=gene ~| [%prev gen] ^- barn
?: ?=([%zpcb *] gen)
$(gen q.gen)
- ?> ?=([^ *] gen)
- :- ?>(?=([%dtpt *] p.gen) q.p.gen)
- ?> ?=([%clsg *] q.gen)
- (turn p.q.gen |=(a=gene ?>(?=([%dtpt *] a) q.a)))
+ ?> ?=([%clsg *] gen)
+ (turn p.gen |=(a=gene ?>(?=([%dtpt *] a) q.a)))
::
++ pray
|= gen=gene ~| %pray ^- gene
@@ -5143,13 +5164,13 @@
==
:- '&'
;~ pose
- (stag %wtpm ;~(pfix pam (ifix [pal par] (most ace wide))))
+ (stag %wtpm ;~(pfix pam (ifix [pel per] (most ace wide))))
(stag %dtpt (stag %f (cold & pam)))
==
:- '\''
(stag %dtpt (stag %ta qut))
:- '('
- (stag %cnhp (ifix [pal par] (most ace wide)))
+ (stag %cnhp (ifix [pel per] (most ace wide)))
:- '*'
;~ pose
(stag %bctr ;~(pfix tar wide))
@@ -5157,24 +5178,12 @@
==
:- '+'
;~ pose
- (stag %dtls ;~(pfix lus (ifix [pal par] wide)))
+ (stag %dtls ;~(pfix lus (ifix [pel per] wide)))
(cook |=(a=twig [%cnts a ~]) rope)
==
:- '#'
;~ pfix hax
- %+ cook pray
- %+ cook prel
- ;~ pose
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus tis))
- (easy ~)
- $:~(patr spat |)
- ==
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus lus))
- $:~(pats spat |)
- ==
- ==
+ (cook pray wide)
==
:- '-'
;~ pose
@@ -5191,16 +5200,22 @@
%dtpt
bask
:- ':'
- (stag %smcl ;~(pfix col (ifix [pal par] (most ace wide))))
+ (stag %smcl ;~(pfix col (ifix [pel per] (most ace wide))))
:- '='
- (stag %dtts ;~(pfix tis (ifix [pal par] ;~(glam wide wide))))
+ (stag %dtts ;~(pfix tis (ifix [pel per] ;~(glam wide wide))))
:- '?'
;~ pose
- (stag %bcwt ;~(pfix wut (ifix [pal par] (most ace wide))))
+ (stag %bcwt ;~(pfix wut (ifix [pel per] (most ace wide))))
(stag %bcts (cold %flag wut))
==
:- '@'
- (stag %bcts (stag %atom ;~(pfix pat ;~(pose sym (easy @)))))
+ %+ stag %bcts
+ %+ stag %atom
+ ;~ pfix pat
+ %+ cook
+ |=([a=tape b=tape] (rap 3 (weld a b)))
+ ;~(plug (star low) (star hig))
+ ==
:- '['
(stag %cltr (ifix [sel ser] (most ace wide)))
:- '>'
@@ -5208,7 +5223,10 @@
:- '<'
(stag %ktsg ;~(pfix gal wide))
:- '^'
- (stag %bcts (cold %cell ket))
+ ;~ pose
+ (stag %cnhx rope)
+ (stag %bcts (cold %cell ket))
+ ==
:- '_'
(stag %bccb ;~(pfix cab wide))
:- '`'
@@ -5217,55 +5235,34 @@
(stag %cnhx rope)
:- '|'
;~ pose
- (stag %wtbr ;~(pfix bar (ifix [pal par] (most ace wide))))
+ (stag %wtbr ;~(pfix bar (ifix [pel per] (most ace wide))))
(stag %dtpt (stag %f (cold | bar)))
==
:- '~'
- ;~ pose
- %+ stag
- %cnsg
- ;~ pfix
- sig
+ ;~ pfix sig
+ ;~ pose
+ (stag %clsg (ifix [sel ser] (most ace wide)))
+ ::
+ %+ stag %cnsg
%+ ifix
- [pal par]
+ [pel per]
;~(glam rope wide (stag %cltr (most ace wide)))
+ ::
+ (stag %dtpt (stag %ta tyq:ag))
+ (cold [%dtpt %ta ~] sig)
+ (easy [%bcts %null])
==
- ::
- ;~ pfix sig
- ;~ pose
- (stag %dtpt (stag %ta tyq:ag))
- (cold [%dtpt %ta ~] sig)
- ==
- ==
- (stag %bcts (cold %null sig))
==
==
- ++ spat
- |_ tol=?
- ::
- ++ patl
- ?: tol
- (most gap ;~(pose nasp tall))
- ;~ pose
- (most fas ;~(pose nasp (ifix [sel ser] wide)))
- (easy ~)
- ==
- ::
- ++ pato
- ;~ pose
- naso
- ?:(tol tall (ifix [sel ser] wide))
- ==
- ++ patp ;~((glue ?:(tol gap fas)) pato patl)
- ++ patq |. %+ cook
- |=([a=gene b=(list gene)] [a [%clsg (flop b)]])
- patp
- ++ patr |.(patl)
- ++ pats |. ;~ (glue ?:(tol gap fas))
- (stag ~ (cook |=(a=@ (spay [~ %h a])) ;~(pfix dot fed:ag)))
- patl
- ==
- --
+ ++ sput
+ |= tol=?
+ |.
+ %+ stag %clsg
+ ?: tol
+ (more gap ;~(pose nasp tall))
+ ;~ pose
+ (more fas ;~(pose nasp (ifix [sel ser] wide)))
+ ==
++ norm
|= tol=?
=< %- stew
@@ -5331,21 +5328,10 @@
:- '/'
;~ pfix fas
;~ pose
- (tope ~(patq spat tol))
- (cook phom ;~(pfix col (tope ~(patr spat tol))))
- %+ cook
- prel
- ;~ pose
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus tis))
- (easy ~)
- (tope ~(patr spat tol))
- ==
- ;~ plug
- (cook |=(a=(list) (dec (lent a))) (plus lus))
- (tope ~(pats spat tol))
- ==
- ==
+ (tope (sput tol))
+ (cook pend ;~(plug (easy ~) (tope (sput tol))))
+ (cook phed ;~(plug (plus tis) (tope (sput tol))))
+ (cook pend ;~(plug (plus lus) (tope (sput tol))))
==
==
:- '^'
@@ -5447,11 +5433,11 @@
::
++ toad
|* har=_expa
- =+ dur=(ifix [pal par] $:har(tol |))
+ =+ dur=(ifix [pel per] $:har(tol |))
?:(tol ;~(pose ;~(pfix gap $:har(tol &)) dur) dur)
::
++ tope
- |* har=_~(patr spat tol)
+ |* har=_(sput tol)
=+ dur=$:har(tol |)
?:(tol ;~(pose ;~(pfix gap $:har(tol &)) dur) dur)
::
@@ -5506,7 +5492,7 @@
;~ pose
(cold ~ sig)
%+ ifix
- ?:(tol [p=;~(plug duz gap) q=;~(plug gap duz)] [p=pal q=par])
+ ?:(tol [p=;~(plug duz gap) q=;~(plug gap duz)] [p=pel q=per])
(more mash ;~(gunk ;~(pfix cen sym) loaf))
==
--
@@ -5519,7 +5505,7 @@
$% [%tis p=gene]
[%col p=gene]
[%cab p=gene]
- [%pal p=(list >[p=gene q=gene])]
+ [%pel p=(list >[p=gene q=gene])]
==
?- -.vil
%tis
@@ -5531,7 +5517,7 @@
* ~|(ling !!)
==
%col [%tsgl ros p.vil]
- %pal [%cnts ~(rake ap ros) p.vil]
+ %pel [%cnts ~(rake ap ros) p.vil]
%cab [ros p.vil]
==
::
@@ -5545,9 +5531,9 @@
;~(plug (cold %cab cab) wide)
:: ;~(plug (cold %cab sig) (easy %bcts %null))
;~ plug
- (easy %pal)
+ (easy %pel)
%+ ifix
- [pal par]
+ [pel per]
(most ;~(plug com ace) ;~(glam wide wide))
==
==
@@ -5561,12 +5547,12 @@
dot
;~ pose
(cook |=(a=(list) ?:(=(~ +.a) [%% ~] [%% [~ 2] $(a +.a)])) (plus buc))
+ %+ cook
+ |=([a=(list) b=term] ?~(a [b ~] [b [~ 2] $(a +.a)]))
+ ;~(plug (star ket) ;~(pose sym (cold %% buc)))
%+ cook
|=(a=knot [a ~])
- ;~ pose
- sym
- (cook |=(a=axis [~ a]) ;~(pose ;~(pfix lus dim:ag) ven (cold 1 dot)))
- ==
+ (cook |=(a=axis [~ a]) ;~(pose ;~(pfix lus dim:ag) ven (cold 1 dot)))
==
::
++ tall (knee *gene |.(~+((wart ;~(pose (norm &) long)))))
2  jupiter/sys/210/what.watt
View
@@ -19,7 +19,7 @@
$% [%bean p=*] :: raw noun
[%lose p=term] :: error message
[%mean p=_|.(*tank)] :: prettyprint trigger
- [%pray p=tray] :: prayer attempt
+ [%pray p=barn] :: prayer attempt
[%spot p=spot] :: source position
==
--
19 jupiter/sys/210/zuse.watt
View
@@ -11,7 +11,8 @@
=> |%
++ x-deed ~+
=+ vas=vast
- =+ pay=/.~/sys/[(rent %ud stub)]
+ :: =+ pay=/.~/sys/[(rent %ud stub)]
+ =+ pay=~
;~(plug wide:vas(bug &, wer pay) x-fuel x-vent)
::
++ x-mode ~+
@@ -22,27 +23,11 @@
::
++ x-fuel
;~ pose
- ;~ pfix ;~(plug gap gal)
- %+ stag ~
- ;~ plug
- x-mode
- (stag %clsg (cook |=(a=(list gene) (flop a)) ~(patl spat:vast |)))
- ==
- ==
- ::
(easy ~)
==
::
++ x-vent
;~ pose
- ;~ pfix ;~(plug gap gar)
- %+ stag ~
- ;~ plug
- x-mode
- (stag %clsg (cook |=(a=(list gene) (flop a)) ~(patl spat:vast |)))
- ==
- ==
- ::
(easy ~)
==
--
124 v/console.c
View
@@ -23,6 +23,29 @@
void
u2_ve_gunn_line(u2_noun cor, u2_noun txt);
+// #define NEW9
+
+/* u2_ve_zeus(): prayer to internal file path. Return unit.
+*/
+u2_noun
+u2_ve_zeus(u2_noun hap)
+{
+ if ( (u2_no == u2du(hap)) || (c3_s2('.', '~') != u2h(hap)) ) {
+ u2z(hap);
+ return u2_nul;
+ }
+ else {
+ u2_noun tah = u2k(u2t(hap));
+ u2_noun dat = u2_ve_file("watt", tah);
+
+ if ( u2_none == dat ) {
+ return u2_nul;
+ } else {
+ return u2nc(u2_nul, dat);
+ }
+ }
+}
+
/* u2_ve_dump_columns(): return screen column width from OS.
*/
c3_l
@@ -93,7 +116,7 @@ u2_ve_tank(c3_l tab_l, u2_noun tac)
void
u2_ve_geto(u2_noun hoe)
{
-#if 0
+#if 1
u2z(hoe);
#else
u2_noun doe = hoe;
@@ -319,27 +342,91 @@ u2_ve_zuse_deed(u2_noun ded)
u2z(ded);
}
-/* u2_ve_zeus(): prayer to internal file path. Return unit.
+/* u2_ve_zuse_boom_see(): print to screen.
*/
-u2_noun
-u2_ve_zeus(u2_noun hap)
+void
+u2_ve_zuse_boom_see(u2_noun tab, u2_noun tac)
{
- if ( (u2_no == u2du(hap)) || (c3_s2('.', '~') != u2h(hap)) ) {
- u2z(hap);
- return u2_nul;
- }
- else {
- u2_noun tah = u2k(u2t(hap));
- u2_noun dat = u2_ve_file("watt", tah);
+ if ( !u2_fly_is_cat(tab) ) {
+ u2_cm_bail(c3__fail);
+ } else {
+ u2_ve_tank(tab, tac);
+ }
+}
- if ( u2_none == dat ) {
- return u2_nul;
+/* u2_ve_zuse_boom_dat(): save to disk.
+*/
+void
+u2_ve_zuse_boom_dat(u2_noun tah, u2_noun mod, u2_noun som)
+{
+ u2_err(u2_Wire, "dat: tah", tah);
+ u2_err(u2_Wire, "dat: mod", mod);
+
+ u2z(tah);
+}
+
+/* u2_ve_zuse_boom(): produce zuse outputs.
+*/
+void
+u2_ve_zuse_boom(u2_noun out)
+{
+ u2_noun tou = out;
+
+ while ( 1 ) {
+ if ( u2_nul == tou ) {
+ u2z(out);
+ return;
} else {
- return u2nc(u2_nul, dat);
+ u2_noun i_tou = u2h(tou);
+ u2_noun t_tou = u2t(tou);
+ u2_noun bum = i_tou;
+ u2_noun p_bum, q_bum, r_bum;
+
+ switch ( u2h(bum) ) {
+ case c3__hit: {
+ u2_as_trel(u2t(bum), &p_bum, &q_bum, &r_bum);
+ u2_ve_zuse_boom_dat(u2k(p_bum), u2k(q_bum), u2k(r_bum));
+
+ break;
+ }
+ case c3__see: {
+ u2_as_cell(u2t(bum), &p_bum, &q_bum);
+
+ u2_ve_zuse_boom_see(u2k(p_bum), u2k(q_bum));
+ break;
+ }
+ }
+ tou = t_tou;
}
}
}
+/* u2_ve_zuse_loon_load(): preload a zuse line.
+*/
+u2_noun
+u2_ve_zuse_loon_load(u2_noun lun)
+{
+ return lun;
+}
+
+/* u2_ve_zuse_loon(): execute a zuse line.
+*/
+void
+u2_ve_zuse_loon(u2_noun lun)
+{
+ lun = u2_ve_zuse_loon_load(lun);
+ {
+ u2_noun res = u2_ve_hard("zuse", "live", lun);
+ u2_noun h_res = u2_h(res);
+ u2_noun t_res = u2_t(res);
+
+ u2_ve_zuse_boom(u2k(h_res));
+ u2_ve_step("zuse", u2k(t_res));
+
+ u2z(res);
+ }
+}
+
/* u2_ve_zuse_line(): execute a command with the zuse shell, protected.
*/
void
@@ -351,10 +438,17 @@ u2_ve_zuse_line(u2_noun lin)
if ( u2_Host.kno_w > 209 ) {
ded = u2_ve_hard("zuse", "scan", lin);
+
+ u2_ve_zuse_deed(ded);
} else {
+#ifdef NEW9
+ ded = u2_ve_hard("born", "slan", lin);
+ u2_ve_zuse_loon(ded);
+#else
ded = u2_ve_hard("born", "scan", lin);
+ u2_ve_zuse_deed(ded);
+#endif
}
- u2_ve_zuse_deed(ded);
}
u2_hevn_be(u2_pryr, god) = 0;
}

No commit comments for this range

Something went wrong with that request. Please try again.