mirror of
https://github.com/urbit/shrub.git
synced 2025-01-07 05:26:56 +03:00
commit
7283353bce
@ -1 +1 @@
|
|||||||
https://ci-piers.urbit.org/zod-ab9780105496cd2e35de2a523c4f4a55a70b42ca.tgz
|
https://ci-piers.urbit.org/zod-6a1f32bb1984fa9329c072de09ba67b212c8dbed.tgz
|
||||||
|
@ -1 +1 @@
|
|||||||
cfca39542f64c9dbdd45468a4ae96e602d6be989
|
65ce838b26f64311e73410512d83898b081873db
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
:: :: ::
|
:: :: ::
|
||||||
/? 310 :: version
|
/? 310 :: version
|
||||||
/- sole, hall
|
/- sole, hall
|
||||||
[. sole]
|
/+ pill
|
||||||
:: :: ::
|
:: :: ::
|
||||||
:::: :: ::
|
:::: :: ::
|
||||||
:: :: ::
|
:: :: ::
|
||||||
@ -13,8 +13,8 @@
|
|||||||
$: hoc/(map bone session) :: consoles
|
$: hoc/(map bone session) :: consoles
|
||||||
== ::
|
== ::
|
||||||
++ session ::
|
++ session ::
|
||||||
$: say/sole-share :: console state
|
$: say/sole-share:sole :: console state
|
||||||
mud/(unit (sole-dialog @ud)) :: console dialog
|
mud/(unit (sole-dialog:sole @ud)) :: console dialog
|
||||||
== ::
|
== ::
|
||||||
:: :: ::
|
:: :: ::
|
||||||
:::: :: ::
|
:::: :: ::
|
||||||
@ -155,55 +155,23 @@
|
|||||||
=+ way=?:(zus (welp top /sys/[nam]) (welp top /sys/vane/[nam]))
|
=+ way=?:(zus (welp top /sys/[nam]) (welp top /sys/vane/[nam]))
|
||||||
=+ fil=.^(@ %cx (welp way /hoon))
|
=+ fil=.^(@ %cx (welp way /hoon))
|
||||||
[%flog /reload [%veer ?:(=('z' tip) %$ tip) way fil]]
|
[%flog /reload [%veer ?:(=('z' tip) %$ tip) way fil]]
|
||||||
|
:: +poke-reset: send %vega to reboot kernel
|
||||||
::
|
::
|
||||||
++ poke-reset :: reset system
|
:: And reinstall %zuse and the vanes.
|
||||||
|= hood-reset =< abet
|
:: Trigger with |reset.
|
||||||
%- emil
|
|
||||||
%- flop ^- (list card)
|
|
||||||
=+ top=`path`/(scot %p our)/home/(scot %da now)/sys
|
|
||||||
:- [%flog /reset %vega (weld top /hoon) (weld top /arvo)]
|
|
||||||
%+ turn
|
|
||||||
^- (list {p/@tas q/path})
|
|
||||||
:~ [%$ /zuse]
|
|
||||||
[%a /vane/ames]
|
|
||||||
[%b /vane/behn]
|
|
||||||
[%c /vane/clay]
|
|
||||||
[%d /vane/dill]
|
|
||||||
[%e /vane/eyre]
|
|
||||||
[%f /vane/ford]
|
|
||||||
[%g /vane/gall]
|
|
||||||
[%j /vane/jael]
|
|
||||||
==
|
|
||||||
|= {p/@tas q/path}
|
|
||||||
=+ way=`path`(welp top q)
|
|
||||||
=+ txt=.^(@ %cx (welp way /hoon))
|
|
||||||
[%flog /reset %veer p way txt]
|
|
||||||
::
|
::
|
||||||
++ poke-meset :: reset system (new)
|
++ poke-reset
|
||||||
|= hood-reset =< abet
|
|= hood-reset
|
||||||
%- emil
|
=< abet
|
||||||
%- flop ^- (list card)
|
%- emil %- flop
|
||||||
=+ top=`path`/(scot %p our)/home/(scot %da now)/sys
|
^- (list card)
|
||||||
=+ hun=.^(@ %cx (welp top /hoon/hoon))
|
=/ top=path /(scot %p our)/home/(scot %da now)/sys
|
||||||
=+ arv=.^(@ %cx (welp top /arvo/hoon))
|
=/ hun .^(@ %cx (welp top /hoon/hoon))
|
||||||
:- [%flog /reset [%velo `@t`hun `@t`arv]]
|
=/ arv .^(@ %cx (welp top /arvo/hoon))
|
||||||
:- =+ way=(weld top `path`/zuse)
|
:- [%flog /reset [%vega `@t`hun `@t`arv]]
|
||||||
[%flog /reset %veer %$ way .^(@ %cx (welp way /hoon))]
|
|
||||||
%+ turn
|
%+ turn
|
||||||
^- (list {p/@tas q/@tas})
|
(module-ova:pill top)
|
||||||
:~ [%a %ames]
|
|=(a=[wire flog:dill] [%flog a])
|
||||||
[%b %behn]
|
|
||||||
[%c %clay]
|
|
||||||
[%d %dill]
|
|
||||||
[%e %eyre]
|
|
||||||
[%f %ford]
|
|
||||||
[%g %gall]
|
|
||||||
[%j %jael]
|
|
||||||
==
|
|
||||||
|= {p/@tas q/@tas}
|
|
||||||
=+ way=`path`(welp top /vane/[q])
|
|
||||||
=+ txt=.^(@ %cx (welp way /hoon))
|
|
||||||
[%flog /reset %veer p way txt]
|
|
||||||
::
|
::
|
||||||
++ poke-verb :: toggle verbose
|
++ poke-verb :: toggle verbose
|
||||||
|= ~ =< abet
|
|= ~ =< abet
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
::
|
::
|
||||||
++ module-ova
|
++ module-ova
|
||||||
|= sys=path
|
|= sys=path
|
||||||
^- (list ovum)
|
^- (list [wire [%veer term path cord]])
|
||||||
%+ turn
|
%+ turn
|
||||||
^- (list (pair term path))
|
^- (list (pair term path))
|
||||||
:~ :: sys/zuse: standard library
|
:~ :: sys/zuse: standard library
|
||||||
@ -39,7 +39,6 @@
|
|||||||
[%j /vane/jael]
|
[%j /vane/jael]
|
||||||
==
|
==
|
||||||
|= [=term =path]
|
|= [=term =path]
|
||||||
^- ovum
|
|
||||||
=/ pax (weld sys path)
|
=/ pax (weld sys path)
|
||||||
=/ txt .^(@ %cx (weld pax /hoon))
|
=/ txt .^(@ %cx (weld pax /hoon))
|
||||||
[[%vane path] [%veer term pax txt]]
|
[[%vane path] [%veer term pax txt]]
|
||||||
|
412
sys/arvo.hoon
412
sys/arvo.hoon
@ -1,14 +1,21 @@
|
|||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:::::: :::::: Postface ::::::
|
:::::: :::::: Postface ::::::
|
||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
~> %slog.[0 leaf+"arvo-boot"]
|
|
||||||
=< |= {now/@da ovo/*}
|
|
||||||
^- *
|
|
||||||
~> %slog.[0 leaf+"arvo-event"]
|
|
||||||
.(+> +:(poke now ovo))
|
|
||||||
~> %slog.[0 leaf+"%arvo-assembly"]
|
~> %slog.[0 leaf+"%arvo-assembly"]
|
||||||
=- ~> %slog.[0 leaf+"%arvo-assembled"]
|
=- ~> %slog.[0 leaf+"%arvo-assembled"]
|
||||||
-
|
-
|
||||||
|
=< ::
|
||||||
|
:: Arvo formal interface
|
||||||
|
::
|
||||||
|
:: this lifecycle wrapper makes the arvo door (multi-armed core)
|
||||||
|
:: look like a gate (function or single-armed core), to fit
|
||||||
|
:: urbit's formal lifecycle function. a practical interpreter
|
||||||
|
:: can ignore it.
|
||||||
|
::
|
||||||
|
|= [now=@da ovo=*]
|
||||||
|
^- *
|
||||||
|
~> %slog.[0 leaf+"arvo-event"]
|
||||||
|
.(+> +:(poke now ovo))
|
||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:::::: :::::: volume 3, Arvo models and skeleton ::::::
|
:::::: :::::: volume 3, Arvo models and skeleton ::::::
|
||||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
@ -125,7 +132,7 @@
|
|||||||
?.(&(?=(@ a) ((sane %tas) a)) %$ a)
|
?.(&(?=(@ a) ((sane %tas) a)) %$ a)
|
||||||
::
|
::
|
||||||
++ vent :: vane core
|
++ vent :: vane core
|
||||||
|= [lal=@tas vil=vile bud=vase =vane]
|
|= [who=ship lal=@tas vil=vile bud=vase =vane]
|
||||||
~% %vent +>+ ~
|
~% %vent +>+ ~
|
||||||
|%
|
|%
|
||||||
++ ruck :: update vase
|
++ ruck :: update vase
|
||||||
@ -164,7 +171,7 @@
|
|||||||
:: reset cache and add in vane activation entry
|
:: reset cache and add in vane activation entry
|
||||||
::
|
::
|
||||||
=^ rig worm.vane
|
=^ rig worm.vane
|
||||||
(~(slym wa *worm) vase.vane *[@da @ slyd])
|
(~(slym wa *worm) vase.vane *[@p @da @ slyd])
|
||||||
:: cache the access of the %scry arm
|
:: cache the access of the %scry arm
|
||||||
::
|
::
|
||||||
=^ fun worm.vane (~(slap wa worm.vane) rig [%limb %scry])
|
=^ fun worm.vane (~(slap wa worm.vane) rig [%limb %scry])
|
||||||
@ -177,7 +184,7 @@
|
|||||||
|= {now/@da eny/@ ski/slyd}
|
|= {now/@da eny/@ ski/slyd}
|
||||||
=^ rig worm.vane
|
=^ rig worm.vane
|
||||||
~| [%failed-vane-activation-for lal]
|
~| [%failed-vane-activation-for lal]
|
||||||
(~(slym wa worm.vane) vase.vane +<) :: activate vane
|
(~(slym wa worm.vane) vase.vane [who +<]) :: activate vane
|
||||||
~% %wink +>+> ~
|
~% %wink +>+> ~
|
||||||
|%
|
|%
|
||||||
++ slid
|
++ slid
|
||||||
@ -343,7 +350,7 @@
|
|||||||
^- vase
|
^- vase
|
||||||
?: &(=(-.q.vase.vane -.q.sev) =(+>.q.vase.vane +>.q.sev))
|
?: &(=(-.q.vase.vane -.q.sev) =(+>.q.vase.vane +>.q.sev))
|
||||||
vase.vane :: unchanged, use old
|
vase.vane :: unchanged, use old
|
||||||
sev(+<.q [*@da *@ =>(~ |~(* ~))]) :: clear to stop leak
|
sev(+<.q [*@p *@da *@ =>(~ |~(* ~))]) :: clear to stop leak
|
||||||
::
|
::
|
||||||
++ swim
|
++ swim
|
||||||
~/ %swim
|
~/ %swim
|
||||||
@ -381,13 +388,19 @@
|
|||||||
--
|
--
|
||||||
::
|
::
|
||||||
++ vint :: create vane
|
++ vint :: create vane
|
||||||
|= {lal/@tas vil/vile bud/vase pax/path txt/@ta} ::
|
|= $: who=ship
|
||||||
|
lal=@tas
|
||||||
|
vil=vile
|
||||||
|
bud=vase
|
||||||
|
pax=path
|
||||||
|
txt=@ta
|
||||||
|
==
|
||||||
=- ?:(?=(%| -.res) ((slog p.res) ~) (some p.res))
|
=- ?:(?=(%| -.res) ((slog p.res) ~) (some p.res))
|
||||||
^= res %- mule |.
|
^= res %- mule |.
|
||||||
~| [%failed-vint lal]
|
~| [%failed-vint lal]
|
||||||
=+ gen=(rain pax txt)
|
=+ gen=(rain pax txt)
|
||||||
~& [%vane-parsed `@p`(mug gen)]
|
~& [%vane-parsed `@p`(mug gen)]
|
||||||
=+ pro=(vent lal vil bud [(slym (slap bud gen) bud) *worm])
|
=+ pro=(vent who lal vil bud [(slym (slap bud gen) bud) *worm])
|
||||||
~& [%vane-compiled `@p`(mug pro)]
|
~& [%vane-compiled `@p`(mug pro)]
|
||||||
prime:pro
|
prime:pro
|
||||||
::
|
::
|
||||||
@ -402,7 +415,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ is :: operate in time
|
++ is :: operate in time
|
||||||
|= {vil/vile eny/@ bud/vase vanes=(list [label=@tas =vane])}
|
|= [who=ship vil=vile eny=@ bud=vase vanes=(list [label=@tas =vane])]
|
||||||
|_ now/@da
|
|_ now/@da
|
||||||
++ beck
|
++ beck
|
||||||
^- slyd
|
^- slyd
|
||||||
@ -415,7 +428,7 @@
|
|||||||
?~ vanes ~
|
?~ vanes ~
|
||||||
?. =(lal label.i.vanes) $(vanes t.vanes)
|
?. =(lal label.i.vanes) $(vanes t.vanes)
|
||||||
~| [%failed-scry ron bed]
|
~| [%failed-scry ron bed]
|
||||||
%- scry:(wink:(vent lal vil bud vane.i.vanes) now (shax now) ..^$)
|
%- scry:(wink:(vent who lal vil bud vane.i.vanes) now (shax now) ..^$)
|
||||||
[fur ren bed]
|
[fur ren bed]
|
||||||
::
|
::
|
||||||
++ dink :: vase by char
|
++ dink :: vase by char
|
||||||
@ -454,7 +467,7 @@
|
|||||||
++ race :: take
|
++ race :: take
|
||||||
|= {org/@tas lal/@tas pux/(unit wire) hen/duct hil/mill =vane}
|
|= {org/@tas lal/@tas pux/(unit wire) hen/duct hil/mill =vane}
|
||||||
^- [p=(list move) q=_vane]
|
^- [p=(list move) q=_vane]
|
||||||
=+ ven=(vent lal vil bud vane)
|
=+ ven=(vent who lal vil bud vane)
|
||||||
~| [%failed-take lal]
|
~| [%failed-take lal]
|
||||||
=+ win=(wink:ven now (shax now) beck)
|
=+ win=(wink:ven now (shax now) beck)
|
||||||
(swim:win org pux hen hil)
|
(swim:win org pux hen hil)
|
||||||
@ -513,157 +526,324 @@
|
|||||||
$(ova (weld p.nyx ova), mor (weld q.nyx t.mor))
|
$(ova (weld p.nyx ova), mor (weld q.nyx t.mor))
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
=+ pit=`vase`!>(.) ::
|
=< :: Arvo larval stage
|
||||||
=+ bud=pit :: becomes tang
|
::
|
||||||
:: =+ vil=(viol p.bud) :: cached reflexives
|
:: The true Arvo kernel knows who it is. It should not *maybe*
|
||||||
=+ vil=(viol p.bud) :: cached reflexives
|
:: have an identity, nor should it contain multitudes. This outer
|
||||||
=| $: lac/? :: laconic bit
|
:: kernel exists to accumulate identity, entropy, and the
|
||||||
eny/@ :: entropy
|
:: standard library. Upon having done so, it upgrades itself into
|
||||||
|
:: the true Arvo kernel. Subsequent upgrades will fall through
|
||||||
|
:: the larval stage directly into the actual kernel.
|
||||||
|
::
|
||||||
|
:: For convenience, this larval stage also supports hoon compilation
|
||||||
|
:: with +wish and vane installation with the %veer event.
|
||||||
|
::
|
||||||
|
=/ pit=vase !>(..is)
|
||||||
|
=| $: :: who: our identity once we know it
|
||||||
|
:: eny: entropy once we learn it
|
||||||
|
:: bod: %zuse once we receive it
|
||||||
|
::
|
||||||
|
who=(unit ship)
|
||||||
|
eny=(unit @)
|
||||||
|
bod=(unit vase)
|
||||||
|
==
|
||||||
|
:: larval Arvo structural interface
|
||||||
|
::
|
||||||
|
|%
|
||||||
|
++ come ^come :: 22
|
||||||
|
++ load ^load :: 46
|
||||||
|
++ peek |=(* ~) :: 47
|
||||||
|
::
|
||||||
|
++ poke |= * :: 10
|
||||||
|
^- [(list ovum) *]
|
||||||
|
=> .(+< ((hard ,[now=@da ovo=ovum]) +<))
|
||||||
|
^- [(list ovum) *]
|
||||||
|
=. +>.$
|
||||||
|
?+ -.q.ovo
|
||||||
|
:: ignore unrecognized
|
||||||
|
::
|
||||||
|
~& [%larval-ignore p.ovo -.q.ovo]
|
||||||
|
+>.$
|
||||||
|
:: install %zuse or vane
|
||||||
|
::
|
||||||
|
%veer
|
||||||
|
^+ +>.$
|
||||||
|
:: use the maximum comet if we don't know who we are yet
|
||||||
|
::
|
||||||
|
=/ our
|
||||||
|
?^ who
|
||||||
|
u.who
|
||||||
|
=/ fip=ship (dec (bex 128))
|
||||||
|
~>(%slog.[0 leaf+"arvo: larval identity {(scow %p fip)}"] fip)
|
||||||
|
=. ..veer (veer our now q.ovo)
|
||||||
|
+>.$(bod ?^(bod bod `bud.^poke))
|
||||||
|
:: add entropy
|
||||||
|
::
|
||||||
|
%wack
|
||||||
|
^+ +>.$
|
||||||
|
?> ?=(@ q.q.ovo)
|
||||||
|
+>.$(eny `q.q.ovo)
|
||||||
|
:: become who you were born to be
|
||||||
|
::
|
||||||
|
%whom
|
||||||
|
^+ +>.$
|
||||||
|
?> ?=(@ q.q.ovo)
|
||||||
|
+>.$(who `q.q.ovo)
|
||||||
|
==
|
||||||
|
:: upgrade once we've accumulated identity, entropy, and %zuse
|
||||||
|
::
|
||||||
|
?. &(?=(^ who) ?=(^ eny) ?=(^ bod))
|
||||||
|
[~ +>.$]
|
||||||
|
~> %slog.[0 leaf+"arvo: metamorphosis"]
|
||||||
|
=/ nyf
|
||||||
|
(turn vanes.^poke |=([label=@tas =vane] [label vase.vane]))
|
||||||
|
(load u.who now u.eny ova=~ u.bod nyf)
|
||||||
|
::
|
||||||
|
++ wish |= txt=* :: 4
|
||||||
|
?> ?=(@ txt)
|
||||||
|
q:(slap ?~(bod pit u.bod) (ream txt))
|
||||||
|
--
|
||||||
|
::
|
||||||
|
:: persistent arvo state
|
||||||
|
::
|
||||||
|
=/ pit=vase !>(..is) ::
|
||||||
|
=/ vil=vile (viol p.pit) :: cached reflexives
|
||||||
|
=| $: lac=? :: laconic bit
|
||||||
|
eny=@ :: entropy
|
||||||
|
our=ship :: identity
|
||||||
|
bud=vase :: %zuse
|
||||||
vanes=(list [label=@tas =vane]) :: modules
|
vanes=(list [label=@tas =vane]) :: modules
|
||||||
== ::
|
== ::
|
||||||
=< |%
|
=< :: Arvo structural interface
|
||||||
++ come |= {@ (list ovum) pone} :: 22
|
::
|
||||||
|
|%
|
||||||
|
++ come |= {@ @ @ (list ovum) vise pone} :: 22
|
||||||
^- {(list ovum) _+>}
|
^- {(list ovum) _+>}
|
||||||
~& %hoon-come
|
~& %hoon-come
|
||||||
=^ rey +>+ (^come +<)
|
=^ rey +>+ (^come +<)
|
||||||
[rey +>.$]
|
[rey +>.$]
|
||||||
++ load |= {@ (list ovum) pane} :: 46
|
::
|
||||||
|
++ load |= {@ @ @ (list ovum) vase pane} :: 46
|
||||||
^- {(list ovum) _+>}
|
^- {(list ovum) _+>}
|
||||||
~& %hoon-load
|
~& %hoon-load
|
||||||
=^ rey +>+ (^load +<)
|
=^ rey +>+ (^load +<)
|
||||||
[rey +>.$]
|
[rey +>.$]
|
||||||
|
::
|
||||||
++ peek |=(* (^peek ((hard {@da path}) +<))) :: 47
|
++ peek |=(* (^peek ((hard {@da path}) +<))) :: 47
|
||||||
|
::
|
||||||
++ poke |= * :: 10
|
++ poke |= * :: 10
|
||||||
^- {(list ovum) *}
|
^- [(list ovum) *]
|
||||||
=> .(+< ((hard {now/@da ovo/ovum}) +<))
|
=> .(+< ((hard ,[now=@da ovo=ovum]) +<))
|
||||||
?: =(%verb -.q.ovo)
|
=^ ova +>+.$ (^poke now ovo)
|
||||||
[~ +>.$(lac !lac)]
|
|- ^- [(list ovum) *]
|
||||||
?: ?=($veer -.q.ovo)
|
|
||||||
[~ +>.$(+ (veer now q.ovo))]
|
|
||||||
=^ ova +>+ (^poke now ovo)
|
|
||||||
|- ^- {(list ovum) *}
|
|
||||||
?~ ova
|
?~ ova
|
||||||
[~ +>.^$]
|
[~ +>.^$]
|
||||||
?: ?=($verb -.q.i.ova)
|
:: upgrade the kernel
|
||||||
$(ova t.ova, lac !lac)
|
::
|
||||||
?: ?=($veer -.q.i.ova)
|
?: ?=(%vega -.q.i.ova)
|
||||||
$(ova t.ova, +>+.^$ (veer now q.i.ova))
|
|
||||||
?: ?=($vega -.q.i.ova)
|
|
||||||
%+ fall
|
%+ fall
|
||||||
(vega now t.ova (path +<.q.i.ova) (path +>.q.i.ova))
|
(vega now t.ova ({@ @} +.q.i.ova))
|
||||||
[~ +>.^$]
|
[~ +>.^$]
|
||||||
?: ?=($mass -.q.i.ova)
|
:: iterate over effects, handling those on arvo proper
|
||||||
=+ avo=$(ova t.ova)
|
:: and passing the rest through as output
|
||||||
:_ +.avo
|
::
|
||||||
:_ -.avo
|
=^ vov +>+.^$ (feck now i.ova)
|
||||||
%= i.ova
|
?~ vov
|
||||||
q.q
|
$(ova t.ova)
|
||||||
:- %userspace
|
=/ avo $(ova t.ova)
|
||||||
:- %|
|
[[+.vov -.avo] +.avo]
|
||||||
:~ hoon+`pit
|
::
|
||||||
zuse+`bud
|
|
||||||
:: hoon-cache+`p.niz
|
|
||||||
q.q.i.ova
|
|
||||||
dot+`.
|
|
||||||
==
|
|
||||||
==
|
|
||||||
=+(avo=$(ova t.ova) [[i.ova -.avo] +.avo])
|
|
||||||
++ wish |=(* (^wish ((hard @ta) +<))) :: 4
|
++ wish |=(* (^wish ((hard @ta) +<))) :: 4
|
||||||
--
|
--
|
||||||
|
:: Arvo implementation core
|
||||||
|
::
|
||||||
|%
|
|%
|
||||||
++ come :: load incompatible
|
++ come :: load incompatible
|
||||||
|= {yen/@ ova/(list ovum) nyf/pone}
|
|= [who=ship now=@da yen=@ ova=(list ovum) dub=vise nyf=pone]
|
||||||
^+ [ova +>]
|
^+ [ova +>]
|
||||||
(load yen ova (turn nyf |=({a/@tas b/vise} [a (slim b)])))
|
=/ fyn (turn nyf |=([a=@tas b=vise] [a (slim b)]))
|
||||||
|
(load who now yen ova (slim dub) fyn)
|
||||||
::
|
::
|
||||||
++ load :: load compatible
|
++ load :: load compatible
|
||||||
|= {yen/@ ova/(list ovum) nyf/pane}
|
|= [who=ship now=@da yen=@ ova=(list ovum) dub=vase nyf=pane]
|
||||||
^+ [ova +>]
|
^+ [ova +>]
|
||||||
=: eny yen
|
=: our who
|
||||||
|
eny yen
|
||||||
|
bud dub
|
||||||
vanes (turn nyf |=({a/@tas b/vise} [a [b *worm]]))
|
vanes (turn nyf |=({a/@tas b/vise} [a [b *worm]]))
|
||||||
==
|
==
|
||||||
|- ^+ [ova +>.^$]
|
|- ^- [(list ovum) _+>.^$]
|
||||||
?~ ova
|
?~ ova
|
||||||
[~ +>.^$]
|
[~ +>.^$]
|
||||||
?: ?=($verb -.q.i.ova)
|
:: iterate over effects, handling those on arvo proper
|
||||||
$(ova t.ova, lac !lac)
|
:: and passing the rest through as output
|
||||||
?: ?=($veer -.q.i.ova)
|
::
|
||||||
$(ova t.ova, +>.^$ (veer *@da q.i.ova))
|
:: In practice, the pending effects after an upgrade
|
||||||
=+(avo=$(ova t.ova) [[i.ova -.avo] +.avo])
|
:: are the %veer moves to install %zuse and the vanes.
|
||||||
|
::
|
||||||
|
=^ vov +>.^$ (feck now i.ova)
|
||||||
|
?~ vov
|
||||||
|
$(ova t.ova)
|
||||||
|
=/ avo $(ova t.ova)
|
||||||
|
[[+.vov -.avo] +.avo]
|
||||||
::
|
::
|
||||||
++ peek :: external inspect
|
++ peek :: external inspect
|
||||||
|= {now/@da hap/path}
|
|= {now/@da hap/path}
|
||||||
^- (unit)
|
^- (unit)
|
||||||
?~ hap [~ hoon-version]
|
?~ hap [~ hoon-version]
|
||||||
=+ rob=((sloy ~(beck (is vil eny bud vanes) now)) [151 %noun] hap)
|
=+ rob=((sloy ~(beck (is our vil eny bud vanes) now)) [151 %noun] hap)
|
||||||
?~ rob ~
|
?~ rob ~
|
||||||
?~ u.rob ~
|
?~ u.rob ~
|
||||||
[~ u.u.rob]
|
[~ u.u.rob]
|
||||||
::
|
::
|
||||||
++ poke :: external apply
|
++ poke :: external apply
|
||||||
|= {now/@da ovo/ovum}
|
|= [now=@da ovo=ovum]
|
||||||
=. eny (mix eny (shaz now))
|
=. eny (mix eny (shaz now))
|
||||||
:: ~& [%poke -.q.ovo]
|
^- [(list ovum) _+>.$]
|
||||||
^- {(list ovum) _+>}
|
::
|
||||||
|
:: These external events are actually effects on arvo proper.
|
||||||
|
:: They can also be produced as the effects of other events.
|
||||||
|
:: In either case, they fall through here to be handled
|
||||||
|
:: after the fact in +feck.
|
||||||
|
::
|
||||||
|
?: ?=(?(%veer %verb %wack) -.q.ovo)
|
||||||
|
[[ovo ~] +>.$]
|
||||||
|
::
|
||||||
=^ zef vanes
|
=^ zef vanes
|
||||||
(~(hurl (is vil eny bud vanes) now) lac ovo)
|
(~(hurl (is our vil eny bud vanes) now) lac ovo)
|
||||||
[zef +>.$]
|
[zef +>.$]
|
||||||
::
|
:: +feck: handle an arvo effect
|
||||||
++ veke :: build new kernel
|
|
||||||
|= {now/@da hap/path zup/path}
|
|
||||||
^- *
|
|
||||||
=- ?:(?=(%& -.res) p.res ((slog p.res) ~))
|
|
||||||
^= res %- mule |.
|
|
||||||
=/ pax (weld hap /hoon)
|
|
||||||
=/ wax (weld zup /hoon)
|
|
||||||
~& [%vega-start-hoon hap]
|
|
||||||
=/ src ((hard @t) (need (peek now cx+pax)))
|
|
||||||
=/ arv ((hard @t) (need (peek now cx+wax)))
|
|
||||||
:: construct =>(hoon =>(+7 arvo))
|
|
||||||
::
|
|
||||||
=/ gen=hoon
|
|
||||||
:+ %tsbn (rain hap src)
|
|
||||||
:+ %tsld (rain zup arv)
|
|
||||||
[%$ 7]
|
|
||||||
~& %vega-parsed
|
|
||||||
=/ fol q:(~(mint ut %noun) %noun gen)
|
|
||||||
~& %vega-compiled
|
|
||||||
:: evaluate :fol to produce the Arvo gate,
|
|
||||||
:: then produce the Arvo core at +7
|
|
||||||
::
|
|
||||||
.*(0 [%7 fol %0 7])
|
|
||||||
::
|
::
|
||||||
|
++ feck
|
||||||
|
|= [now=@da ovo=ovum]
|
||||||
|
^- [(unit ovum) _+>.$]
|
||||||
|
?+ -.q.ovo
|
||||||
|
:: pass through unrecognized effect
|
||||||
|
::
|
||||||
|
[[~ ovo] +>.$]
|
||||||
|
:: toggle event verbose event printfs
|
||||||
|
::
|
||||||
|
%verb
|
||||||
|
[~ +>.$(lac !lac)]
|
||||||
|
:: install %zuse or vane
|
||||||
|
::
|
||||||
|
%veer
|
||||||
|
[~ (veer our now q.ovo)]
|
||||||
|
:: add data to memory profile
|
||||||
|
::
|
||||||
|
%mass
|
||||||
|
=. q.q.ovo
|
||||||
|
:- %userspace
|
||||||
|
:- %|
|
||||||
|
:~ hoon+`pit
|
||||||
|
zuse+`bud
|
||||||
|
:: hoon-cache+`p.niz
|
||||||
|
q.q.ovo
|
||||||
|
dot+`.
|
||||||
|
==
|
||||||
|
[[~ ovo] +>.$]
|
||||||
|
:: add entropy
|
||||||
|
::
|
||||||
|
%wack
|
||||||
|
?> ?=(@ q.q.ovo)
|
||||||
|
=. eny (mix eny (shaz q.q.ovo))
|
||||||
|
[~ +>.$]
|
||||||
|
==
|
||||||
|
::
|
||||||
++ vega :: reboot kernel
|
++ vega :: reboot kernel
|
||||||
|= {now/@da ova/(list ovum) hap/path zup/path}
|
|= $: :: now: current date
|
||||||
^- (unit {p/(list ovum) q/*})
|
:: ova: actions to process after reboot
|
||||||
|
:: hun: hoon.hoon source
|
||||||
|
:: arv: arvo.hoon source
|
||||||
|
::
|
||||||
|
now=@da
|
||||||
|
ova=(list ovum)
|
||||||
|
hun=@t
|
||||||
|
van=@t
|
||||||
|
==
|
||||||
|
^- (unit (pair (list ovum) *))
|
||||||
|
:: virtualize; dump error if we fail
|
||||||
|
::
|
||||||
=- ?:(?=(%| -.res) ((slog p.res) ~) `p.res)
|
=- ?:(?=(%| -.res) ((slog p.res) ~) `p.res)
|
||||||
^= res %- mule |.
|
^= res %- mule |.
|
||||||
=/ ken (veke now hap zup)
|
:: produce a new kernel and an effect list
|
||||||
~& [%vega-kernel `@ux`(mug ken)]
|
::
|
||||||
|
^- (pair (list ovum) *)
|
||||||
|
:: compile the hoon.hoon source with the current compiler
|
||||||
|
::
|
||||||
|
=/ raw
|
||||||
|
~& [%hoon-compile `@p`(mug hun)]
|
||||||
|
(ride %noun hun)
|
||||||
|
:: activate the new compiler gate, producing +ride
|
||||||
|
::
|
||||||
|
=/ cop .*(0 +.raw)
|
||||||
|
:: find the hoon version number of the new kernel
|
||||||
|
::
|
||||||
=/ nex
|
=/ nex
|
||||||
:: call +peek at +47
|
(@ .*(cop q:(~(mint ut p.raw) %noun [%limb %hoon-version])))
|
||||||
|
?> |(=(nex hoon-version) =(+(nex) hoon-version))
|
||||||
|
:: if we're upgrading language versions, recompile the compiler
|
||||||
|
::
|
||||||
|
:: hot: raw compiler formula
|
||||||
|
::
|
||||||
|
=> ?: =(nex hoon-version)
|
||||||
|
[hot=`*`raw .]
|
||||||
|
~& [%hoon-compile-upgrade nex]
|
||||||
|
=/ hot
|
||||||
|
.*(cop [%9 2 %10 [6 %1 [%noun hun]] %0 1])
|
||||||
|
.(cop .*(0 +.hot))
|
||||||
|
:: extract the hoon core from the outer gate (+ride)
|
||||||
|
::
|
||||||
|
=/ hoc .*(cop [%0 7])
|
||||||
|
:: compute the type of the hoon.hoon core
|
||||||
|
::
|
||||||
|
=/ hyp
|
||||||
|
-:.*(cop [%9 2 %10 [6 %1 [-.hot '+>']] %0 1])
|
||||||
|
:: compile arvo
|
||||||
|
::
|
||||||
|
=/ rav
|
||||||
|
~& [%arvo-compile `@p`(mug hyp) `@p`(mug van)]
|
||||||
|
.*(cop [%9 2 %10 [6 %1 [hyp van]] %0 1])
|
||||||
|
:: activate arvo, and extract the arvo core from the outer gate
|
||||||
|
::
|
||||||
|
=/ voc .*(hoc [%7 +.rav %0 7])
|
||||||
|
:: entry gate: ++load for the normal case, ++come for upgrade
|
||||||
|
::
|
||||||
|
=/ gat
|
||||||
|
=/ arm ?:(=(nex hoon-version) 'load' 'come')
|
||||||
|
:: compute the type of the arvo.hoon core
|
||||||
::
|
::
|
||||||
%- need
|
=/ vip -:.*(cop [%9 2 %10 [6 %1 [-.rav '+>']] %0 1])
|
||||||
%- (hard (unit @))
|
:: compute the formula for the upgrade gate
|
||||||
.*(ken [%9 2 %10 [6 %1 now ~] [%9 47 %0 1]])
|
::
|
||||||
~& [%vega-compiled hoon-version nex]
|
=/ fol +:.*(cop [%9 2 %10 [6 %1 [vip arm]] %0 1])
|
||||||
?> (lte nex hoon-version)
|
:: produce the upgrade gate
|
||||||
:: entropy, pending effects, vanes
|
::
|
||||||
|
.*(voc fol)
|
||||||
|
:: upgrade gate sample
|
||||||
::
|
::
|
||||||
=/ sam
|
=/ sam
|
||||||
:+ eny ova
|
:* our
|
||||||
(turn vanes |=([label=@tas =vane] [label vase.vane]))
|
now
|
||||||
:: +load at +46 or +come at +22
|
eny
|
||||||
|
ova
|
||||||
|
bud
|
||||||
|
(turn vanes |=([label=@tas =vane] [label vase.vane]))
|
||||||
|
==
|
||||||
|
:: call into the new kernel
|
||||||
::
|
::
|
||||||
=/ axe ?:(=(nex hoon-version) 46 22)
|
|
||||||
=/ out
|
=/ out
|
||||||
.*(ken [%9 2 %10 [6 %1 sam] [%9 axe %0 1]])
|
.*(gat [%9 2 %10 [6 %1 sam] %0 1])
|
||||||
:: add a reset notification to the pending effects
|
:: tack a reset notification onto the product
|
||||||
::
|
::
|
||||||
[[[~ %vega hap] ((list ovum) -.out)] +.out]
|
[[[/ %vega ~] ((list ovum) -.out)] +.out]
|
||||||
|
:: +veer: install %zuse or a vane
|
||||||
::
|
::
|
||||||
++ veer :: install vane/tang
|
:: Identity is in the sample so the larval stage
|
||||||
|= {now/@da fav/curd}
|
:: can use this as well.
|
||||||
|
::
|
||||||
|
++ veer
|
||||||
|
|= [who=ship now=@da fav=curd]
|
||||||
=> .(fav ((hard {$veer lal/@ta pax/path txt/@t}) fav))
|
=> .(fav ((hard {$veer lal/@ta pax/path txt/@t}) fav))
|
||||||
=- ?:(?=(%| -.res) ((slog p.res) +>.$) p.res)
|
=- ?:(?=(%| -.res) ((slog p.res) +>.$) p.res)
|
||||||
^= res %- mule |.
|
^= res %- mule |.
|
||||||
@ -677,21 +857,21 @@
|
|||||||
|- ^+ vanes
|
|- ^+ vanes
|
||||||
?~ vanes
|
?~ vanes
|
||||||
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
|
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
|
||||||
=+ vin=(vint lal.fav vil bud pax.fav txt.fav)
|
=+ vin=(vint who lal.fav vil bud pax.fav txt.fav)
|
||||||
?~ vin
|
?~ vin
|
||||||
vanes
|
vanes
|
||||||
[[lal.fav vane:u.vin] vanes]
|
[[lal.fav vane:u.vin] vanes]
|
||||||
?. =(lal.fav label.i.vanes)
|
?. =(lal.fav label.i.vanes)
|
||||||
[i.vanes $(vanes t.vanes)]
|
[i.vanes $(vanes t.vanes)]
|
||||||
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
|
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
|
||||||
:_ t.vanes
|
:_ t.vanes
|
||||||
:- label.i.vanes
|
:- label.i.vanes
|
||||||
~| [%failed-vane-activation now lal.fav]
|
~| [%failed-vane-activation now lal.fav]
|
||||||
vane:(ruck:(vent lal.fav vil bud [vase.vane.i.vanes *worm]) pax.fav txt.fav)
|
vane:(ruck:(vent who lal.fav vil bud [vase.vane.i.vanes *worm]) pax.fav txt.fav)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ wish :: external compute
|
++ wish :: external compute
|
||||||
|= txt/@
|
|= txt/@
|
||||||
q:(slap bud (ream txt))
|
q:(slap bud (ream txt))
|
||||||
--
|
--
|
||||||
|
|
||||||
|
@ -1221,7 +1221,7 @@
|
|||||||
::
|
::
|
||||||
=| $: fox=fort :: kernel state
|
=| $: fox=fort :: kernel state
|
||||||
== ::
|
== ::
|
||||||
|= [now=@da eny=@ ski=sley] :: current invocation
|
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
|
||||||
^? :: opaque core
|
^? :: opaque core
|
||||||
=<
|
=<
|
||||||
|% :: vane interface
|
|% :: vane interface
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
. ==
|
. ==
|
||||||
=| coke :: persistent state
|
=| coke :: persistent state
|
||||||
=* state - ::
|
=* state - ::
|
||||||
|= {now/@da eny/@ ski/sley} :: current invocation
|
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
|
||||||
^?
|
^?
|
||||||
|% :: poke+peek pattern
|
|% :: poke+peek pattern
|
||||||
++ call :: handle request
|
++ call :: handle request
|
||||||
|
@ -3698,7 +3698,7 @@
|
|||||||
$: $1 :: vane version
|
$: $1 :: vane version
|
||||||
ruf/raft :: revision tree
|
ruf/raft :: revision tree
|
||||||
== ::
|
== ::
|
||||||
|= {now/@da eny/@ ski/sley} :: activate
|
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
|
||||||
^? :: opaque core
|
^? :: opaque core
|
||||||
|% ::
|
|% ::
|
||||||
++ call :: handle request
|
++ call :: handle request
|
||||||
|
@ -53,8 +53,7 @@
|
|||||||
{$init p/ship} ::
|
{$init p/ship} ::
|
||||||
{$text p/tape} ::
|
{$text p/tape} ::
|
||||||
{$veer p/@ta q/path r/@t} :: install vane
|
{$veer p/@ta q/path r/@t} :: install vane
|
||||||
{$vega p/path q/path} :: reboot by path
|
{$vega p/@t q/@t} :: reboot by path
|
||||||
{$velo p/@t q/@t} :: reboot by path
|
|
||||||
{$verb $~} :: verbose mode
|
{$verb $~} :: verbose mode
|
||||||
== ::
|
== ::
|
||||||
++ note-eyre ::
|
++ note-eyre ::
|
||||||
@ -136,7 +135,7 @@
|
|||||||
:::::::: :: dill tiles
|
:::::::: :: dill tiles
|
||||||
--
|
--
|
||||||
=| all/axle
|
=| all/axle
|
||||||
|= {now/@da eny/@ ski/sley} :: current invocation
|
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
|
||||||
=> |%
|
=> |%
|
||||||
++ as :: per cause
|
++ as :: per cause
|
||||||
=| moz/(list move)
|
=| moz/(list move)
|
||||||
@ -162,7 +161,6 @@
|
|||||||
$heft heft
|
$heft heft
|
||||||
$veer (dump kyz)
|
$veer (dump kyz)
|
||||||
$vega (dump kyz)
|
$vega (dump kyz)
|
||||||
$velo (dump kyz)
|
|
||||||
$verb (dump kyz)
|
$verb (dump kyz)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
@ -2247,7 +2247,7 @@
|
|||||||
. ==
|
. ==
|
||||||
=| bolo
|
=| bolo
|
||||||
=* bol -
|
=* bol -
|
||||||
|= {now/@da eny/@ ski/sley} :: activate
|
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
|
||||||
^? :: opaque core
|
^? :: opaque core
|
||||||
|% ::
|
|% ::
|
||||||
++ call :: handle request
|
++ call :: handle request
|
||||||
|
@ -6070,9 +6070,10 @@
|
|||||||
:: begin with a default +axle as a blank slate
|
:: begin with a default +axle as a blank slate
|
||||||
::
|
::
|
||||||
=| ax=axle
|
=| ax=axle
|
||||||
:: a vane is activated with current date, entropy, and a namespace function
|
:: a vane is activated with identity, the current date, entropy,
|
||||||
|
:: and a namespace function
|
||||||
::
|
::
|
||||||
|= [now=@da eny=@ scry-gate=sley]
|
|= [our=ship now=@da eny=@uvJ scry-gate=sley]
|
||||||
:: allow jets to be registered within this core
|
:: allow jets to be registered within this core
|
||||||
::
|
::
|
||||||
~% %ford ..is ~
|
~% %ford ..is ~
|
||||||
|
@ -97,9 +97,10 @@
|
|||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
. ==
|
. ==
|
||||||
=| all/axle :: all vane state
|
=| all/axle :: all vane state
|
||||||
|= $: now/@da :: urban time
|
|= $: our=ship :: identity
|
||||||
eny/@uvJ :: entropy
|
now=@da :: urban time
|
||||||
ska/sley :: activate
|
eny=@uvJ :: entropy
|
||||||
|
ska=sley :: activate
|
||||||
== :: opaque core
|
== :: opaque core
|
||||||
~% %gall-top ..is ~
|
~% %gall-top ..is ~
|
||||||
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: state machine
|
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: state machine
|
||||||
|
@ -607,8 +607,8 @@
|
|||||||
$: :: now: current time
|
$: :: now: current time
|
||||||
:: eny: unique entropy
|
:: eny: unique entropy
|
||||||
::
|
::
|
||||||
now/@da
|
now=@da
|
||||||
eny/@e
|
eny=@uvJ
|
||||||
==
|
==
|
||||||
:: all vane state
|
:: all vane state
|
||||||
::
|
::
|
||||||
@ -2180,13 +2180,15 @@
|
|||||||
::
|
::
|
||||||
=| lex/state
|
=| lex/state
|
||||||
|= $: ::
|
|= $: ::
|
||||||
|
:: our: identity
|
||||||
:: now: current time
|
:: now: current time
|
||||||
:: eny: unique entropy
|
:: eny: unique entropy
|
||||||
:: ski: namespace resolver
|
:: ski: namespace resolver
|
||||||
::
|
::
|
||||||
now/@da
|
our=ship
|
||||||
eny/@e
|
now=@da
|
||||||
ski/sley
|
eny=@uvJ
|
||||||
|
ski=sley
|
||||||
==
|
==
|
||||||
|%
|
|%
|
||||||
:: :: ++call
|
:: :: ++call
|
||||||
|
@ -913,8 +913,7 @@
|
|||||||
{$mass p/mass} :: memory usage
|
{$mass p/mass} :: memory usage
|
||||||
{$send p/lane:ames q/@} :: transmit packet
|
{$send p/lane:ames q/@} :: transmit packet
|
||||||
{$veer p/@ta q/path r/@t} :: install vane
|
{$veer p/@ta q/path r/@t} :: install vane
|
||||||
{$vega p/path q/path} :: old reboot
|
{$vega p/@t q/@t} :: reboot
|
||||||
{$velo p/@t q/@t} :: reboot
|
|
||||||
{$verb ~} :: verbose mode
|
{$verb ~} :: verbose mode
|
||||||
== ::
|
== ::
|
||||||
++ task :: in request ->$
|
++ task :: in request ->$
|
||||||
@ -934,8 +933,7 @@
|
|||||||
{$talk p/tank} ::
|
{$talk p/tank} ::
|
||||||
{$text p/tape} ::
|
{$text p/tape} ::
|
||||||
{$veer p/@ta q/path r/@t} :: install vane
|
{$veer p/@ta q/path r/@t} :: install vane
|
||||||
{$vega p/path q/path} :: old reboot
|
{$vega p/@t q/@t} :: reboot
|
||||||
{$velo p/@t q/@t} :: reboot
|
|
||||||
{$verb ~} :: verbose mode
|
{$verb ~} :: verbose mode
|
||||||
== ::
|
== ::
|
||||||
-- ::able
|
-- ::able
|
||||||
@ -995,8 +993,7 @@
|
|||||||
{$heft ~} ::
|
{$heft ~} ::
|
||||||
{$text p/tape} ::
|
{$text p/tape} ::
|
||||||
{$veer p/@ta q/path r/@t} :: install vane
|
{$veer p/@ta q/path r/@t} :: install vane
|
||||||
{$vega p/path q/path} :: old reboot
|
{$vega p/@t q/@t} :: reboot
|
||||||
{$velo p/@t q/@t} :: reboot
|
|
||||||
{$verb ~} :: verbose mode
|
{$verb ~} :: verbose mode
|
||||||
== ::
|
== ::
|
||||||
-- ::dill
|
-- ::dill
|
||||||
@ -1019,8 +1016,7 @@
|
|||||||
[%thou p=httr] :: raw http response
|
[%thou p=httr] :: raw http response
|
||||||
[%thus p=@ud q=(unit hiss)] :: http request+cancel
|
[%thus p=@ud q=(unit hiss)] :: http request+cancel
|
||||||
[%veer p=@ta q=path r=@t] :: drop-through
|
[%veer p=@ta q=path r=@t] :: drop-through
|
||||||
[%vega p=path q=path] :: drop-through
|
[%vega p=@t q=@t] :: drop-through
|
||||||
[%velo p=@t q=@t] :: drop-through
|
|
||||||
== ::
|
== ::
|
||||||
+= task :: in request ->$
|
+= task :: in request ->$
|
||||||
$% [%born p=(list host)] :: new unix process
|
$% [%born p=(list host)] :: new unix process
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _ames-gate]
|
^- [tang _ames-gate]
|
||||||
::
|
::
|
||||||
=/ ames (ames-gate now=now eny=`@e`0xdead.beef scry=*sley)
|
=/ ames (ames-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley)
|
||||||
::
|
::
|
||||||
=^ moves ames-gate
|
=^ moves ames-gate
|
||||||
%- call:ames call-args
|
%- call:ames call-args
|
||||||
|
@ -463,7 +463,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate now=now eny=0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (call:clay-core call-args)
|
=^ moves clay-gate (call:clay-core call-args)
|
||||||
::
|
::
|
||||||
@ -484,7 +484,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate now=now eny=0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (call:clay-core call-args)
|
=^ moves clay-gate (call:clay-core call-args)
|
||||||
::
|
::
|
||||||
@ -502,7 +502,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate now=now eny=0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (take:clay-core take-args)
|
=^ moves clay-gate (take:clay-core take-args)
|
||||||
::
|
::
|
||||||
@ -523,7 +523,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate now=now eny=0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (take:clay-core take-args)
|
=^ moves clay-gate (take:clay-core take-args)
|
||||||
::
|
::
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
::
|
::
|
||||||
=/ test-pit=vase !>(..zuse)
|
=/ test-pit=vase !>(..zuse)
|
||||||
=/ ford-gate (ford-vane test-pit)
|
=/ ford-gate (ford-vane test-pit)
|
||||||
|
~! +6.ford-gate
|
||||||
::
|
::
|
||||||
|%
|
|%
|
||||||
++ test-tear ^- tang
|
++ test-tear ^- tang
|
||||||
@ -7260,7 +7261,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _ford-gate]
|
^- [tang _ford-gate]
|
||||||
::
|
::
|
||||||
=/ ford (ford-gate now=now eny=0xdead.beef scry=scry)
|
=/ ford (ford-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves ford-gate
|
=^ moves ford-gate
|
||||||
%- call:ford call-args
|
%- call:ford call-args
|
||||||
@ -7281,7 +7282,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _ford-gate]
|
^- [tang _ford-gate]
|
||||||
::
|
::
|
||||||
=/ ford (ford-gate now=now eny=0xdead.beef scry=scry)
|
=/ ford (ford-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves ford-gate
|
=^ moves ford-gate
|
||||||
%- take:ford take-args
|
%- take:ford take-args
|
||||||
@ -7306,7 +7307,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _ford-gate]
|
^- [tang _ford-gate]
|
||||||
::
|
::
|
||||||
=/ ford (ford-gate now=now eny=0xdead.beef scry=scry)
|
=/ ford (ford-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves ford-gate
|
=^ moves ford-gate
|
||||||
%- call:ford call-args
|
%- call:ford call-args
|
||||||
@ -7325,7 +7326,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _ford-gate]
|
^- [tang _ford-gate]
|
||||||
::
|
::
|
||||||
=/ ford (ford-gate now=now eny=0xdead.beef scry=scry)
|
=/ ford (ford-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves ford-gate
|
=^ moves ford-gate
|
||||||
%- take:ford take-args
|
%- take:ford take-args
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _jael-gate]
|
^- [tang _jael-gate]
|
||||||
::
|
::
|
||||||
=/ jael (jael-gate now=now eny=`@e`0xdead.beef scry=*sley)
|
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley)
|
||||||
::
|
::
|
||||||
=^ moves jael-gate
|
=^ moves jael-gate
|
||||||
%- call:jael call-args
|
%- call:jael call-args
|
||||||
@ -109,7 +109,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _jael-gate]
|
^- [tang _jael-gate]
|
||||||
::
|
::
|
||||||
=/ jael (jael-gate now=now eny=`@e`0xdead.beef scry=*sley)
|
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley)
|
||||||
::
|
::
|
||||||
=^ moves jael-gate
|
=^ moves jael-gate
|
||||||
%- call:jael call-args
|
%- call:jael call-args
|
||||||
@ -126,7 +126,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _jael-gate]
|
^- [tang _jael-gate]
|
||||||
::
|
::
|
||||||
=/ jael (jael-gate now=now eny=`@e`0xdead.beef scry=*sley)
|
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley)
|
||||||
::
|
::
|
||||||
=^ moves jael-gate
|
=^ moves jael-gate
|
||||||
%- take:jael take-args
|
%- take:jael take-args
|
||||||
@ -146,7 +146,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _jael-gate]
|
^- [tang _jael-gate]
|
||||||
::
|
::
|
||||||
=/ jael (jael-gate now=now eny=`@e`0xdead.beef scry=*sley)
|
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley)
|
||||||
::
|
::
|
||||||
=^ moves jael-gate
|
=^ moves jael-gate
|
||||||
%- take:jael take-args
|
%- take:jael take-args
|
||||||
|
Loading…
Reference in New Issue
Block a user