forked from urbit/archaeology
-
Notifications
You must be signed in to change notification settings - Fork 0
Hoon mink
Adam Bliss edited this page Oct 25, 2013
·
1 revision
++ mink
~/ %mink
|= [[sub=* fol=*] sky=_|+(* *(unit))]
=+ tax=*(list ,[@ta *])
|- ^- tone
?@ fol
[%2 tax]
?: ?=(^ -.fol)
=+ hed=$(fol -.fol)
?: ?=(2 -.hed)
hed
=+ tal=$(fol +.fol)
?- -.tal
0 ?-(-.hed 0 [%0 p.hed p.tal], 1 hed)
1 ?-(-.hed 0 tal, 1 [%1 (weld p.hed p.tal)])
2 tal
==
?- fol
::
[0 b=@]
?: =(0 b.fol) [%2 tax]
?: =(1 b.fol) [%0 sub]
?: ?=(@ sub) [%2 tax]
=+ [now=(cap b.fol) lat=(mas b.fol)]
$(b.fol lat, sub ?:(=(2 now) -.sub +.sub))
::
[1 b=*]
[%0 b.fol]
::
[2 b=^ c=*]
=+ ben=$(fol [b.fol c.fol])
?. ?=(0 -.ben) ben
?>(?=(^ p.ben) $(sub -.p.ben, fol +.p.ben))
::
[3 b=*]
=+ ben=$(fol b.fol)
?. ?=(0 -.ben) ben
[%0 .?(p.ben)]
::
[4 b=*]
=+ ben=$(fol b.fol)
?. ?=(0 -.ben) ben
?. ?=(@ p.ben) [%2 tax]
[%0 .+(p.ben)]
::
[5 b=*]
=+ ben=$(fol b.fol)
?. ?=(0 -.ben) ben
?. ?=(^ p.ben) [%2 tax]
[%0 =(-.p.ben +.p.ben)]
::
[6 b=* c=* d=*]
$(fol =>(fol [2 [0 1] 2 [1 c d] [1 0] 2 [1 2 3] [1 0] 4 4 b]))
::
[7 b=* c=*] $(fol =>(fol [2 b 1 c]))
[8 b=* c=*] $(fol =>(fol [7 [[0 1] b] c]))
[9 b=* c=*] $(fol =>(fol [7 c 0 b]))
[10 @ c=*] $(fol c.fol)
[10 [* c=*] d=*]
=+ ben=$(fol c.fol)
?. ?=(0 -.ben) ben
?: ?=(?(%hunk %lose %mean %spot) +<-.fol)
$(fol d.fol, tax [[+<-.fol p.ben] tax])
$(fol d.fol)
::
[11 b=*]
=+ ben=$(fol b.fol)
?. ?=(0 -.ben) ben
=+ val=(sky p.ben)
?@(val [%1 p.ben ~] [%0 +.val])
::
*
[%2 tax]
==
Parts of this document are generated automatically. Edits within the comments section will be preserved.