on master help sign in
thru 2k
64804f3Henry Ault
docs/system/hoon/library/src/2k/core/to.md+40−36
@@ -3,18 +3,18 @@
3Queue operations
3Queue operations
4
4
5Container arm for queue operation arms. The contained arms inherit its
5Container arm for queue operation arms. The contained arms inherit its
6−[sample]() `++qeu` `a`.
6+sample `++qeu` `a`.
7
7
8Accepts
8Accepts
9-------
9-------
10
10
11−`a` is a queue, [++qeu]().
11+`a` is a queue, ++qeu.
12
12
13Source
13Source
14------
14------
15
15
16 ++ to :: queue engine
16 ++ to :: queue engine
17− |/ a=(qeu)
17+ |/ a/(qeu)
18
18
19### `+-bal:to`
19### `+-bal:to`
20
20
@@ -25,12 +25,12 @@ Vertically rebalances queue `a`.
25Accepts
25Accepts
26-------
26-------
27
27
28−`a` is a [queue]().
28+`a` is a queue.
29
29
30Produces
30Produces
31--------
31--------
32
32
33−A [queue]().
33+A queue.
34
34
35Source
35Source
36------
36------
@@ -38,13 +38,14 @@ Source
38 +- bal
38 +- bal
39 |- ^+ a
39 |- ^+ a
40 ?~ a ~
40 ?~ a ~
41− ?. |(?=(~ l.a) (vor n.a n.l.a))
41+ ?. |(?=($~ l.a) (vor n.a n.l.a))
42 $(a [n.l.a l.l.a $(a [n.a r.l.a r.a])])
42 $(a [n.l.a l.l.a $(a [n.a r.l.a r.a])])
43− ?. |(?=(~ r.a) (vor n.a n.r.a))
43+ ?. |(?=($~ r.a) (vor n.a n.r.a))
44 $(a [n.r.a $(a [n.a l.a l.r.a]) r.r.a])
44 $(a [n.r.a $(a [n.a l.a l.r.a]) r.r.a])
45 a
45 a
46 ::
46 ::
47
47
48+
48Examples
49Examples
49--------
50--------
50
51
@@ -68,7 +69,7 @@ Produces the maximum depth of leaves (r.a and l.a) in queue `a`.
68Accepts
69Accepts
69-------
70-------
70
71
71−`a` is a [queue]().
72+`a` is a queue.
72
73
73Produces
74Produces
74--------
75--------
@@ -84,16 +85,17 @@ Source
84 +((max $(a l.a) $(a r.a)))
85 +((max $(a l.a) $(a r.a)))
85 ::
86 ::
86
87
88+
87Examples
89Examples
88--------
90--------
89
91
90− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[1 2 3 4 5 6 7 ~])
92+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[1 2 3 4 5 6 7 ~])
91 ~zod/try=> ~(dep to a)
93 ~zod/try=> ~(dep to a)
92 4
94 4
93− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[1 2 3 4 ~])
95+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[1 2 3 4 ~])
94 ~zod/try=> ~(dep to a)
96 ~zod/try=> ~(dep to a)
95 3
97 3
96− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[1 2 ~])
98+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[1 2 ~])
97 ~zod/try=> ~(dep to a)
99 ~zod/try=> ~(dep to a)
98 2
100 2
99 ~zod/try=> ~(dep to `(qeu tape)`["a" ~ "b" ~ "c" ~ "d" ~ "e" ~ "f" ~ "g" ~ ~])
101 ~zod/try=> ~(dep to `(qeu tape)`["a" ~ "b" ~ "c" ~ "d" ~ "e" ~ "f" ~ "g" ~ ~])
@@ -107,7 +109,7 @@ Examples
107
109
108Push list
110Push list
109
111
110−Push all elements of [`++list`]() `b` into the [`++queue`]().
112+Push all elements of `++list` `b` into the `++queue`.
111
113
112Accepts
114Accepts
113-------
115-------
@@ -146,7 +148,7 @@ Examples
146
148
147Pop
149Pop
148
150
149−Produces the head and tail [`++queue`]() of `a`.
151+Produces the head and tail `++queue` of `a`.
150
152
151Accepts
153Accepts
152-------
154-------
@@ -162,14 +164,14 @@ Source
162------
164------
163
165
164 +- get :: head-tail pair
166 +- get :: head-tail pair
165− |- ^+ [p=?>(?=(^ a) n.a) q=a]
167+ |- ^+ ?>(?=(^ a) [p=n.a q=*(qeu _n.a)])
166 ?~ a
168 ?~ a
167 !!
169 !!
168 ?~ r.a
170 ?~ r.a
169 [n.a l.a]
171 [n.a l.a]
170 =+ b=$(a r.a)
172 =+ b=$(a r.a)
171 :- p.b
173 :- p.b
172− ?: |(?=(~ q.b) (vor n.a n.q.b))
174+ ?: |(?=($~ q.b) (vor n.a n.q.b))
173 [n.a l.a q.b]
175 [n.a l.a q.b]
174 [n.q.b [n.a l.a l.q.b] r.q.b]
176 [n.q.b [n.a l.a l.q.b] r.q.b]
175 ::
177 ::
@@ -177,7 +179,7 @@ Source
177Examples
179Examples
178--------
180--------
179
181
180− ~zod/try=> =s (~(gas to *(qeu ,@)) `(list ,@)`~[1 2 3])
182+ ~zod/try=> =s (~(gas to *(qeu @)) `(list @)`~[1 2 3])
181 ~zod/try=> ~(get to s)
183 ~zod/try=> ~(get to s)
182 [p=1 q={3 2}]
184 [p=1 q={3 2}]
183 ~zod/try=> ~(get to ~)
185 ~zod/try=> ~(get to ~)
@@ -189,12 +191,12 @@ Examples
189
191
190Remove last element
192Remove last element
191
193
192−Removes the head of [`++queue`]() `a`, producing the resulting queue.
194+Removes the head of `++queue` `a`, producing the resulting queue.
193
195
194Accepts
196Accepts
195-------
197-------
196
198
197−`a` is a [queue]().
199+`a` is a queue.
198
200
199Produces
201Produces
200--------
202--------
@@ -207,14 +209,14 @@ Source
207 +- nap :: removes head
209 +- nap :: removes head
208 ?> ?=(^ a)
210 ?> ?=(^ a)
209 ?: =(~ l.a) r.a
211 ?: =(~ l.a) r.a
210− =+ b=get(+< l.a)
212+ =+ b=get(a l.a)
211− bal(+< ^+(a [p.b q.b r.a]))
213+ bal(a ^+(a [p.b q.b r.a]))
212 ::
214 ::
213
215
214Examples
216Examples
215--------
217--------
216
218
217− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[1 2 3 4 5 6 ~])
219+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[1 2 3 4 5 6 ~])
218 ~zod/try=> -.a
220 ~zod/try=> -.a
219 n=6
221 n=6
220 ~zod/try=> =b ~(nap to a)
222 ~zod/try=> =b ~(nap to a)
@@ -231,13 +233,13 @@ Examples
231
233
232Insert
234Insert
233
235
234−Accept any [noun]() `b` and adds to [`++queue`]() `a` as the head, producing the
236+Accept any noun `b` and adds to `++queue` `a` as the head, producing the
235resulting queue.
237resulting queue.
236
238
237Accepts
239Accepts
238-------
240-------
239
241
240−`a` is a [queue]().
242+`a` is a queue.
241
243
242`b` is any noun.
244`b` is any noun.
243
245
@@ -250,17 +252,18 @@ Source
250------
252------
251
253
252 +- put :: insert new tail
254 +- put :: insert new tail
253− |* b=*
255+ |* b/*
254 |- ^+ a
256 |- ^+ a
255 ?~ a
257 ?~ a
256 [b ~ ~]
258 [b ~ ~]
257− bal(+< a(l $(a l.a)))
259+ bal(a a(l $(a l.a)))
258 ::
260 ::
259
261
262+
260Examples
263Examples
261--------
264--------
262
265
263− ~zod/try=> (~(gas to `(qeu ,@)`~) `(list ,@)`[3 1 2 4 5 6 ~])
266+ ~zod/try=> (~(gas to `(qeu @)`~) `(list @)`[3 1 2 4 5 6 ~])
264 ~zod/try=> (~(put to a) 7)
267 ~zod/try=> (~(put to a) 7)
265 {7 6 5 4 2 1 3}
268 {7 6 5 4 2 1 3}
266
269
@@ -270,18 +273,19 @@ Examples
270
273
271Queue to list
274Queue to list
272
275
273−Produces [`++queue`]() `a` as a [`++list`]() from front to back.
276+Produces `++queue` `a` as a `++list` from front to back.
274
277
275Accepts
278Accepts
276-------
279-------
277
280
278−`a` is a [queue]().
281+`a` is a queue.
279
282
280Source
283Source
281------
284------
282
285
283− +- tap :: queue to list
286+ +- tap :: adds list to end
284− |= b=(list ,_?>(?=(^ a) n.a))
287+ |= b/(list _?>(?=(^ a) n.a))
288+ =+ z=0 :: XX breaks jet match
285 ^+ b
289 ^+ b
286 ?~ a
290 ?~ a
287 b
291 b
@@ -291,22 +295,22 @@ Source
291Examples
295Examples
292--------
296--------
293
297
294− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[3 1 2 4 5 6 ~])
298+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[3 1 2 4 5 6 ~])
295 ~zod/try=> `*`a
299 ~zod/try=> `*`a
296 [6 0 2 [4 [5 0 0] 0] 1 0 3 0 0]
300 [6 0 2 [4 [5 0 0] 0] 1 0 3 0 0]
297− ~zod/try=> (~(tap to a) `(list ,@)`[99 100 101 ~])
301+ ~zod/try=> (~(tap to a) `(list @)`[99 100 101 ~])
298 ~[3 1 2 4 5 6 99 100 101]
302 ~[3 1 2 4 5 6 99 100 101]
299
303
300------------------------------------------------------------------------
304------------------------------------------------------------------------
301
305
302### `+-top:to`
306### `+-top:to`
303
307
304−Produces the head of [`++queue`]() `a` as a [`++unit`]() (an empty queue has no head).
308+Produces the head of `++queue` `a` as a `++unit` (an empty queue has no head).
305
309
306Accepts
310Accepts
307-------
311-------
308
312
309−`a` is a [queue]().
313+`a` is a queue.
310
314
311Produces
315Produces
312--------
316--------
@@ -317,14 +321,14 @@ Source
317------
321------
318
322
319 +- top :: produces head
323 +- top :: produces head
320− |- ^- (unit ,_?>(?=(^ a) n.a))
324+ |- ^- (unit _?>(?=(^ a) n.a))
321 ?~ a ~
325 ?~ a ~
322 ?~(r.a [~ n.a] $(a r.a))
326 ?~(r.a [~ n.a] $(a r.a))
323
327
324Examples
328Examples
325--------
329--------
326
330
327− ~zod/try=> =a (~(gas to `(qeu ,@)`~) `(list ,@)`[1 2 3 4 5 6 ~])
331+ ~zod/try=> =a (~(gas to `(qeu @)`~) `(list @)`[1 2 3 4 5 6 ~])
328 ~zod/try=> ~(top to a)
332 ~zod/try=> ~(top to a)
329 [~ 1]
333 [~ 1]
330
334