forked from urbit/archaeology
-
Notifications
You must be signed in to change notification settings - Fork 0
Hoon in
Adam Bliss edited this page Oct 25, 2013
·
1 revision
++ in :: set engine
~/ %in
|_ a=(set)
+- all
~/ %all
|* b=_|=(* ?)
|- ^- ?
?@ a
&
?&((b n.a) $(a l.a) $(a r.a))
::
+- any
~/ %any
|* b=_|=(* ?)
|- ^- ?
?@ a
|
?|((b n.a) $(a l.a) $(a r.a))
::
+- del
~/ %del
|* b=*
|- ^+ a
?~ a
~
?. =(b n.a)
?: (hor b 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 n.l.a 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 n.a) [~ u=(peg c 2)]
?: (gor b n.a)
$(a l.a, c (peg c 6))
$(a r.a, c (peg c 7))
::
+- gas
~/ %gas
|= b=(list _?>(?=(^ a) n.a))
|- ^+ a
?@ b
a
$(b t.b, a (put i.b))
::
+- has
~/ %has
|* b=*
|- ^- ?
?@ a
|
?: =(b n.a)
&
?: (hor b n.a)
$(a l.a)
$(a r.a)
::
+- put
~/ %put
|* b=*
|- ^+ a
?@ a
[b ~ ~]
?: =(b n.a)
a
?: (hor b n.a)
=+ c=$(a l.a)
?> ?=(^ c)
?: (vor n.a n.c)
[n.a c r.a]
[n.c l.c [n.a r.c r.a]]
=+ c=$(a r.a)
?> ?=(^ c)
?: (vor n.a n.c)
[n.a l.a c]
[n.c [n.a l.a l.c] r.c]
::
+- rep
|* [b=* c=_,*]
|-
?~ a b
$(a r.a, b $(a l.a, b (c n.a b)))
::
+- 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.