on master help sign in
Fixes #180, Broken examples on the Hoon Map Library Page (#181)
572a0ccDaryl Richter
docs/hoon/library/2i.md+39−35
@@ -18,8 +18,8 @@ pairs. The contained arms inherit it's sample map, `a`.
18
18
19`a` is a map.
19`a` is a map.
20
20
21− > ~(. by (mo (limo [%a 1] [%b 2] ~)))
21+ > ~(. by (my [%a 1] [%b 2] ~))
22− <19.irb [nlr([p={%a %b} q=@ud]) <414.rvm 101.jzo 1.ypj %164>]>
22+ <22.znh {a/nlr({p/?($a $b) q/@ud}) <409.ofg 110.xht 1.ztu $151>}>
23
23
24------------------------------------------------------------------------
24------------------------------------------------------------------------
25
25
@@ -44,10 +44,10 @@ Computes the logical AND on the results of slamming every element in map
44
44
45`b` is a wet gate.
45`b` is a wet gate.
46
46
47− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
47+ > =b (my [['a' 1] ['b' [2 3]] ~])
48 > (~(all by b) |=(a/* ?@(a & |)))
48 > (~(all by b) |=(a/* ?@(a & |)))
49 %.n
49 %.n
50− > =a (mo `(list {@t @u})`[['a' 1] ['b' 2] ['c' 3] ['d' 4] ['e' 5] ~])
50+ > =a (my [['a' 1] ['b' 2] ['c' 3] ['d' 4] ['e' 5] ~])
51 > (~(all by a) |=(a/@ (lte a 6)))
51 > (~(all by a) |=(a/@ (lte a 6)))
52 %.y
52 %.y
53 > (~(all by a) |=(a/@ (lte a 4)))
53 > (~(all by a) |=(a/@ (lte a 4)))
@@ -74,11 +74,11 @@ gate `b`. Produces a loobean.
74
74
75`b` is a wet gate.
75`b` is a wet gate.
76
76
77− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
77+ > =b (my [['a' 1] ['b' [2 3]] ~])
78− > (~(all by b) |=(a/* ?@(a & |)))
78+ > (~(any by b) |=(a/* ?@(a & |)))
79 %.y
79 %.y
80− > =a (mo `(list {@t @u})`[['a' 1] ['b' 2] ['c' 3] ['d' 4] ['e' 5] ~])
80+ > =a (my [['a' 1] ['b' 2] ['c' 3] ['d' 4] ['e' 5] ~])
81− > (~(any by a) |=(a=@ (lte a 4)))
81+ > (~(any by a) |=(a/@ (lte a 4)))
82 %.y
82 %.y
83
83
84------------------------------------------------------------------------
84------------------------------------------------------------------------
@@ -111,9 +111,9 @@ Produces map `a` with the element located at key `b` removed.
111
111
112`b` is a key as a noun.
112`b` is a key as a noun.
113
113
114− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
114+ > =b (my [['a' 1] ['b' [2 3]] ~])
115− > (~(del by b) `a`)
115+ > (~(del by b) 'a')
116− {[p=`b` q=[2 3]]}
116+ {[p='b' q=[2 3]]}
117
117
118------------------------------------------------------------------------
118------------------------------------------------------------------------
119
119
@@ -139,8 +139,8 @@ Produce the axis of key `b` within map `a`.
139
139
140`b` is a key as a noun.
140`b` is a key as a noun.
141
141
142− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
142+ > =b (my [['a' 1] ['b' [2 3]] ~])
143− > (~(dig by b) `b`)
143+ > (~(dig by b) 'b')
144 [~ 2]
144 [~ 2]
145
145
146------------------------------------------------------------------------
146------------------------------------------------------------------------
@@ -165,10 +165,10 @@ Insert a list of key-value pairs `b` into map `a`.
165
165
166`b` is a list of cells of key-value nouns `p` and `q`.
166`b` is a list of cells of key-value nouns `p` and `q`.
167
167
168− > =a (mo `(list {@t *})`[[`a` 1] [`b` 2] ~])
168+ > =a (my [['a' 1] ['b' 2] ~])
169− > =b `(list {@t *})`[[`c` 3] [`d` 4] ~]
169+ > =b [['c' 3] ['d' 4] ~]
170 > (~(gas by a) b)
170 > (~(gas by a) b)
171− {[p=`d` q=4] [p=`a` q=1] [p=`c` q=3] [p=`b` q=2]}
171+ {[p='d' q=4] [p='a' q=1] [p='c' q=3] [p='b' q=2]}
172
172
173------------------------------------------------------------------------
173------------------------------------------------------------------------
174
174
@@ -194,8 +194,8 @@ Produce the unit value of the value located at key `b` within map `a`.
194
194
195`b` is a key as a noun
195`b` is a key as a noun
196
196
197− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
197+ > =b (my [['a' 1] ['b' [2 3]] ~])
198− > (~(get by b) `b`)
198+ > (~(get by b) 'b')
199 [~ [2 3]]
199 [~ [2 3]]
200
200
201------------------------------------------------------------------------
201------------------------------------------------------------------------
@@ -215,7 +215,7 @@ does not exist.
215
215
216`b` is a key.
216`b` is a key.
217
217
218− > =m (mo `(list {@t *})`[['a' 1] ['b' 2] ~])
218+ > =m (my [['a' 1] ['b' 2] ~])
219 > m
219 > m
220 {[p='a' q=1] [p='b' q=2]}
220 {[p='a' q=1] [p='b' q=2]}
221 > (~(get by m) 'a')
221 > (~(get by m) 'a')
@@ -244,10 +244,10 @@ loobean.
244
244
245`b` is a key as a noun.
245`b` is a key as a noun.
246
246
247− > =b (mo `(list {@t *})`[['a' 1] ['b' [2 3]] ~])
247+ > =b (my [['a' 1] ['b' [2 3]] ~])
248− > (~(has by b) `b`)
248+ > (~(has by b) 'b')
249 %.y
249 %.y
250− > (~(has by b) `c`)
250+ > (~(has by b) 'c')
251 %.n
251 %.n
252
252
253------------------------------------------------------------------------
253------------------------------------------------------------------------
@@ -285,27 +285,27 @@ different values, the element from map `b` is used.
285
285
286`b` is a map.
286`b` is a map.
287
287
288− > =n (mo `(list {@t *})`[['a' 1] ['c' 3] ~])
288+ > =n (my [['a' 1] ['c' 3] ~])
289 > n
289 > n
290 {[p='a' q=1] [p='c' q=3]}
290 {[p='a' q=1] [p='c' q=3]}
291 > m
291 > m
292 {[p='a' q=1] [p='b' q=2]}
292 {[p='a' q=1] [p='b' q=2]}
293 > (~(int by m) n)
293 > (~(int by m) n)
294 {[p='a' q=1]}
294 {[p='a' q=1]}
295− ~ravpel-holber/try=> =p (mo `(list {@t *})`[['a' 2] ['b' 2] ~])
295+ > =p (my [['a' 2] ['b' 2] ~])
296 > p
296 > p
297 {[p='a' q=2] [p='b' q=2]}
297 {[p='a' q=2] [p='b' q=2]}
298 > (~(int by p) n)
298 > (~(int by p) n)
299− {[p='a' q=2]}
299+ {[p='a' q=1]}
300− > =q (mo `(list {@t *})`[['a' 2] ['c' 2] ~])
300+ > =q (my [['a' 2] ['c' 2] ~])
301 > q
301 > q
302− {[p='a' q=2] [p='b' q=2]}
302+ {[p='a' q=2] [p='c' q=2]}
303 > (~(int by p) q)
303 > (~(int by p) q)
304− {[p='a' q=2] [p='b' q=2]}
304+ {[p='a' q=2]}
305− > =o (mo `(list {@t *})`[['c' 3] ['d' 4] ~])
305+ > =o (my [['c' 3] ['d' 4] ~])
306 > (~(int by m) o)
306 > (~(int by m) o)
307 {}
307 {}
308−
308+
309
309
310------------------------------------------------------------------------
310------------------------------------------------------------------------
311
311
@@ -471,6 +471,7 @@ Produces the list of all elements in map `a` that is prepended to list
471
471
472`b` is a list.
472`b` is a list.
473
473
474+ > m
474 {[p='a' q=1] [p='b' q=2]}
475 {[p='a' q=1] [p='b' q=2]}
475 > `*`m
476 > `*`m
476 [[98 2] [[97 1] 0 0] 0]
477 [[98 2] [[97 1] 0 0] 0]
@@ -521,9 +522,9 @@ shares a key with `a`, the tuple from `b` is preserved.
521 > (~(uni by m) ~)
522 > (~(uni by m) ~)
522 {[p='a' q=1] [p='b' q=2]}
523 {[p='a' q=1] [p='b' q=2]}
523 > n
524 > n
524− {[p='a' q=1] [p='c' q=9]}
525+ {[p='a' q=1] [p='c' q=3]}
525 > (~(uni by o) n)
526 > (~(uni by o) n)
526− {[p='d' q=4] [p='a' q=1] [p='c' q=9]}
527+ {[p='d' q=4] [p='a' q=1] [p='c' q=3]}
527
528
528------------------------------------------------------------------------
529------------------------------------------------------------------------
529
530
@@ -547,11 +548,14 @@ produces a noun (the new value).
547
548
548 > m
549 > m
549 {[p='a' q=1] [p='b' q=2]}
550 {[p='a' q=1] [p='b' q=2]}
551+
550− > (~(urn by m) |=(a=[p=* q=*] q.a))
552+ > (~(urn by m) |=(a/(pair * *) q.a))
551 {[p='a' q=1] [p='b' q=2]}
553 {[p='a' q=1] [p='b' q=2]}
554+
552− > (~(urn by m) |=(a=[p=* q=*] 7))
555+ > (~(urn by m) |=(a/(pair * *) 7))
553 {[p='a' q=7] [p='b' q=7]}
556 {[p='a' q=7] [p='b' q=7]}
557+
554− > (~(urn by m) |=(a=[p=* q=*] p.a))
558+ > (~(urn by m) |=(a/(pair * *) p.a))
555 {[p='a' q=97] [p='b' q=98]}
559 {[p='a' q=97] [p='b' q=98]}
556
560
557------------------------------------------------------------------------
561------------------------------------------------------------------------