forked from urbit/archaeology
-
Notifications
You must be signed in to change notification settings - Fork 0
Hoon by
Adam Bliss edited this page Oct 25, 2013
·
1 revision
++ by :: map engine
~/ %by
|_ a=(map)
+- all
~/ %all
|* b=_|=(* ?)
|- ^- ?
?@ a
&
?&((b q.n.a) $(a l.a) $(a r.a))
::
+- any
~/ %any
|* b=_|=(* ?)
|- ^- ?
?@ a
|
?|((b q.n.a) $(a l.a) $(a r.a))
::
+- del
~/ %del
|* b=*
|- ^+ a
?~ a
~
?. =(b p.n.a)
?: (gor b p.n.a)
[n.a $(a l.a) r.a]
[n.a l.a $(a r.a)]
|- ^- ?(~ _a)
?~ l.a r.a
?~ r.a l.a
?: (vor p.n.l.a p.n.r.a)
[n.l.a l.l.a $(l.a r.l.a)]
[n.r.a $(r.a l.r.a) r.r.a]
::
++ dig
|= b=*
=+ c=1
|- ^- (unit ,@)
?~ a ~
?: =(b p.n.a) [~ u=(peg c 2)]
?: (gor b p.n.a)
$(a l.a, c (peg c 6))
$(a r.a, c (peg c 7))
::
+- gas
~/ %gas
|* b=(list ,[p=* q=*])
=> .(b `(list _?>(?=(^ a) n.a))`b)
|- ^+ a
?@ b
a
$(b t.b, a (put p.i.b q.i.b))
::
+- get
~/ %get
|* b=*
|- ^- ?(~ [~ u=_?>(?=(^ a) q.n.a)])
?@ a
~
?: =(b p.n.a)
[~ u=q.n.a]
?: (gor b p.n.a)
$(a l.a)
$(a r.a)
::
+- has
~/ %has
|* b=*
!=(~ (get b))
::
+- mar
|* [b=_?>(?=(^ a) p.n.a) c=(unit _?>(?=(^ a) q.n.a))]
?~ c
(del b)
(put b u.c)
::
+- put
~/ %put
|* [b=* c=*]
|- ^+ a
?@ a
[[b c] ~ ~]
?: =(b p.n.a)
?: =(c q.n.a)
a
[[b c] l.a r.a]
?: (gor b p.n.a)
=+ d=$(a l.a)
?> ?=(^ d)
?: (vor p.n.a p.n.d)
[n.a d r.a]
[n.d l.d [n.a r.d r.a]]
=+ d=$(a r.a)
?> ?=(^ d)
?: (vor p.n.a p.n.d)
[n.a l.a d]
[n.d [n.a l.a l.d] r.d]
::
+- rep
|* [b=* c=_,*]
|-
?~ a b
$(a r.a, b $(a l.a, b (c n.a b)))
::
+- rib
|* [b=* c=_,*]
|- ^+ [b a]
?~ a [b ~]
=+ d=(c n.a b)
=. n.a +.d
=+ e=$(a l.a, b -.d)
=+ f=$(a r.a, b -.e)
[-.f [n.a +.e +.f]]
::
+- run
|* b=_,*
|-
?~ a a
[[p.n.a (b q.n.a)] $(a l.a) $(a r.a)]
::
+- tap
~/ %tap
|= b=(list _?>(?=(^ a) n.a))
^+ b
?@ a
b
$(a r.a, b [n.a $(a l.a)])
::
+- wyt
.+
|- ^- @
?~(a 0 +((add $(a l.a) $(a r.a))))
--
Parts of this document are generated automatically. Edits within the comments section will be preserved.