mirror of
https://github.com/urbit/shrub.git
synced 2025-01-06 04:07:23 +03:00
Fix %eyre bugs, performance problems, etc.
This commit is contained in:
parent
3cf9dc3ba2
commit
faf34392d8
521
arvo/eyre.hoon
521
arvo/eyre.hoon
@ -38,10 +38,15 @@
|
|||||||
++ serf :: servant per ship
|
++ serf :: servant per ship
|
||||||
$: pef=@t :: server prefix
|
$: pef=@t :: server prefix
|
||||||
wup=(map hole cyst) :: secure sessions
|
wup=(map hole cyst) :: secure sessions
|
||||||
|
cah=(map cash vase) :: compilation cache
|
||||||
:: wez=(map duct root) :: all routes
|
:: wez=(map duct root) :: all routes
|
||||||
== ::
|
== ::
|
||||||
-- ::
|
-- ::
|
||||||
|%
|
|%
|
||||||
|
++ colt :: prune to save
|
||||||
|
|= bol=bolo
|
||||||
|
%_(bol own (~(run by own.bol) |=(a=serf a(cah ~))))
|
||||||
|
::
|
||||||
++ coss :: cookie search
|
++ coss :: cookie search
|
||||||
|= [nam=@t mah=math]
|
|= [nam=@t mah=math]
|
||||||
^- (unit hole)
|
^- (unit hole)
|
||||||
@ -223,249 +228,6 @@
|
|||||||
==
|
==
|
||||||
abet:work:(~(into ya [u.oar p.saw] sef q.saw) pul moh)
|
abet:work:(~(into ya [u.oar p.saw] sef q.saw) pul moh)
|
||||||
::
|
::
|
||||||
++ lace :: load and execute
|
|
||||||
|= [pax=path sam=vase]
|
|
||||||
^- gank
|
|
||||||
(musk pax (lick pax) sam)
|
|
||||||
::
|
|
||||||
++ lank :: probe/load
|
|
||||||
|= pax=path
|
|
||||||
^- (unit gank)
|
|
||||||
=+ dir=(lend pax)
|
|
||||||
?. (~(has by r.dir) %hoon) ~
|
|
||||||
=+ pox=(weld pax `path`/hoon)
|
|
||||||
[~ (much pox (lick pox))]
|
|
||||||
::
|
|
||||||
++ lend :: load directory node
|
|
||||||
|= pax=path
|
|
||||||
((hard arch) (need (sky %cy pax)))
|
|
||||||
::
|
|
||||||
++ liar :: load file as vase
|
|
||||||
|= pax=path
|
|
||||||
^- vase
|
|
||||||
=+ fil=(lick pax)
|
|
||||||
:_(fil ?^(fil [%cell %noun %noun] [%atom %$]))
|
|
||||||
::
|
|
||||||
++ lich :: simple directory
|
|
||||||
|= pax=path
|
|
||||||
^- (list ,@tas)
|
|
||||||
(turn (~(tap by r:(lend pax)) ~) |=([a=@tas b=~] a))
|
|
||||||
::
|
|
||||||
++ lick :: load file
|
|
||||||
|= pax=path
|
|
||||||
(need (sky %cx pax))
|
|
||||||
::
|
|
||||||
++ lily :: translation targets
|
|
||||||
|= [pre=path for=@tas]
|
|
||||||
^- (list ,@tas)
|
|
||||||
(lich :(weld pre `path`/tan `path`/[for]))
|
|
||||||
::
|
|
||||||
++ lion :: translation graph
|
|
||||||
|= [too=@tas pre=path fro=(list ,@tas)]
|
|
||||||
^- (unit (list ,@tas))
|
|
||||||
=| war=(set ,@tas)
|
|
||||||
=< -:(apex fro)
|
|
||||||
|%
|
|
||||||
++ apex
|
|
||||||
|= rof=(list ,@tas)
|
|
||||||
^- [(unit (list ,@tas)) _+>]
|
|
||||||
?~ rof
|
|
||||||
[~ +>]
|
|
||||||
=^ orf +> (apse i.rof)
|
|
||||||
?^(orf [orf +>.$] $(rof t.rof))
|
|
||||||
::
|
|
||||||
++ apse
|
|
||||||
|= for=@tas
|
|
||||||
^- [(unit (list ,@tas)) _+>]
|
|
||||||
?: =(for too) [[~ [too ~]] +>]
|
|
||||||
?: (~(has in war) for) [~ +>]
|
|
||||||
=. war (~(put in war) for)
|
|
||||||
=^ orf +>.$ (apex (lily pre for))
|
|
||||||
:_ +>.$
|
|
||||||
?~(orf ~ [~ [for u.orf]])
|
|
||||||
--
|
|
||||||
::
|
|
||||||
++ link :: translate
|
|
||||||
|= [too=@tas pre=path for=@tas vax=vase]
|
|
||||||
^- (unit gank)
|
|
||||||
?: =(for too) [~ %& vax]
|
|
||||||
=+ wuy=(lion too pre [for ~])
|
|
||||||
?~ wuy ~
|
|
||||||
:- ~
|
|
||||||
?> ?=(^ u.wuy)
|
|
||||||
?> =(for i.u.wuy)
|
|
||||||
|- ^- gank
|
|
||||||
?~ t.u.wuy [%& vax]
|
|
||||||
=+ mud=(lite i.t.u.wuy pre for vax)
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
$(t.u.wuy t.t.u.wuy, for i.t.u.wuy, vax p.mud)
|
|
||||||
::
|
|
||||||
++ lino :: translate
|
|
||||||
|= [too=@tas pre=path for=@tas vax=vase]
|
|
||||||
^- gank
|
|
||||||
=+ gun=(link too pre for vax)
|
|
||||||
?^ gun u.gun
|
|
||||||
[%| [[%leaf "can't make {<too>} from {<for>}"] ~]]
|
|
||||||
::
|
|
||||||
++ lite :: step translate
|
|
||||||
|= [too=@tas pre=path for=@tas vax=vase]
|
|
||||||
^- gank
|
|
||||||
(lace :(weld pre `path`/tan `path`/[for] `path`/[too] `path`/hoon) vax)
|
|
||||||
::
|
|
||||||
++ loan :: normalize vase
|
|
||||||
|= [for=@tas pre=path vax=vase]
|
|
||||||
^- gank
|
|
||||||
=+ mof=(lank :(weld pre `path`/nor `path`/[for] `path`/hoon))
|
|
||||||
?~ mof [%& vax]
|
|
||||||
?: ?=(| -.u.mof) u.mof
|
|
||||||
=+ pud=(mule |.((~(play ut `type`p.p.u.mof) [%cnzy %$])))
|
|
||||||
?: ?=(| -.pud) pud
|
|
||||||
?: (~(nest ut `type`p.pud) | p.vax)
|
|
||||||
[%& vax]
|
|
||||||
(mule |.((slam `vase`p.u.mof vax)))
|
|
||||||
::
|
|
||||||
++ lobo :: vase to love
|
|
||||||
|= [for=logo pre=path vax=vase]
|
|
||||||
^- (each love (list tank))
|
|
||||||
=+ mud=(lino %mime pre for vax)
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
[%& %mid (mite -.q.p.mud) (octs +.q.p.mud)]
|
|
||||||
::
|
|
||||||
++ loch :: validate vase
|
|
||||||
|= [for=@tas pre=path vax=vase]
|
|
||||||
^- gank
|
|
||||||
=+ wav=(lank :(weld pre `path`/val `path`/[for] `path`/hoon))
|
|
||||||
?~ wav [%& vax]
|
|
||||||
?: ?=(| -.u.wav) u.wav
|
|
||||||
(mule |.((slam `vase`p.u.wav vax)))
|
|
||||||
::
|
|
||||||
++ loot :: load extension tree
|
|
||||||
|= pax=path
|
|
||||||
=| [tex=path all=(list path)]
|
|
||||||
|- ^- (list path)
|
|
||||||
=+ arc=(lend pax)
|
|
||||||
=+ ryx=(~(tap by r.arc) ~)
|
|
||||||
=- ?~(q.arc orx [tex orx])
|
|
||||||
^= orx
|
|
||||||
|- ^- (list path)
|
|
||||||
?~ ryx all
|
|
||||||
%= ^$
|
|
||||||
pax (weld pax `path`[p.i.ryx ~])
|
|
||||||
tex [p.i.ryx tex]
|
|
||||||
all $(ryx t.ryx)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ lope :: normalize/validate
|
|
||||||
|= [for=@tas pre=path vax=vase]
|
|
||||||
^- gank
|
|
||||||
=+ mud=(loan for pre vax)
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
(loch for pre p.mud)
|
|
||||||
::
|
|
||||||
++ loth :: direct hard
|
|
||||||
|= [for=logo pre=path pax=path]
|
|
||||||
^- gank
|
|
||||||
(lope for pre (liar pax))
|
|
||||||
::
|
|
||||||
++ loti :: translated soft
|
|
||||||
|= [too=logo for=logo pre=path pax=path sam=vase]
|
|
||||||
^- gank
|
|
||||||
=+ mud=(loto for pre pax sam)
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
(lino too pre for p.mud)
|
|
||||||
::
|
|
||||||
++ loto :: direct soft
|
|
||||||
|= [for=logo pre=path pax=path sam=vase]
|
|
||||||
=+ mud=(lace pax sam)
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
(lope for pre p.mud)
|
|
||||||
::
|
|
||||||
++ lots :: translated hard
|
|
||||||
|= [too=logo for=logo pre=path pax=path]
|
|
||||||
^- gank
|
|
||||||
=+ mud=(lope for pre (liar pax))
|
|
||||||
?: ?=(| -.mud) mud
|
|
||||||
(lino too pre for p.mud)
|
|
||||||
::
|
|
||||||
++ loud :: synthesis search
|
|
||||||
|= [syn=? for=logo pre=path mid=path]
|
|
||||||
^- (list ,[p=path q=path r=loco])
|
|
||||||
=| suf=path
|
|
||||||
|- ^- (list ,[p=path q=path r=loco])
|
|
||||||
=+ pax=(weld pre (flop mid))
|
|
||||||
=+ lot=(loot pax)
|
|
||||||
=- ?^ tol tol
|
|
||||||
?~ mid ~
|
|
||||||
$(mid t.mid, suf [i.mid suf])
|
|
||||||
^= tol
|
|
||||||
|- ^- (list ,[p=path q=path r=loco])
|
|
||||||
?~ lot ~
|
|
||||||
=+ mor=$(lot t.lot)
|
|
||||||
?~ i.lot mor
|
|
||||||
=+ axp=(weld pax `path`(flop i.lot))
|
|
||||||
?: &(syn ?=([%hoon @ ~] i.lot))
|
|
||||||
:_(mor [mid suf | ?:(=(for i.t.i.lot) ~ [~ i.t.i.lot]) axp])
|
|
||||||
?: ?=([@ ~] i.lot)
|
|
||||||
:_(mor [mid suf & ?:(=(for i.i.lot) ~ [~ i.i.lot]) axp])
|
|
||||||
mor
|
|
||||||
::
|
|
||||||
++ loup :: weak synthesis
|
|
||||||
|= [for=logo pre=path mid=path]
|
|
||||||
^- (unit gank)
|
|
||||||
=+ syt=(weld pre `path`[%syn ~])
|
|
||||||
=+ ^= luc ^- (list ,[p=path q=path r=loco])
|
|
||||||
=+ luc=(loud | for pre mid)
|
|
||||||
?. ?=(~ luc) luc
|
|
||||||
(loud & for syt mid)
|
|
||||||
?: =(~ luc) ~
|
|
||||||
=+ ^= waz
|
|
||||||
|- ^- $: p=(list ,[p=path q=path r=path])
|
|
||||||
q=(list ,[p=path q=path r=path])
|
|
||||||
r=(list ,[p=path q=path r=[p=@tas q=path]])
|
|
||||||
s=(list ,[p=path q=path r=[p=@tas q=path]])
|
|
||||||
==
|
|
||||||
?~ luc [~ ~ ~ ~]
|
|
||||||
=+ mor=$(luc t.luc)
|
|
||||||
?- -.r.i.luc
|
|
||||||
& ?~ q.r.i.luc
|
|
||||||
[[[p.i.luc q.i.luc r.r.i.luc] p.mor] q.mor r.mor s.mor]
|
|
||||||
[p.mor q.mor [[p.i.luc q.i.luc u.q.r.i.luc r.r.i.luc] r.mor] s.mor]
|
|
||||||
| ?~ q.r.i.luc
|
|
||||||
[p.mor [[p.i.luc q.i.luc r.r.i.luc] q.mor] r.mor s.mor]
|
|
||||||
[p.mor q.mor r.mor [[p.i.luc q.i.luc u.q.r.i.luc r.r.i.luc] s.mor]]
|
|
||||||
==
|
|
||||||
:- ~
|
|
||||||
?^ p.waz :: direct hard
|
|
||||||
(loth for pre r.i.p.waz)
|
|
||||||
?^ q.waz :: direct soft
|
|
||||||
%- loto
|
|
||||||
:* for
|
|
||||||
pre
|
|
||||||
r.i.q.waz
|
|
||||||
!>([for pre p.i.q.waz q.i.q.waz])
|
|
||||||
==
|
|
||||||
?^ r.waz :: translated hard
|
|
||||||
(lots for p.r.i.r.waz pre q.r.i.r.waz)
|
|
||||||
?^ s.waz :: translated soft
|
|
||||||
%- loti
|
|
||||||
:* for
|
|
||||||
p.r.i.s.waz
|
|
||||||
pre
|
|
||||||
q.r.i.s.waz
|
|
||||||
!>([for pre p.i.s.waz q.i.s.waz])
|
|
||||||
==
|
|
||||||
!!
|
|
||||||
::
|
|
||||||
++ lude :: functional synth
|
|
||||||
|= [for=logo toe=tube]
|
|
||||||
^- (unit (each love (list tank)))
|
|
||||||
=+ [pre mid]=[`path`[p.toe q.toe r.toe ~] `path`(flop s.toe)]
|
|
||||||
=+ gun=(loup for pre mid)
|
|
||||||
?~ gun ~
|
|
||||||
:- ~
|
|
||||||
?: ?=(| -.u.gun) [%| p.u.gun]
|
|
||||||
(lobo for pre p.u.gun)
|
|
||||||
::
|
|
||||||
++ muff :: return card
|
++ muff :: return card
|
||||||
|= fav=card
|
|= fav=card
|
||||||
+>(mow :_(mow [wru hen fav]))
|
+>(mow :_(mow [wru hen fav]))
|
||||||
@ -558,6 +320,274 @@
|
|||||||
?(%a %c %l) !!
|
?(%a %c %l) !!
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
++ lace :: load and execute
|
||||||
|
|= [pax=path sam=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ hum +>.$ (lack pax)
|
||||||
|
:_ +>.$
|
||||||
|
=+ mud=(need hum)
|
||||||
|
?: ?=(| -.mud) mud
|
||||||
|
(mule |.((slam p.mud sam)))
|
||||||
|
::
|
||||||
|
++ lack :: probe/load
|
||||||
|
|= pax=path
|
||||||
|
^- [(unit gank) _+>]
|
||||||
|
=+ ans=(sky %cz pax)
|
||||||
|
?~ ans [~ +>.$]
|
||||||
|
=+ ank=((hard ankh) u.ans)
|
||||||
|
?~ q.ank [~ +>.$]
|
||||||
|
=+ huc=(~(get by cah.sef) p.u.q.ank)
|
||||||
|
?^ huc
|
||||||
|
[[~ %& u.huc] +>.$]
|
||||||
|
=+ mud=(much pax q.u.q.ank)
|
||||||
|
:- [~ mud]
|
||||||
|
?: ?=(| -.mud) +>.$
|
||||||
|
+>.$(cah.sef (~(put by cah.sef) p.u.q.ank p.mud))
|
||||||
|
::
|
||||||
|
++ lend :: load directory node
|
||||||
|
|= pax=path
|
||||||
|
^- arch
|
||||||
|
((hard arch) (need (sky %cy pax)))
|
||||||
|
::
|
||||||
|
++ liar :: load file as vase
|
||||||
|
|= pax=path
|
||||||
|
^- vase
|
||||||
|
=+ fil=(lick pax)
|
||||||
|
:_(fil ?^(fil [%cell %noun %noun] [%atom %$]))
|
||||||
|
::
|
||||||
|
++ lich :: simple directory
|
||||||
|
|= pax=path
|
||||||
|
^- (list ,@tas)
|
||||||
|
(turn (~(tap by r:(lend pax)) ~) |=([a=@tas b=~] a))
|
||||||
|
::
|
||||||
|
++ lick :: load file
|
||||||
|
|= pax=path
|
||||||
|
(need (sky %cx pax))
|
||||||
|
::
|
||||||
|
++ lily :: translation targets
|
||||||
|
|= [pre=path for=@tas]
|
||||||
|
^- (list ,@tas)
|
||||||
|
(lich :(weld pre `path`/tan `path`/[for]))
|
||||||
|
::
|
||||||
|
++ lion :: translation graph
|
||||||
|
|= [too=@tas pre=path fro=(list ,@tas)]
|
||||||
|
^- (unit (list ,@tas))
|
||||||
|
=| war=(set ,@tas)
|
||||||
|
=< -:(apex fro)
|
||||||
|
|%
|
||||||
|
++ apex
|
||||||
|
|= rof=(list ,@tas)
|
||||||
|
^- [(unit (list ,@tas)) _+>]
|
||||||
|
?~ rof
|
||||||
|
[~ +>]
|
||||||
|
=^ orf +> (apse i.rof)
|
||||||
|
?^(orf [orf +>.$] $(rof t.rof))
|
||||||
|
::
|
||||||
|
++ apse
|
||||||
|
|= for=@tas
|
||||||
|
^- [(unit (list ,@tas)) _+>]
|
||||||
|
?: =(for too) [[~ [too ~]] +>]
|
||||||
|
?: (~(has in war) for) [~ +>]
|
||||||
|
=. war (~(put in war) for)
|
||||||
|
=^ orf +>.$ (apex (lily pre for))
|
||||||
|
:_ +>.$
|
||||||
|
?~(orf ~ [~ [for u.orf]])
|
||||||
|
--
|
||||||
|
::
|
||||||
|
++ link :: translate
|
||||||
|
|= [too=@tas pre=path for=@tas vax=vase]
|
||||||
|
^- [(unit gank) _+>]
|
||||||
|
?: =(for too) [[~ %& vax] +>.$]
|
||||||
|
=+ wuy=(lion too pre [for ~])
|
||||||
|
?~ wuy [~ +>.$]
|
||||||
|
?> ?=(^ u.wuy)
|
||||||
|
?> =(for i.u.wuy)
|
||||||
|
|- ^- [(unit gank) _+>.^$]
|
||||||
|
?~ t.u.wuy [[~ %& vax] +>.^$]
|
||||||
|
=^ mud +>.^$ (lite i.t.u.wuy pre for vax)
|
||||||
|
?: ?=(| -.mud) [[~ mud] +>.^$]
|
||||||
|
$(t.u.wuy t.t.u.wuy, for i.t.u.wuy, vax p.mud)
|
||||||
|
::
|
||||||
|
++ lino :: translate
|
||||||
|
|= [too=@tas pre=path for=@tas vax=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ gun +>.$ (link too pre for vax)
|
||||||
|
:_ +>.$
|
||||||
|
?^ gun u.gun
|
||||||
|
[%| [[%leaf "can't make {<too>} from {<for>}"] ~]]
|
||||||
|
::
|
||||||
|
++ lite :: step translate
|
||||||
|
|= [too=@tas pre=path for=@tas vax=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
(lace :(weld pre `path`/tan `path`/[for] `path`/[too] `path`/hoon) vax)
|
||||||
|
::
|
||||||
|
++ loan :: normalize vase
|
||||||
|
|= [for=@tas pre=path vax=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ mof +>.$ (lack :(weld pre `path`/nor `path`/[for] `path`/hoon))
|
||||||
|
:_ +>.$
|
||||||
|
?~ mof [%& vax]
|
||||||
|
?: ?=(| -.u.mof) u.mof
|
||||||
|
=+ pud=(mule |.((~(play ut `type`p.p.u.mof) [%cnzy %$])))
|
||||||
|
?: ?=(| -.pud) pud
|
||||||
|
?: (~(nest ut `type`p.pud) | p.vax)
|
||||||
|
[%& vax]
|
||||||
|
(mule |.((slam `vase`p.u.mof vax)))
|
||||||
|
::
|
||||||
|
++ lobo :: vase to love
|
||||||
|
|= [for=logo pre=path vax=vase]
|
||||||
|
^- [(each love (list tank)) _+>]
|
||||||
|
=^ mud +>.$ (lino %mime pre for vax)
|
||||||
|
:_ +>.$
|
||||||
|
?: ?=(| -.mud) mud
|
||||||
|
[%& %mid (mite -.q.p.mud) (octs +.q.p.mud)]
|
||||||
|
::
|
||||||
|
++ loch :: validate vase
|
||||||
|
|= [for=@tas pre=path vax=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ wav +>.$ (lack :(weld pre `path`/val `path`/[for] `path`/hoon))
|
||||||
|
:_ +>.$
|
||||||
|
?~ wav [%& vax]
|
||||||
|
?: ?=(| -.u.wav) u.wav
|
||||||
|
(mule |.((slam `vase`p.u.wav vax)))
|
||||||
|
::
|
||||||
|
++ loot :: load extension tree
|
||||||
|
|= [pax=path one=(unit logo)]
|
||||||
|
^- (list path)
|
||||||
|
=| [tex=path all=(list path)]
|
||||||
|
|- ^- (list path)
|
||||||
|
?^ one
|
||||||
|
=+ don=`path`[u.one ~]
|
||||||
|
=+ arc=(lend (weld pax don))
|
||||||
|
?~(q.arc ~ [[u.one tex] ~])
|
||||||
|
=+ arc=(lend pax)
|
||||||
|
=+ ryx=(~(tap by r.arc) ~)
|
||||||
|
=- ?~(q.arc orx [tex orx])
|
||||||
|
^= orx
|
||||||
|
|- ^- (list path)
|
||||||
|
?~ ryx all
|
||||||
|
%= ^$
|
||||||
|
one [~ %hoon]
|
||||||
|
pax (weld pax `path`[p.i.ryx ~])
|
||||||
|
tex [p.i.ryx tex]
|
||||||
|
all $(ryx t.ryx)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ lope :: normalize/validate
|
||||||
|
|= [for=@tas pre=path vax=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ mud +>.$ (loan for pre vax)
|
||||||
|
?: ?=(| -.mud) [mud +>.$]
|
||||||
|
(loch for pre p.mud)
|
||||||
|
::
|
||||||
|
++ loth :: direct hard
|
||||||
|
|= [for=logo pre=path pax=path]
|
||||||
|
^- [gank _+>]
|
||||||
|
(lope for pre (liar pax))
|
||||||
|
::
|
||||||
|
++ loti :: translated soft
|
||||||
|
|= [too=logo for=logo pre=path pax=path sam=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ mud +>.$ (loto for pre pax sam)
|
||||||
|
?: ?=(| -.mud) [mud +>.$]
|
||||||
|
(lino too pre for p.mud)
|
||||||
|
::
|
||||||
|
++ loto :: direct soft
|
||||||
|
|= [for=logo pre=path pax=path sam=vase]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ mud +>.$ (lace pax sam)
|
||||||
|
?: ?=(| -.mud) [mud +>.$]
|
||||||
|
(lope for pre p.mud)
|
||||||
|
::
|
||||||
|
++ lots :: translated hard
|
||||||
|
|= [too=logo for=logo pre=path pax=path]
|
||||||
|
^- [gank _+>]
|
||||||
|
=^ mud +>.$ (lope for pre (liar pax))
|
||||||
|
?: ?=(| -.mud) [mud +>.$]
|
||||||
|
(lino too pre for p.mud)
|
||||||
|
::
|
||||||
|
++ loud :: synthesis search
|
||||||
|
|= [syn=? for=logo pre=path mid=path]
|
||||||
|
^- (list ,[p=path q=path r=loco])
|
||||||
|
=| suf=path
|
||||||
|
|- ^- (list ,[p=path q=path r=loco])
|
||||||
|
=+ pax=(weld pre (flop mid))
|
||||||
|
=+ lot=(loot pax ?:(syn ~ [~ for]))
|
||||||
|
=- ?^ tol tol
|
||||||
|
?~ mid ~
|
||||||
|
$(mid t.mid, suf [i.mid suf])
|
||||||
|
^= tol
|
||||||
|
|- ^- (list ,[p=path q=path r=loco])
|
||||||
|
?~ lot ~
|
||||||
|
=+ mor=$(lot t.lot)
|
||||||
|
?~ i.lot mor
|
||||||
|
=+ axp=(weld pax `path`(flop i.lot))
|
||||||
|
?: &(syn ?=([%hoon @ ~] i.lot))
|
||||||
|
:_(mor [mid suf | ?:(=(for i.t.i.lot) ~ [~ i.t.i.lot]) axp])
|
||||||
|
?: ?=([@ ~] i.lot)
|
||||||
|
:_(mor [mid suf & ?:(=(for i.i.lot) ~ [~ i.i.lot]) axp])
|
||||||
|
mor
|
||||||
|
::
|
||||||
|
++ loup :: weak synthesis
|
||||||
|
|= [for=logo pre=path mid=path]
|
||||||
|
^- [(unit gank) _+>]
|
||||||
|
=+ syt=(weld pre `path`[%syn ~])
|
||||||
|
=+ ^= luc ^- (list ,[p=path q=path r=loco])
|
||||||
|
=+ luc=(loud | for pre mid)
|
||||||
|
?. ?=(~ luc) luc
|
||||||
|
(loud & for syt mid)
|
||||||
|
?: =(~ luc) [~ +>.$]
|
||||||
|
=+ ^= waz
|
||||||
|
|- ^- $: p=(list ,[p=path q=path r=path])
|
||||||
|
q=(list ,[p=path q=path r=path])
|
||||||
|
r=(list ,[p=path q=path r=[p=@tas q=path]])
|
||||||
|
s=(list ,[p=path q=path r=[p=@tas q=path]])
|
||||||
|
==
|
||||||
|
?~ luc [~ ~ ~ ~]
|
||||||
|
=+ mor=$(luc t.luc)
|
||||||
|
?- -.r.i.luc
|
||||||
|
& ?~ q.r.i.luc
|
||||||
|
[[[p.i.luc q.i.luc r.r.i.luc] p.mor] q.mor r.mor s.mor]
|
||||||
|
:+ p.mor q.mor
|
||||||
|
[[[p.i.luc q.i.luc u.q.r.i.luc r.r.i.luc] r.mor] s.mor]
|
||||||
|
| ?~ q.r.i.luc
|
||||||
|
[p.mor [[p.i.luc q.i.luc r.r.i.luc] q.mor] r.mor s.mor]
|
||||||
|
:+ p.mor q.mor
|
||||||
|
[r.mor [[p.i.luc q.i.luc u.q.r.i.luc r.r.i.luc] s.mor]]
|
||||||
|
==
|
||||||
|
=^ mud +>.$
|
||||||
|
?^ p.waz :: direct hard
|
||||||
|
(loth for pre r.i.p.waz)
|
||||||
|
?^ q.waz :: direct soft
|
||||||
|
%- loto
|
||||||
|
:* for
|
||||||
|
pre
|
||||||
|
r.i.q.waz
|
||||||
|
!>([for pre p.i.q.waz q.i.q.waz])
|
||||||
|
==
|
||||||
|
?^ r.waz :: translated hard
|
||||||
|
(lots for p.r.i.r.waz pre q.r.i.r.waz)
|
||||||
|
?^ s.waz :: translated soft
|
||||||
|
%- loti
|
||||||
|
:* for
|
||||||
|
p.r.i.s.waz
|
||||||
|
pre
|
||||||
|
q.r.i.s.waz
|
||||||
|
!>([for pre p.i.s.waz q.i.s.waz])
|
||||||
|
==
|
||||||
|
!!
|
||||||
|
[[~ mud] +>.$]
|
||||||
|
::
|
||||||
|
++ lude :: functional synth
|
||||||
|
|= [for=logo toe=tube]
|
||||||
|
^- [(unit (each love (list tank))) _+>]
|
||||||
|
=+ [pre mid]=[`path`[p.toe q.toe r.toe ~] `path`(flop s.toe)]
|
||||||
|
=^ gun +>.$ (loup for pre mid)
|
||||||
|
?~ gun [~ +>.$]
|
||||||
|
?: ?=(| -.u.gun) :_(+>.$ [~ %| p.u.gun])
|
||||||
|
=^ mun +>.$ (lobo for pre p.u.gun)
|
||||||
|
[[~ mun] +>.$]
|
||||||
|
::
|
||||||
++ step :: step in work
|
++ step :: step in work
|
||||||
|- ^+ +
|
|- ^+ +
|
||||||
=^ zib +.$
|
=^ zib +.$
|
||||||
@ -578,12 +608,12 @@
|
|||||||
%new
|
%new
|
||||||
?- -.sam.pip
|
?- -.sam.pip
|
||||||
%fun
|
%fun
|
||||||
|
=^ syt +>.$ (lude p.sam.pip q.sam.pip)
|
||||||
:_ +>.$
|
:_ +>.$
|
||||||
:- ~
|
:- ~
|
||||||
%= pip
|
%= pip
|
||||||
pez
|
pez
|
||||||
^- pest
|
^- pest
|
||||||
=+ syt=(lude p.sam.pip q.sam.pip)
|
|
||||||
?~ syt
|
?~ syt
|
||||||
[%err 404 [[%leaf "{<+.sam.pip>} not found"] ~]]
|
[%err 404 [[%leaf "{<+.sam.pip>} not found"] ~]]
|
||||||
?- -.u.syt
|
?- -.u.syt
|
||||||
@ -679,6 +709,7 @@
|
|||||||
^- (unit)
|
^- (unit)
|
||||||
~
|
~
|
||||||
::
|
::
|
||||||
++ stay `vase`!>(`bolo`+>-.$)
|
++ stay
|
||||||
|
`vase`!>((colt `bolo`+>-.$))
|
||||||
++ vern [164 0]
|
++ vern [164 0]
|
||||||
--
|
--
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!:
|
::
|
||||||
:: zuse (3), standard library (tang)
|
:: zuse (3), standard library (tang)
|
||||||
::
|
::
|
||||||
|%
|
|%
|
||||||
@ -1150,7 +1150,7 @@
|
|||||||
;~(plug ;~(pose apat (easy *pork)) yque)
|
;~(plug ;~(pose apat (easy *pork)) yque)
|
||||||
==
|
==
|
||||||
++ cock :: cookie
|
++ cock :: cookie
|
||||||
(most sem ;~(plug toke ;~(pfix tis tosk)))
|
(most ;~(plug sem ace) ;~(plug toke ;~(pfix tis tosk)))
|
||||||
++ dlab :: 2396 domainlabel
|
++ dlab :: 2396 domainlabel
|
||||||
%+ sear
|
%+ sear
|
||||||
|= a=@ta
|
|= a=@ta
|
||||||
|
Binary file not shown.
@ -4,7 +4,7 @@
|
|||||||
^- manx
|
^- manx
|
||||||
:~ %html
|
:~ %html
|
||||||
:~ %body
|
:~ %body
|
||||||
~[%h3 +"{(scow %p own)} hails you from afar"]
|
~[%h3 +"{(scow %p own)} loves you for more than your body"]
|
||||||
+"Hi, neighbor!{?:(=(~ quy) "" " You ask: {<quy>}")}?"
|
+"Hi, neighbor!{?:(=(~ quy) "" " You ask: {<quy>}")}?"
|
||||||
%br
|
%br
|
||||||
+"You addressed the {?:(p.hut.ced "" "in")}secure, "
|
+"You addressed the {?:(p.hut.ced "" "in")}secure, "
|
||||||
@ -26,8 +26,7 @@
|
|||||||
+"You have no authenticated identities."
|
+"You have no authenticated identities."
|
||||||
+"Authenticated identities: {<aut.ced>}."
|
+"Authenticated identities: {<aut.ced>}."
|
||||||
%br
|
%br
|
||||||
+"This synthesis was computed within {<`path`pos>}. "
|
+"This {<for>} page was produced in {<`path`pos>}, under {<suf>}"
|
||||||
+"It was found as {<for>}, under {<suf>}"
|
|
||||||
+"{?:(=(~ but) "." ", in {<but>}.")}"
|
+"{?:(=(~ but) "." ", in {<but>}.")}"
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user