on master help sign in
cleaned things up
commit7192258c141e7a2e601a233ecb3629129b23042e authoriko <mail@iko.soy> dateThu 1 Aug 2024, 18:53 (2 years ago) parent9e7a271
5 files changed+30−28
desk/lib/interlist.hoon+1−6 desk/lib/lua.hoon−2 desk/lib/lua/parser.hoon+19−18 desk/res/lua/cycled/constructs.lua+2−2 desk/sur/interlist.hoon+8
desk/lib/interlist.hoon+1−6
@@ -1,11 +1,6 @@
1+/- *interlist
12=<
23|%
3−++ interlist
4− |$ [sep val]
5− $%
6− [%double =val =sep tail=(interlist sep val)]
7− [%single =val]
8− ==
94++ new
105 |* [a=* b=(list [* *])]
116 ^- (interlist _?<(?=(~ b) -.i.b) _a)
desk/lib/lua.hoondeleted−2
@@ -1,2 +0,0 @@
1−|%
2−--
desk/lib/lua/parser.hoon+19−18
@@ -1,6 +1,7 @@
11/- *lua
2+/- *interlist
23/+ st
3−/+ interlist
4+/+ inter=interlist
45=<
56apex
67|%
@@ -57,8 +58,8 @@ apex
5758:: Parse expressions separated by binary operators
5859::
5960++ parse-expr-list
60− %^ tnee %parse-expr-list ,(interlist:interlist binop [(list unop) expr])
61− %+ parse:interlist (ifix [ws ws] parse-binop)
61+ %^ tnee %parse-expr-list ,(interlist binop [(list unop) expr])
62+ %+ parse:inter (ifix [ws ws] parse-binop)
6263 ;~ plug
6364 %- star
6465 ;~ pose
@@ -80,7 +81,7 @@ apex
8081 ==
8182++ process-expr-list
8283 =<
83− |= l=(interlist:interlist binop [(list unop) expr])
84+ |= l=(interlist binop [(list unop) expr])
8485 ^- expr
8586 %- strip-tree
8687 %- (process-right-assoc ~[%pow])
@@ -103,13 +104,13 @@ apex
103104 [%branch b=unop t=working-tree]
104105 [%tbd-unop l=(list [=expr =binop]) =unop r=working-tree]
105106 [%unoped l=(list [=expr =binop]) r=working-tree]
106− [%leaf (interlist:interlist binop expr)]
107+ [%leaf (interlist binop expr)]
107108 ==
108109 ++ preprocess-tree
109− |= l=(interlist:interlist binop [(list unop) expr])
110+ |= l=(interlist binop [(list unop) expr])
110111 ^- working-tree
111112 =/ splitted (find-unop l)
112− ?~ splitted leaf+(turn:interlist l |=([* =expr] expr))
113+ ?~ splitted leaf+(turn:inter l |=([* =expr] expr))
113114 tbd-unop+[l.u.splitted unop.u.splitted $(l r.u.splitted)]
114115 ++ apply-unops
115116 |= [unops=(list unop) =expr]
@@ -127,8 +128,8 @@ apex
127128 %unoped ?> =(~ l.tree) $(tree r.tree)
128129 ==
129130 ++ find-unop
130− |= l=(interlist:interlist binop [(list unop) expr])
131− ^- (unit [l=(list [=expr =binop]) =unop r=(interlist:interlist binop [(list unop) expr])])
131+ |= l=(interlist binop [(list unop) expr])
132+ ^- (unit [l=(list [=expr =binop]) =unop r=(interlist binop [(list unop) expr])])
132133 ?- -.l
133134 %single
134135 ?~ +<.l ~
@@ -137,7 +138,7 @@ apex
137138 %double
138139 ?~ -.val.l
139140 %+ ^^bind $(l tail.l)
140− |= [k=(list [expr binop]) =unop tail=(interlist:interlist binop [(list unop) expr])]
141+ |= [k=(list [expr binop]) =unop tail=(interlist binop [(list unop) expr])]
141142 [[[+.val.l sep.l] k] unop tail]
142143 %- some
143144 [~ i.-.val.l double+[[t.-.val.l +.val.l] sep.l tail.l]]
@@ -154,7 +155,7 @@ apex
154155 ==
155156 ++ split-left-unop-list
156157 |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
157− ^- (unit [l=(interlist:interlist binop expr) =binop r=(list [=expr =binop])])
158+ ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
158159 ?~ l ~
159160 ?: (is-pivot binop.i.l) `[single+expr.i.l binop.i.l t.l]
160161 =/ rest $(l t.l)
@@ -162,17 +163,17 @@ apex
162163 `[double+[expr.i.l binop.i.l -.u.rest] +.u.rest]
163164 ++ split-right-unop-list
164165 |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
165− ^- (unit [l=(interlist:interlist binop expr) =binop r=(list [=expr =binop])])
166− =/ reversed=(unit [l=(list [=binop =expr]) =binop r=(interlist:interlist binop expr)])
166+ ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
167+ =/ reversed=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)])
167168 =/ l=(list [=binop =expr]) (flop (turn l swap))
168169 |-
169170 ?~ l ~
170− ?: (is-pivot binop.i.l) `[~ binop.i.l (new:interlist expr.i.l t.l)]
171− =/ rest=(unit [l=(list [=binop =expr]) =binop r=(interlist:interlist binop expr)]) $(l t.l)
171+ ?: (is-pivot binop.i.l) `[~ binop.i.l (new:inter expr.i.l t.l)]
172+ =/ rest=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)]) $(l t.l)
172173 ?~ rest ~
173174 `[[i.l l.u.rest] +.u.rest]
174175 ?~ reversed ~
175− `[(reverse:interlist r.u.reversed) binop.u.reversed (turn (flop l.u.reversed) swap)]
176+ `[(reverse:inter r.u.reversed) binop.u.reversed (turn (flop l.u.reversed) swap)]
176177 ++ swap |*([a=* b=*] [b a])
177178 ++ process-right-assoc
178179 |= ops=(lest binop)
@@ -182,7 +183,7 @@ apex
182183 %leaf
183184 =/ l +.tree
184185 |-
185− =/ splitted (split-left-on:interlist |=(op=binop (elem op ops)) l)
186+ =/ splitted (split-left-on:inter |=(op=binop (elem op ops)) l)
186187 ?~ splitted [%leaf l]
187188 [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
188189 %branch branch+[b.tree $(tree t.tree)]
@@ -208,7 +209,7 @@ apex
208209 =/ l +.tree
209210 |-
210211 ^- working-tree
211− =/ splitted (split-right-on:interlist |=(op=binop (elem op ops)) l)
212+ =/ splitted (split-right-on:inter |=(op=binop (elem op ops)) l)
212213 ?~ splitted [%leaf l]
213214 [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
214215 %tbd-unop
desk/res/lua/cycled/constructs.lua+2−2
@@ -28,7 +28,7 @@ a=(0x3 // 0x0)
2828;
2929a=(0x0 % 0x0)
3030end
31−assert((((0x2 ^ 0x3) ^ 0x2) == (0x2 ^ (0x3 ^ 0x2))))
31+assert(((0x2 ^ (0x3 ^ 0x2)) == (0x2 ^ (0x3 ^ 0x2))))
3232;
3333assert((((0x2 ^ 0x3) * 0x4) == ((0x2 ^ 0x3) * 0x4)))
3434;
@@ -49,7 +49,7 @@ assert(((0xf0 | (0xcc ~ (0xaa & 0xfd))) == 0xf4))
4949assert(((((0xfd & 0xaa) ~ 0xcc) | 0xf0) == 0xf4))
5050assert(((0xf0 & (0xf + 0x1)) == 0x10))
5151assert(((((0x3 ^ 0x4) // (0x2 ^ 0x3)) // 0x5) == 0x2))
52−assert((- (((0x3 + (((0x4 * 0x5) // ((0x2 ^ 0x3) ^ 0x2)) // 0x9)) + ((0x4 % 0xa) / 0x3)) == (((- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)))))
52+assert((- (((0x3 + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)) == (((- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)))))
5353assert((not ((true or false) and nil)))
5454assert((true or (false and nil)))
5555assert(((((0x1 or false) and true) or false) == true))
desk/sur/interlist.hoonnew file+8
@@ -0,0 +1,8 @@
1+|%
2+++ interlist
3+ |$ [sep val]
4+ $%
5+ [%double =val =sep tail=(interlist sep val)]
6+ [%single =val]
7+ ==
8+--