hoon: reverts to
~% %pen
+
==
+ %ap ap
%ut ut
==
|%
--
::
++ ap :: hoon engine
- ~% %ap +>+ ~
+ ~% %ap
+ +>+
+ ==
+ %open open
+ %rake rake
+ ==
|_ gen=hoon
::
++ grip
~% %ut
+>+
==
+ %ar ar
%fan fan
%rib rib
%vet vet
+ %blow blow
+ %burp burp
+ %busk busk
+ %buss buss
+ %crop crop
+ %duck duck
+ %dune dune
+ %dunk dunk
+ %epla epla
+ %emin emin
+ %emul emul
+ %feel feel
+ %felt felt
+ %fine fine
+ %fire fire
+ %fish fish
+ %fond fond
+ %fund fund
+ %funk funk
+ %fuse fuse
+ %gain gain
+ %lose lose
+ %mile mile
+ %mine mine
+ %mint mint
+ %moot moot
+ %mull mull
+ %nest nest
+ %peel peel
+ %play play
+ %peek peek
+ %repo repo
+ %rest rest
+ %tack tack
+ %toss toss
+ %wrap wrap
==
=+ :* fan=*(set [type hoon])
rib=*(set [type type hoon])
::
:: +ar: texture engine
::
- ++ ar
- ~% %ar +> ~
+ ++ ar !:
+ ~% %ar
+ +>
+ ==
+ %fish fish
+ %gain gain
+ %lose lose
+ ==
|_ [ref=type =skin]
::
:: =fish: make a $nock that tests a .ref at .axis for .skin
|= [hud=poly gol=type gen=hoon]
^- nock
~+
+ =+ %hemp-141
?- hud
%dry q:(mint gol gen)
%wet q:(mint(vet |) gol gen)
|= [nym=(unit term) hud=poly dom=(map term tome)]
~+
^- seminoun
+ =+ %hemp-141
:: tal: map from battery axis to foot
::
=; tal=(map @ud hoon)
==
:: ::
++ redo :: refurbish faces
- ~/ %redo
|= $: :: ref: raw payload
::
ref=type
|= [tap=(trap vase) gen=hoon]
^- (trap vase)
=/ gun (~(mint ut p:$:tap) %noun gen)
- => [tap=tap gun=gun]
|. ~+
[p.gun .*(q:$:tap q.gun)]
::
++ ride :: end-to-end compiler
|= [typ=type txt=@]
^- (pair type nock)
+ ~> %slog.[0 leaf/"ride: parsing"]
=/ gen (ream txt)
+ ~> %slog.[0 leaf/"ride: compiling"]
+ ~< %slog.[0 leaf/"ride: compiled"]
(~(mint ut typ) %noun gen)
::
:::: 5e: molds and mold builders
