mirror of
https://github.com/urbit/shrub.git
synced 2024-12-14 20:02:51 +03:00
Merge branch 'master' of https://github.com/urbit/urbit
This commit is contained in:
commit
0ddba5cf1b
@ -492,7 +492,7 @@
|
|||||||
+>.$(hoc.saf (~(put by hoc.saf) her [[~31337.1.1 ~ wil] ~ *clot]))
|
+>.$(hoc.saf (~(put by hoc.saf) her [[~31337.1.1 ~ wil] ~ *clot]))
|
||||||
::
|
::
|
||||||
++ lax :: lax:as:go
|
++ lax :: lax:as:go
|
||||||
|_ [her=ship dur=door] :: per client
|
|_ [her=ship dur=dore] :: per client
|
||||||
++ cluy :: cluy:lax:as:go
|
++ cluy :: cluy:lax:as:go
|
||||||
^- [p=life q=gens r=acru] :: client crypto
|
^- [p=life q=gens r=acru] :: client crypto
|
||||||
?~ lew.wod.dur !!
|
?~ lew.wod.dur !!
|
||||||
@ -683,19 +683,19 @@
|
|||||||
-- :: --zuul:lax:as:go
|
-- :: --zuul:lax:as:go
|
||||||
-- :: --lax:as:go
|
-- :: --lax:as:go
|
||||||
::
|
::
|
||||||
++ gur :: default door
|
++ gur :: default dore
|
||||||
|= her=ship
|
|= her=ship
|
||||||
^- door
|
^- dore
|
||||||
=+ def=?.((lth her 256) ~ [~ %if ~2000.1.1 0 (mix her .0.0.1.0)])
|
=+ def=?.((lth her 256) ~ [~ %if ~2000.1.1 0 (mix her .0.0.1.0)])
|
||||||
[[~2100.1.1 def ~] ~ *clot]
|
[[~2100.1.1 def ~] ~ *clot]
|
||||||
::
|
::
|
||||||
++ myx :: door by ship
|
++ myx :: dore by ship
|
||||||
|= her=ship
|
|= her=ship
|
||||||
^+ lax
|
^+ lax
|
||||||
=+ fod=(~(get by hoc.saf) her)
|
=+ fod=(~(get by hoc.saf) her)
|
||||||
~(. lax [her ?~(fod (gur her) u.fod)])
|
~(. lax [her ?~(fod (gur her) u.fod)])
|
||||||
::
|
::
|
||||||
++ nux :: install door
|
++ nux :: install dore
|
||||||
|= new=_lax
|
|= new=_lax
|
||||||
^+ +>
|
^+ +>
|
||||||
+>(hoc.saf (~(put by hoc.saf) her.new dur.new))
|
+>(hoc.saf (~(put by hoc.saf) her.new dur.new))
|
||||||
|
301
arvo/ford.hoon
301
arvo/ford.hoon
@ -10,21 +10,40 @@
|
|||||||
++ gift :: out result <-$
|
++ gift :: out result <-$
|
||||||
$% [%made p=(each bead (list tank))] :: computed result
|
$% [%made p=(each bead (list tank))] :: computed result
|
||||||
== ::
|
== ::
|
||||||
|
++ heel path :: functional ending
|
||||||
|
++ hock :: standard label
|
||||||
|
$: [%c p=@ud] :: celsius version
|
||||||
|
[%k p=@ud] :: kelvin version
|
||||||
|
[%s p=@ud q=@ud r=@ud] :: semantic version
|
||||||
|
== ::
|
||||||
++ hood :: assembly plan
|
++ hood :: assembly plan
|
||||||
$: sum=@t :: summary text
|
$: [how=beam rem=heel] :: beam and remainder
|
||||||
mol=(map term beam) :: models
|
zus=@ud :: zuse kelvin
|
||||||
res=(map logo (map term beam)) :: data resources
|
pro=(list hoof) :: protocols
|
||||||
sys=$|(@ud [@ud @ud]) :: system version
|
lib=(list hoof) :: libraries
|
||||||
gel=(list hoop) :: telescoping stack
|
:: res=(map term (pair beam horn)) :: resources
|
||||||
|
src=(list hoop) :: program
|
||||||
|
== ::
|
||||||
|
++ hoof :: reference
|
||||||
|
$% [%here p=term] :: name
|
||||||
|
[%this p=term q=case] :: name, case
|
||||||
|
[%that p=term q=case r=ship] :: name, case, ship
|
||||||
== ::
|
== ::
|
||||||
++ hoop :: source in hood
|
++ hoop :: source in hood
|
||||||
$% [%code p=twig] :: direct twig
|
$% [%code p=twig] :: direct twig
|
||||||
[%cone p=beam] :: core from folder
|
[%cone p=beam] :: core from folder
|
||||||
[%coop p=(map term hoop)] :: complex core
|
[%coop p=(map term hoop)] :: complex core
|
||||||
[%hood p=hood] :: recursive hood
|
[%hood p=beam] :: recursive hood
|
||||||
[%hoon p=beam] :: load %hoon
|
|
||||||
[%text p=@] :: direct text
|
[%text p=@] :: direct text
|
||||||
== ::
|
== ::
|
||||||
|
++ horn :: resource tree
|
||||||
|
$| ~ :: leaf
|
||||||
|
$% [%day p=horn] :: list by time
|
||||||
|
[%fan p=(map term horn)] :: tuple
|
||||||
|
[%for p=logo q=horn] :: leaf mark
|
||||||
|
[%hub p=horn] :: list by number
|
||||||
|
[%nap p=horn] :: soft map
|
||||||
|
== ::
|
||||||
++ kiss :: in request ->$
|
++ kiss :: in request ->$
|
||||||
$% [%exec p=@p q=(unit silk)] :: make / kill
|
$% [%exec p=@p q=(unit silk)] :: make / kill
|
||||||
== ::
|
== ::
|
||||||
@ -51,10 +70,11 @@
|
|||||||
[%cast p=logo q=beak r=silk] :: translate
|
[%cast p=logo q=beak r=silk] :: translate
|
||||||
[%done p=(set beam) q=cage] :: literal
|
[%done p=(set beam) q=cage] :: literal
|
||||||
[%dude p=tank q=silk] :: error wrap
|
[%dude p=tank q=silk] :: error wrap
|
||||||
[%dune p=(set beam) q=(unit cage)] :: unit literal
|
[%dune p=(set beam) q=(unit cage)] :: unit literal
|
||||||
[%mute p=silk q=(list (pair wing silk))] :: mutant
|
[%mute p=silk q=(list (pair wing silk))] :: mutant
|
||||||
|
[%plan p=beam q=spur r=hood] :: structured assembly
|
||||||
[%reef ~] :: kernel reef
|
[%reef ~] :: kernel reef
|
||||||
[%ride p=silk q=sill] :: twig construction
|
[%ride p=silk q=sill] :: obsolete old plan
|
||||||
[%vale p=logo q=sack r=*] :: validate [our his]
|
[%vale p=logo q=sack r=*] :: validate [our his]
|
||||||
== ::
|
== ::
|
||||||
++ sill :: code construction
|
++ sill :: code construction
|
||||||
@ -102,8 +122,9 @@
|
|||||||
dep=(set beam) :: dependencies
|
dep=(set beam) :: dependencies
|
||||||
== ::
|
== ::
|
||||||
++ calx :: concrete cache line
|
++ calx :: concrete cache line
|
||||||
$% [%comp p=calm q=(pair path cage) r=twig] :: compile by text
|
$% [%hood p=calm q=cage r=hood] :: compile to hood
|
||||||
[%slap p=calm q=[p=vase q=twig] r=vase] :: slap
|
[%slap p=calm q=[p=vase q=twig] r=vase] :: slap
|
||||||
|
[%twig p=calm q=cage r=twig] :: compile to twig
|
||||||
== ::
|
== ::
|
||||||
++ task :: problem in progress
|
++ task :: problem in progress
|
||||||
$: nah=duct :: cause
|
$: nah=duct :: cause
|
||||||
@ -116,7 +137,8 @@
|
|||||||
|* sem=* :: a typesystem hack
|
|* sem=* :: a typesystem hack
|
||||||
|= cax=calx
|
|= cax=calx
|
||||||
?+ sem !!
|
?+ sem !!
|
||||||
%comp ?>(?=(%comp -.cax) r.cax)
|
%hood ?>(?=(%hood -.cax) r.cax)
|
||||||
|
%twig ?>(?=(%twig -.cax) r.cax)
|
||||||
%slap ?>(?=(%slap -.cax) r.cax)
|
%slap ?>(?=(%slap -.cax) r.cax)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -356,28 +378,91 @@
|
|||||||
|= gef=gift
|
|= gef=gift
|
||||||
%_(+> mow :_(mow [hen %give gef]))
|
%_(+> mow :_(mow [hen %give gef]))
|
||||||
::
|
::
|
||||||
++ fade :: compile
|
++ fade :: compile %hood
|
||||||
|= [cof=cafe kas=silk]
|
|= [cof=cafe bem=beam rem=heel]
|
||||||
^- (bolt twig)
|
^- (bolt hood)
|
||||||
=+ pax=(home kas)
|
=+ rul=(fair bem rem)
|
||||||
%+ (clef %comp) (maid cof pax kas)
|
%+ (clef %hood) (make cof [%bake %hoon bem rem])
|
||||||
^- (burg (pair path cage) twig)
|
^- (burg cage hood)
|
||||||
|= [cof=cafe pay=(pair path cage)]
|
|= [cof=cafe cay=cage]
|
||||||
?. ?=(@ q.q.q.pay)
|
?. ?=(@ q.q.cay)
|
||||||
(flaw cof ~)
|
(flaw cof ~)
|
||||||
=+ rul=(ifix [gay gay] tall:(vang | pax))
|
=+ vex=((full rul) [[1 1] (trip q.q.cay)])
|
||||||
=+ vex=((full rul) [[1 1] (trip q.q.q.pay)])
|
|
||||||
?~ q.vex
|
?~ q.vex
|
||||||
(flaw cof [%leaf "syntax error: {<p.p.vex>} {<q.p.vex>}"] ~)
|
(flaw cof [%leaf "syntax error: {<p.p.vex>} {<q.p.vex>}"] ~)
|
||||||
(fine cof p.u.q.vex)
|
(fine cof p.u.q.vex)
|
||||||
::
|
::
|
||||||
|
++ fane :: compile %hoon
|
||||||
|
|= [cof=cafe kas=silk]
|
||||||
|
^- (bolt twig)
|
||||||
|
=+ pax=(home kas)
|
||||||
|
%+ (clef %twig) (make cof kas)
|
||||||
|
^- (burg cage twig)
|
||||||
|
|= [cof=cafe cay=cage]
|
||||||
|
?. ?=(@ q.q.cay)
|
||||||
|
(flaw cof ~)
|
||||||
|
=+ rul=(ifix [gay gay] tall:(vang | pax))
|
||||||
|
=+ vex=((full rul) [[1 1] (trip q.q.cay)])
|
||||||
|
?~ q.vex
|
||||||
|
(flaw cof [%leaf "syntax error: {<p.p.vex>} {<q.p.vex>}"] ~)
|
||||||
|
(fine cof p.u.q.vex)
|
||||||
|
::
|
||||||
|
++ fair :: hood parsing rule
|
||||||
|
|= [bem=beam rem=heel]
|
||||||
|
=+ vez=(vang | (tope bem(s (weld rem s.bem))))
|
||||||
|
=< hood
|
||||||
|
|%
|
||||||
|
++ case
|
||||||
|
%- sear
|
||||||
|
:_ nuck:so
|
||||||
|
|= a=coin
|
||||||
|
?. ?=([%$ ?(%da %ud %tas) *] a) ~
|
||||||
|
[~ u=(^case a)]
|
||||||
|
::
|
||||||
|
++ hood
|
||||||
|
%+ ifix [gay gay]
|
||||||
|
%+ cook |=(a=^hood a)
|
||||||
|
%+ stag [bem rem]
|
||||||
|
;~ plug
|
||||||
|
;~ pose
|
||||||
|
(ifix [;~(plug pat wut gap) gap] dem)
|
||||||
|
(easy zuse)
|
||||||
|
==
|
||||||
|
hoos
|
||||||
|
hoos
|
||||||
|
(star hoop)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ hoof
|
||||||
|
%+ cook |=(a=^hoof a)
|
||||||
|
;~ pose
|
||||||
|
%+ stag %that
|
||||||
|
;~(plug sym ;~(pfix fas case) ;~(pfix ;~(plug fas sig) fed:ag))
|
||||||
|
::
|
||||||
|
(stag %this ;~(plug sym ;~(pfix fas case)))
|
||||||
|
(stag %here sym)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ hoos
|
||||||
|
%+ cook |=(a=(list ^hoof) a)
|
||||||
|
;~ pose
|
||||||
|
(ifix [;~(plug pat lus gap) gap] (most ;~(plug com ace) hoof))
|
||||||
|
(easy ~)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ hoop
|
||||||
|
%+ knee *^hoop |. ~+
|
||||||
|
%+ cook |=(a=^hoop a)
|
||||||
|
(stag %code tall:vez)
|
||||||
|
--
|
||||||
|
::
|
||||||
++ gush :: sill to twig
|
++ gush :: sill to twig
|
||||||
|= [cof=cafe sil=sill]
|
|= [cof=cafe sil=sill]
|
||||||
^- (bolt twig)
|
^- (bolt twig)
|
||||||
?+ -.sil !!
|
?+ -.sil !!
|
||||||
%dire (fade cof [%done ~ [%atom [%atom %$] p.sil]])
|
%dire (fane cof [%done ~ [%atom [%atom %$] p.sil]])
|
||||||
%dirt (fine cof p.sil)
|
%dirt (fine cof p.sil)
|
||||||
%drag (fade cof [%boil %hoon p.sil q.sil])
|
%drag (fane cof [%boil %hoon p.sil q.sil])
|
||||||
%drug %+ cope (make cof p.sil)
|
%drug %+ cope (make cof p.sil)
|
||||||
|= [cof=cafe cay=cage]
|
|= [cof=cafe cay=cage]
|
||||||
(fine cof (twig q.q.cay))
|
(fine cof (twig q.q.cay))
|
||||||
@ -428,23 +513,26 @@
|
|||||||
(fine cof p.cay vax)
|
(fine cof p.cay vax)
|
||||||
::
|
::
|
||||||
++ krab :: load to vase
|
++ krab :: load to vase
|
||||||
|= [cof=cafe for=logo how=logo bem=beam rem=spur]
|
|= [cof=cafe for=logo how=logo bem=beam rem=heel]
|
||||||
^- (bolt vase)
|
^- (bolt vase)
|
||||||
%+ cope (fade cof %bake how bem rem)
|
%+ cope (fane cof %bake how bem rem)
|
||||||
|= [cof=cafe gen=twig]
|
|= [cof=cafe gen=twig]
|
||||||
(maim cof pit gen)
|
(maim cof pit gen)
|
||||||
:: %+ cope (maim cof pit gen)
|
|
||||||
:: |= [cof=cafe gat=vase]
|
|
||||||
:: (maul cof gat !>([`beak`[p.bem q.bem r.bem] for +:s.bem rem]))
|
|
||||||
::
|
::
|
||||||
++ lace :: load and check
|
++ lace :: load and check
|
||||||
|= [cof=cafe for=logo bem=beam rem=spur]
|
|= [cof=cafe for=logo bem=beam rem=heel]
|
||||||
^- (bolt (unit vase))
|
^- (bolt (unit vase))
|
||||||
=+ bek=`beak`[p.bem q.bem r.bem]
|
=+ bek=`beak`[p.bem q.bem r.bem]
|
||||||
%+ cope (lend cof bem)
|
%+ cope (lend cof bem)
|
||||||
|= [cof=cafe arc=arch]
|
|= [cof=cafe arc=arch]
|
||||||
?^ q.arc
|
?^ q.arc
|
||||||
(cope (liar cof bem) (lake for bek))
|
(cope (liar cof bem) (lake for bek))
|
||||||
|
?: (~(has by r.arc) %hood)
|
||||||
|
%+ cope (fade cof bem rem)
|
||||||
|
|= [cof=cafe hyd=hood]
|
||||||
|
%+ cope (abut:(meow bem rem) cof hyd)
|
||||||
|
|= [cof=cafe vax=vase]
|
||||||
|
(fine cof ~ vax)
|
||||||
?: (~(has by r.arc) %hook)
|
?: (~(has by r.arc) %hook)
|
||||||
%+ cope (krab cof for %hook bem rem)
|
%+ cope (krab cof for %hook bem rem)
|
||||||
|= [cof=cafe vax=vase]
|
|= [cof=cafe vax=vase]
|
||||||
@ -460,7 +548,7 @@
|
|||||||
|= [for=logo bek=beak]
|
|= [for=logo bek=beak]
|
||||||
|= [cof=cafe sam=vase]
|
|= [cof=cafe sam=vase]
|
||||||
^- (bolt (unit vase))
|
^- (bolt (unit vase))
|
||||||
?: ?=(?(%gate %core %hoon %hook) for)
|
?: ?=(?(%gate %core %hoon %hook %hood) for)
|
||||||
(fine cof ~ sam)
|
(fine cof ~ sam)
|
||||||
%+ cope (make cof %boil %gate [[p.bek %main r.bek] /ref/[for]/sys] ~)
|
%+ cope (make cof %boil %gate [[p.bek %main r.bek] /ref/[for]/sys] ~)
|
||||||
|= [cof=cafe cay=cage]
|
|= [cof=cafe cay=cage]
|
||||||
@ -523,7 +611,7 @@
|
|||||||
(fine cof ?.(=(%hoon for) all [%hoot all]))
|
(fine cof ?.(=(%hoon for) all [%hoot all]))
|
||||||
::
|
::
|
||||||
++ lima :: load at depth
|
++ lima :: load at depth
|
||||||
|= [cof=cafe for=logo bem=beam rem=spur]
|
|= [cof=cafe for=logo bem=beam rem=heel]
|
||||||
^- (bolt (unit vase))
|
^- (bolt (unit vase))
|
||||||
%+ cope (lend cof bem)
|
%+ cope (lend cof bem)
|
||||||
|= [cof=cafe arc=arch]
|
|= [cof=cafe arc=arch]
|
||||||
@ -543,7 +631,7 @@
|
|||||||
(fine cof ~ vax)
|
(fine cof ~ vax)
|
||||||
::
|
::
|
||||||
++ lime :: load beam
|
++ lime :: load beam
|
||||||
|= [cof=cafe for=logo bem=beam rem=spur]
|
|= [cof=cafe for=logo bem=beam rem=heel]
|
||||||
=+ [mob=bem mer=(flop rem)]
|
=+ [mob=bem mer=(flop rem)]
|
||||||
|- ^- (bolt vase)
|
|- ^- (bolt vase)
|
||||||
%+ cope (lima cof for mob (flop mer))
|
%+ cope (lima cof for mob (flop mer))
|
||||||
@ -609,11 +697,24 @@
|
|||||||
^$(cof cof, for i.yaw, yaw t.yaw, vax yed)
|
^$(cof cof, for i.yaw, yaw t.yaw, vax yed)
|
||||||
::
|
::
|
||||||
++ maid :: make with path tag
|
++ maid :: make with path tag
|
||||||
|= [cof=cafe pax=path kas=silk]
|
|= [cof=cafe kas=silk]
|
||||||
^- (bolt (pair path cage))
|
^- (bolt (pair path cage))
|
||||||
%+ cope (make cof kas)
|
%+ cope (make cof kas)
|
||||||
|= [cof=cafe cay=cage]
|
|= [cof=cafe cay=cage]
|
||||||
(fine cof pax cay)
|
(fine cof (home kas) cay)
|
||||||
|
::
|
||||||
|
++ maim :: slap
|
||||||
|
|= [cof=cafe vax=vase gen=twig]
|
||||||
|
^- (bolt vase)
|
||||||
|
%+ (clef %slap) (fine cof vax gen)
|
||||||
|
|= [cof=cafe vax=vase gen=twig]
|
||||||
|
=+ puz=(mule |.((~(mint ut p.vax) [%noun gen])))
|
||||||
|
?- -.puz
|
||||||
|
| (flaw cof p.puz)
|
||||||
|
& %+ (coup cof) (mock [q.vax q.p.puz] (mole ska))
|
||||||
|
|= val=*
|
||||||
|
`vase`[p.p.puz val]
|
||||||
|
==
|
||||||
::
|
::
|
||||||
++ make :: reduce silk
|
++ make :: reduce silk
|
||||||
|= [cof=cafe kas=silk]
|
|= [cof=cafe kas=silk]
|
||||||
@ -684,6 +785,11 @@
|
|||||||
$(kas [%done p.kas u.q.kas])
|
$(kas [%done p.kas u.q.kas])
|
||||||
::
|
::
|
||||||
%mute (kale cof p.kas q.kas)
|
%mute (kale cof p.kas q.kas)
|
||||||
|
%plan
|
||||||
|
%+ cope (abut:(meow p.kas q.kas) cof r.kas)
|
||||||
|
|= [cof=cafe vax=vase]
|
||||||
|
(fine cof %noun vax)
|
||||||
|
::
|
||||||
%reef (fine cof %noun pit)
|
%reef (fine cof %noun pit)
|
||||||
%ride
|
%ride
|
||||||
%+ cool |.(leaf/"ford: ride {<`@p`(mug kas)>}")
|
%+ cool |.(leaf/"ford: ride {<`@p`(mug kas)>}")
|
||||||
@ -704,19 +810,6 @@
|
|||||||
(fine cof `cage`[p.kas u.vux])
|
(fine cof `cage`[p.kas u.vux])
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ maim :: slap
|
|
||||||
|= [cof=cafe vax=vase gen=twig]
|
|
||||||
^- (bolt vase)
|
|
||||||
%+ (clef %slap) (fine cof vax gen)
|
|
||||||
|= [cof=cafe vax=vase gen=twig]
|
|
||||||
=+ puz=(mule |.((~(mint ut p.vax) [%noun gen])))
|
|
||||||
?- -.puz
|
|
||||||
| (flaw cof p.puz)
|
|
||||||
& %+ (coup cof) (mock [q.vax q.p.puz] (mole ska))
|
|
||||||
|= val=*
|
|
||||||
`vase`[p.p.puz val]
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ maul :: slam
|
++ maul :: slam
|
||||||
|= [cof=cafe gat=vase sam=vase]
|
|= [cof=cafe gat=vase sam=vase]
|
||||||
^- (bolt vase)
|
^- (bolt vase)
|
||||||
@ -728,6 +821,120 @@
|
|||||||
`vase`[p.top val]
|
`vase`[p.top val]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
++ meow :: assemble
|
||||||
|
|= [how=beam rem=heel]
|
||||||
|
=| $: rop=(map term (pair hoof twig)) :: protocols known
|
||||||
|
bil=(map term (pair hoof twig)) :: libraries known
|
||||||
|
lot=(list term) :: library stack
|
||||||
|
zeg=(set term) :: library guard
|
||||||
|
boy=(list twig) :: body stack
|
||||||
|
==
|
||||||
|
|%
|
||||||
|
++ abut :: generate
|
||||||
|
|= [cof=cafe hyd=hood]
|
||||||
|
%+ cope (apex cof hyd)
|
||||||
|
|= [cof=cafe sel=_..abut]
|
||||||
|
(maim cof pit able:sel)
|
||||||
|
::
|
||||||
|
++ able :: assemble preamble
|
||||||
|
^- twig
|
||||||
|
:+ %tsgr
|
||||||
|
?:(=(~ rop) [%$ 1] [%brcn (~(run by rop) |=([* a=twig] [%ash a]))])
|
||||||
|
:+ %tsgr
|
||||||
|
[%tssg (turn (flop lot) |=(a=term q:(need (~(get by bil) a))))]
|
||||||
|
[%tssg (flop boy)]
|
||||||
|
::
|
||||||
|
++ apex :: build to body
|
||||||
|
|= [cof=cafe hyd=hood]
|
||||||
|
^- (bolt ,_..apex)
|
||||||
|
%+ cope (body cof src.hyd)
|
||||||
|
|= [cof=cafe sel=_..apex]
|
||||||
|
=. ..apex sel
|
||||||
|
%+ cope (neck cof lib.hyd)
|
||||||
|
|= [cof=cafe sel=_..apex]
|
||||||
|
=. ..apex sel
|
||||||
|
%+ cope (head cof pro.hyd)
|
||||||
|
|= [cof=cafe sel=_..apex]
|
||||||
|
(fine cof sel)
|
||||||
|
::
|
||||||
|
++ body :: produce functions
|
||||||
|
|= [cof=cafe src=(list hoop)]
|
||||||
|
^- (bolt _..body)
|
||||||
|
?~ src (fine cof ..body)
|
||||||
|
%+ cope (wilt cof i.src)
|
||||||
|
|= [cof=cafe sel=_..body]
|
||||||
|
^$(cof cof, src t.src, ..body sel)
|
||||||
|
::
|
||||||
|
++ head :: consume protocols
|
||||||
|
|= [cof=cafe bir=(list hoof)]
|
||||||
|
|- ^- (bolt ,_..head)
|
||||||
|
?~ bir (fine cof ..head)
|
||||||
|
=+ cog=(heck i.bir)
|
||||||
|
=+ byf=(~(get by rop) cog)
|
||||||
|
?^ byf
|
||||||
|
?. =(`hoof`i.bir `hoof`p.u.byf)
|
||||||
|
(flaw cof [%leaf "protocol mismatch: {<~[cog p.u.byf i.bir]>}"]~)
|
||||||
|
$(bir t.bir)
|
||||||
|
=+ bem=(hone %gate %pro i.bir)
|
||||||
|
%+ cope (fade cof bem ~)
|
||||||
|
|= [cof=cafe hyd=hood]
|
||||||
|
%+ cope (apex(lot ~) cof hyd)
|
||||||
|
|= [cof=cafe sel=_..neck]
|
||||||
|
=. ..head
|
||||||
|
%= sel
|
||||||
|
zeg zeg
|
||||||
|
rop (~(put by rop) cog [i.bir [%tssg (flop boy.sel)]])
|
||||||
|
==
|
||||||
|
^^$(cof cof, bir t.bir)
|
||||||
|
::
|
||||||
|
++ heck :: hoof to name
|
||||||
|
|= huf=hoof ^- term
|
||||||
|
?-(-.huf %here p.huf, %this p.huf, %that p.huf)
|
||||||
|
::
|
||||||
|
++ hone :: plant hoof
|
||||||
|
|= [for=@tas way=@tas huf=hoof]
|
||||||
|
^- beam
|
||||||
|
?- -.huf
|
||||||
|
%here how(s ~[for p.huf way])
|
||||||
|
%this [[p.how %main q.huf] ~[for p.huf way]]
|
||||||
|
%that [[r.huf %main q.huf] ~[for p.huf way]]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ neck :: consume libraries
|
||||||
|
|= [cof=cafe bir=(list hoof)]
|
||||||
|
^- (bolt ,_..neck)
|
||||||
|
?~ bir (fine cof ..neck)
|
||||||
|
=+ cog=(heck i.bir)
|
||||||
|
?: (~(has in zeg) cog)
|
||||||
|
(flaw cof [%leaf "circular dependency: {<~[cog i.bir]>}"]~)
|
||||||
|
=+ goz=(~(put in zeg) cog)
|
||||||
|
=+ byf=(~(get by bil) cog)
|
||||||
|
?^ byf
|
||||||
|
?. =(`hoof`i.bir `hoof`p.u.byf)
|
||||||
|
(flaw cof [%leaf "library mismatch: {<~[cog p.u.byf i.bir]>}"]~)
|
||||||
|
$(bir t.bir)
|
||||||
|
=+ bem=(hone %core %lib i.bir)
|
||||||
|
%+ cope (fade cof bem ~)
|
||||||
|
|= [cof=cafe hyd=hood]
|
||||||
|
%+ cope (apex(zeg goz, boy ~) cof hyd)
|
||||||
|
|= [cof=cafe sel=_..neck]
|
||||||
|
=. ..neck
|
||||||
|
%= sel
|
||||||
|
zeg zeg
|
||||||
|
lot [cog lot]
|
||||||
|
bil (~(put by bil) cog [i.bir [%tssg (flop boy.sel)]])
|
||||||
|
==
|
||||||
|
^^$(cof cof, bir t.bir)
|
||||||
|
::
|
||||||
|
++ wilt :: process body entry
|
||||||
|
|= [cof=cafe hop=hoop]
|
||||||
|
^- (bolt _..wilt)
|
||||||
|
?+ -.hop !!
|
||||||
|
%code (fine cof ..wilt(boy [p.hop boy]))
|
||||||
|
%hood (cope (fade cof p.hop ~) apex)
|
||||||
|
==
|
||||||
|
--
|
||||||
|
::
|
||||||
++ resp
|
++ resp
|
||||||
|= [tik=@ud rot=riot]
|
|= [tik=@ud rot=riot]
|
||||||
^+ ..zo
|
^+ ..zo
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
~% %k.164 ~ ~ ::
|
~% %k.164 ~ ~ ::
|
||||||
|% ::
|
|% ::
|
||||||
++ stub %164 :: version stub
|
++ hoon %164 :: version stub
|
||||||
-- ::
|
-- ::
|
||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:::::: :::::: volume 1, Hoon models ::::::
|
:::::: :::::: volume 1, Hoon models ::::::
|
||||||
@ -1432,10 +1432,9 @@
|
|||||||
?: (zer b p n) [~ "0"]
|
?: (zer b p n) [~ "0"]
|
||||||
~
|
~
|
||||||
--
|
--
|
||||||
|
|
||||||
|
|
||||||
::::::::::::
|
::::::::::::
|
||||||
++ add |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]] ^- [s=? e=@s a=@u]
|
++ add |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||||
|
^- [s=? e=@s a=@u]
|
||||||
=+ g=(gar:te:fl b n m)
|
=+ g=(gar:te:fl b n m)
|
||||||
?: ?=(^ g)
|
?: ?=(^ g)
|
||||||
u.g
|
u.g
|
||||||
@ -1457,7 +1456,8 @@
|
|||||||
=+ e2=(sum:si (sun:si dif2) e.n)
|
=+ e2=(sum:si (sun:si dif2) e.n)
|
||||||
(pro:te:fl b p [s=|(s.n s.m) e=e2 a=(lia p a3)])
|
(pro:te:fl b p [s=|(s.n s.m) e=e2 a=(lia p a3)])
|
||||||
|
|
||||||
++ sub |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]] ^- [s=? e=@s a=@u]
|
++ sub |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||||
|
^- [s=? e=@s a=@u]
|
||||||
=+ g=(gar:te:fl b n m)
|
=+ g=(gar:te:fl b n m)
|
||||||
?: ?=(^ g)
|
?: ?=(^ g)
|
||||||
u.g
|
u.g
|
||||||
@ -1522,9 +1522,8 @@
|
|||||||
++ gth |= [n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]] ^- ?
|
++ gth |= [n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]] ^- ?
|
||||||
(lte m n)
|
(lte m n)
|
||||||
--
|
--
|
||||||
|
::
|
||||||
:: Real interface for @rd
|
++ rd :: core for @rd
|
||||||
++ rd
|
|
||||||
~% %rd + ~
|
~% %rd + ~
|
||||||
|%
|
|%
|
||||||
:: Convert a sign/exp/ari cell into 64 bit atom
|
:: Convert a sign/exp/ari cell into 64 bit atom
|
||||||
@ -3561,7 +3560,7 @@
|
|||||||
(stag ~ zust)
|
(stag ~ zust)
|
||||||
(stag %many (ifix [cab ;~(plug cab cab)] (more cab nusk)))
|
(stag %many (ifix [cab ;~(plug cab cab)] (more cab nusk)))
|
||||||
==
|
==
|
||||||
++ royl !:
|
++ royl
|
||||||
=+ ^= zer
|
=+ ^= zer
|
||||||
(cook lent (star (just '0')))
|
(cook lent (star (just '0')))
|
||||||
=+ ^= voy
|
=+ ^= voy
|
||||||
@ -6667,10 +6666,10 @@
|
|||||||
::
|
::
|
||||||
[%zpwt *]
|
[%zpwt *]
|
||||||
?: ?: ?=(@ p.gen)
|
?: ?: ?=(@ p.gen)
|
||||||
(lte stub p.gen)
|
(lte hoon p.gen)
|
||||||
&((lte stub p.p.gen) (gte stub q.p.gen))
|
&((lte hoon p.p.gen) (gte hoon q.p.gen))
|
||||||
q.gen
|
q.gen
|
||||||
~|([%stub-fail stub p.gen] !!)
|
~|([%hoon-fail hoon p.gen] !!)
|
||||||
::
|
::
|
||||||
* gen
|
* gen
|
||||||
==
|
==
|
||||||
@ -9456,7 +9455,6 @@
|
|||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:::::: :::::: volume 3, Arvo models and skeleton ::::::
|
:::::: :::::: volume 3, Arvo models and skeleton ::::::
|
||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
!:
|
|
||||||
|%
|
|%
|
||||||
++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: fundamental node
|
++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: fundamental node
|
||||||
++ arvo (mold ,[p=term q=mill] mill) :: arvo card
|
++ arvo (mold ,[p=term q=mill] mill) :: arvo card
|
||||||
@ -9535,7 +9533,7 @@
|
|||||||
== ::
|
== ::
|
||||||
++ wire path :: event pretext
|
++ wire path :: event pretext
|
||||||
::::: hacks
|
::::: hacks
|
||||||
++ slod !:
|
++ slod
|
||||||
|= sed=sled
|
|= sed=sled
|
||||||
^- slut
|
^- slut
|
||||||
|= raw=*
|
|= raw=*
|
||||||
@ -9558,27 +9556,10 @@
|
|||||||
?~ bop ~
|
?~ bop ~
|
||||||
?~ u.bop [~ ~]
|
?~ u.bop [~ ~]
|
||||||
[~ ~ q.q.u.u.bop]
|
[~ ~ q.q.u.u.bop]
|
||||||
::
|
|
||||||
++ slub !:
|
|
||||||
|= sul=slut
|
|
||||||
^- sled
|
|
||||||
|= [fur=(unit (set monk)) ron=term bed=beam]
|
|
||||||
^- (unit (unit cage))
|
|
||||||
=+ ^= pax ^- path
|
|
||||||
:* ron
|
|
||||||
(scot %p p.bed)
|
|
||||||
q.bed
|
|
||||||
(scot r.bed)
|
|
||||||
(flop s.bed)
|
|
||||||
==
|
|
||||||
=+ bop=(sul pax)
|
|
||||||
?~ bop ~
|
|
||||||
?~ u.bop [~ ~]
|
|
||||||
[~ ~ [%$ %noun u.u.bop]]
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:: section 3bE, Arvo core ::
|
:: section 3bE, Arvo core ::
|
||||||
::
|
::
|
||||||
++ vent !: :: vane core
|
++ vent :: vane core
|
||||||
|= [lal=@tas vil=vile bud=vase ves=vase]
|
|= [lal=@tas vil=vile bud=vase ves=vase]
|
||||||
|%
|
|%
|
||||||
++ ruck :: update vase
|
++ ruck :: update vase
|
||||||
@ -9964,7 +9945,7 @@
|
|||||||
++ peek :: external inspect
|
++ peek :: external inspect
|
||||||
|= [now=@da hap=path]
|
|= [now=@da hap=path]
|
||||||
^- (unit)
|
^- (unit)
|
||||||
?~ hap [~ stub]
|
?~ hap [~ hoon]
|
||||||
=+ rob=((slod ~(beck (is vil eny bud fan) now)) hap)
|
=+ rob=((slod ~(beck (is vil eny bud fan) now)) hap)
|
||||||
?~ rob ~
|
?~ rob ~
|
||||||
?~ u.rob ~
|
?~ u.rob ~
|
||||||
@ -9992,9 +9973,9 @@
|
|||||||
=+ ^= nex
|
=+ ^= nex
|
||||||
=+ gat=.*(ken .*(ken [0 87]))
|
=+ gat=.*(ken .*(ken [0 87]))
|
||||||
(need ((hard (unit ,@)) .*([-.gat [[now ~] +>.gat]] -.gat)))
|
(need ((hard (unit ,@)) .*([-.gat [[now ~] +>.gat]] -.gat)))
|
||||||
~& [%vega-compiled stub nex]
|
~& [%vega-compiled hoon nex]
|
||||||
?> (lte nex stub)
|
?> (lte nex hoon)
|
||||||
=+ gat=.*(ken .*(ken [0 ?:(=(nex stub) 86 11)]))
|
=+ gat=.*(ken .*(ken [0 ?:(=(nex hoon) 86 11)]))
|
||||||
=+ sam=[eny ova fan]
|
=+ sam=[eny ova fan]
|
||||||
=+ raw=.*([-.gat [sam +>.gat]] -.gat)
|
=+ raw=.*([-.gat [sam +>.gat]] -.gat)
|
||||||
[[[~ %vega hap] ((list ovum) -.raw)] +.raw]
|
[[[~ %vega hap] ((list ovum) -.raw)] +.raw]
|
||||||
|
2011
arvo/zuse.hoon
2011
arvo/zuse.hoon
File diff suppressed because it is too large
Load Diff
@ -20,12 +20,12 @@
|
|||||||
=+ all=.*(0 ken)
|
=+ all=.*(0 ken)
|
||||||
=+ ^= vay ^- (list ,[p=@tas q=@tas])
|
=+ ^= vay ^- (list ,[p=@tas q=@tas])
|
||||||
:~ [%$ %zuse]
|
:~ [%$ %zuse]
|
||||||
|
[%f %ford]
|
||||||
[%a %ames]
|
[%a %ames]
|
||||||
[%b %batz]
|
[%b %batz]
|
||||||
[%c %clay]
|
[%c %clay]
|
||||||
[%d %dill]
|
[%d %dill]
|
||||||
[%e %eyre]
|
[%e %eyre]
|
||||||
[%f %ford]
|
|
||||||
[%g %gall]
|
[%g %gall]
|
||||||
==
|
==
|
||||||
|- ^+ all
|
|- ^+ all
|
||||||
|
36
main/doc/synth/down.hood
Normal file
36
main/doc/synth/down.hood
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/? 314
|
||||||
|
!:
|
||||||
|
:::::: /hoon/down/synth/doc
|
||||||
|
::
|
||||||
|
=>
|
||||||
|
:::::: models
|
||||||
|
|%
|
||||||
|
++ down
|
||||||
|
$& [p=down q=down]
|
||||||
|
$% [%$ p=tape]
|
||||||
|
[%code p=tape]
|
||||||
|
[%inco p=tape]
|
||||||
|
[%head p=@ud q=down]
|
||||||
|
[%link p=tape q=tape r=(unit tape)]
|
||||||
|
[%lord p=(list down)]
|
||||||
|
[%lund p=(list down)]
|
||||||
|
[%parg p=down]
|
||||||
|
[%quot p=down]
|
||||||
|
[%rong p=down]
|
||||||
|
[%emph p=down]
|
||||||
|
[%hrul ~]
|
||||||
|
[%html p=tape]
|
||||||
|
==
|
||||||
|
--
|
||||||
|
:::::: generator
|
||||||
|
::
|
||||||
|
~& [%hood-at %]
|
||||||
|
%- (fest /synth/doc %)
|
||||||
|
|= pic=epic
|
||||||
|
=+ unt=|=(a=cord (biff (~(get by qix.pic) a) |=(b=cord (slaw %ud b))))
|
||||||
|
=+ moo=(both (unt %foo) (unt %bar))
|
||||||
|
?~ moo [%$ "Hoop, world: usage: url?foo=x&bar=y"]
|
||||||
|
:* [%$ "Hoop, "]
|
||||||
|
[%emph %$ "world"]
|
||||||
|
[%$ ": {<-.u.moo>} plus {<+.u.moo>} is {<(add u.moo)>}."]
|
||||||
|
==
|
@ -1,10 +1,7 @@
|
|||||||
!:
|
!:
|
||||||
:::::: /hook/down/synth/doc
|
:::::: /hook/down/synth/doc
|
||||||
::
|
::
|
||||||
~& [%down-hook %path %]
|
|
||||||
%- (folk /down/synth/doc %)
|
%- (folk /down/synth/doc %)
|
||||||
|= [bem=beam but=path]
|
|= [bem=beam but=path]
|
||||||
~& [%down-hook-beam s.bem]
|
|
||||||
~& [%down-hook-butt but]
|
|
||||||
:+ %ride [%reef ~]
|
:+ %ride [%reef ~]
|
||||||
[%drag bem but]
|
[%drag bem but]
|
||||||
|
@ -23,14 +23,13 @@
|
|||||||
--
|
--
|
||||||
:::::: generator
|
:::::: generator
|
||||||
::
|
::
|
||||||
~& [%down-hoon %path %]
|
~& [%choon-at %]
|
||||||
%- (fest /synth/doc %)
|
%- (fest /synth/doc %)
|
||||||
|= pic=epic
|
|= pic=epic
|
||||||
~& [%down-hook-butt but.pic]
|
|
||||||
=+ unt=|=(a=cord (biff (~(get by qix.pic) a) |=(b=cord (slaw %ud b))))
|
=+ unt=|=(a=cord (biff (~(get by qix.pic) a) |=(b=cord (slaw %ud b))))
|
||||||
=+ moo=(both (unt %foo) (unt %bar))
|
=+ moo=(both (unt %foo) (unt %bar))
|
||||||
?~ moo [%$ "Hello, world: usage: url?foo=x&bar=y"]
|
?~ moo [%$ "Hm, world: usage: url?foo=x&bar=y"]
|
||||||
:* [%$ "Hello, "]
|
:* [%$ "Hm, "]
|
||||||
[%emph %$ "world"]
|
[%emph %$ "world"]
|
||||||
[%$ ": {<-.u.moo>} plus {<+.u.moo>} is {<(add u.moo)>}."]
|
[%$ ": {<-.u.moo>} plus {<+.u.moo>} is {<(add u.moo)>}."]
|
||||||
==
|
==
|
||||||
|
1
main/sys/asset/ref/gate.hoon
Normal file
1
main/sys/asset/ref/gate.hoon
Normal file
@ -0,0 +1 @@
|
|||||||
|
,[p=ship q=guid]
|
3
main/sys/asset/tan/json/gate.hoon
Normal file
3
main/sys/asset/tan/json/gate.hoon
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|= [p=ship q=@udK]
|
||||||
|
^- json
|
||||||
|
a/~[(jape <p>) (jape <q>)]
|
Loading…
Reference in New Issue
Block a user