Merge pull request #915 from urbit/single-home

single-home arvo
This commit is contained in:
Joe Bryan 2018-12-06 19:22:56 -05:00 committed by GitHub
commit 7283353bce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 354 additions and 208 deletions

View File

@ -1 +1 @@
https://ci-piers.urbit.org/zod-ab9780105496cd2e35de2a523c4f4a55a70b42ca.tgz
https://ci-piers.urbit.org/zod-6a1f32bb1984fa9329c072de09ba67b212c8dbed.tgz

View File

@ -1 +1 @@
cfca39542f64c9dbdd45468a4ae96e602d6be989
65ce838b26f64311e73410512d83898b081873db

View File

@ -3,7 +3,7 @@
:: :: ::
/? 310 :: version
/- sole, hall
[. sole]
/+ pill
:: :: ::
:::: :: ::
:: :: ::
@ -13,8 +13,8 @@
$: hoc/(map bone session) :: consoles
== ::
++ session ::
$: say/sole-share :: console state
mud/(unit (sole-dialog @ud)) :: console dialog
$: say/sole-share:sole :: console state
mud/(unit (sole-dialog:sole @ud)) :: console dialog
== ::
:: :: ::
:::: :: ::
@ -155,55 +155,23 @@
=+ way=?:(zus (welp top /sys/[nam]) (welp top /sys/vane/[nam]))
=+ fil=.^(@ %cx (welp way /hoon))
[%flog /reload [%veer ?:(=('z' tip) %$ tip) way fil]]
:: +poke-reset: send %vega to reboot kernel
::
++ poke-reset :: reset system
|= hood-reset =< abet
%- 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]
:: And reinstall %zuse and the vanes.
:: Trigger with |reset.
::
++ poke-meset :: reset system (new)
|= hood-reset =< abet
%- emil
%- flop ^- (list card)
=+ top=`path`/(scot %p our)/home/(scot %da now)/sys
=+ hun=.^(@ %cx (welp top /hoon/hoon))
=+ arv=.^(@ %cx (welp top /arvo/hoon))
:- [%flog /reset [%velo `@t`hun `@t`arv]]
:- =+ way=(weld top `path`/zuse)
[%flog /reset %veer %$ way .^(@ %cx (welp way /hoon))]
++ poke-reset
|= hood-reset
=< abet
%- emil %- flop
^- (list card)
=/ top=path /(scot %p our)/home/(scot %da now)/sys
=/ hun .^(@ %cx (welp top /hoon/hoon))
=/ arv .^(@ %cx (welp top /arvo/hoon))
:- [%flog /reset [%vega `@t`hun `@t`arv]]
%+ turn
^- (list {p/@tas q/@tas})
:~ [%a %ames]
[%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]
(module-ova:pill top)
|=(a=[wire flog:dill] [%flog a])
::
++ poke-verb :: toggle verbose
|= ~ =< abet

View File

@ -7,7 +7,7 @@
::
++ module-ova
|= sys=path
^- (list ovum)
^- (list [wire [%veer term path cord]])
%+ turn
^- (list (pair term path))
:~ :: sys/zuse: standard library
@ -39,7 +39,6 @@
[%j /vane/jael]
==
|= [=term =path]
^- ovum
=/ pax (weld sys path)
=/ txt .^(@ %cx (weld pax /hoon))
[[%vane path] [%veer term pax txt]]

View File

@ -1,14 +1,21 @@
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::: :::::: 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-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 ::::::
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ -125,7 +132,7 @@
?.(&(?=(@ a) ((sane %tas) a)) %$ a)
::
++ vent :: vane core
|= [lal=@tas vil=vile bud=vase =vane]
|= [who=ship lal=@tas vil=vile bud=vase =vane]
~% %vent +>+ ~
|%
++ ruck :: update vase
@ -164,7 +171,7 @@
:: reset cache and add in vane activation entry
::
=^ 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
::
=^ fun worm.vane (~(slap wa worm.vane) rig [%limb %scry])
@ -177,7 +184,7 @@
|= {now/@da eny/@ ski/slyd}
=^ rig worm.vane
~| [%failed-vane-activation-for lal]
(~(slym wa worm.vane) vase.vane +<) :: activate vane
(~(slym wa worm.vane) vase.vane [who +<]) :: activate vane
~% %wink +>+> ~
|%
++ slid
@ -343,7 +350,7 @@
^- vase
?: &(=(-.q.vase.vane -.q.sev) =(+>.q.vase.vane +>.q.sev))
vase.vane :: unchanged, use old
sev(+<.q [*@da *@ =>(~ |~(* ~))]) :: clear to stop leak
sev(+<.q [*@p *@da *@ =>(~ |~(* ~))]) :: clear to stop leak
::
++ swim
~/ %swim
@ -381,13 +388,19 @@
--
::
++ 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 %- mule |.
~| [%failed-vint lal]
=+ gen=(rain pax txt)
~& [%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)]
prime:pro
::
@ -402,7 +415,7 @@
==
::
++ 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
++ beck
^- slyd
@ -415,7 +428,7 @@
?~ vanes ~
?. =(lal label.i.vanes) $(vanes t.vanes)
~| [%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]
::
++ dink :: vase by char
@ -454,7 +467,7 @@
++ race :: take
|= {org/@tas lal/@tas pux/(unit wire) hen/duct hil/mill =vane}
^- [p=(list move) q=_vane]
=+ ven=(vent lal vil bud vane)
=+ ven=(vent who lal vil bud vane)
~| [%failed-take lal]
=+ win=(wink:ven now (shax now) beck)
(swim:win org pux hen hil)
@ -513,157 +526,324 @@
$(ova (weld p.nyx ova), mor (weld q.nyx t.mor))
--
--
=+ pit=`vase`!>(.) ::
=+ bud=pit :: becomes tang
:: =+ vil=(viol p.bud) :: cached reflexives
=+ vil=(viol p.bud) :: cached reflexives
=| $: lac/? :: laconic bit
eny/@ :: entropy
=< :: Arvo larval stage
::
:: The true Arvo kernel knows who it is. It should not *maybe*
:: have an identity, nor should it contain multitudes. This outer
:: kernel exists to accumulate identity, entropy, and the
:: 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
== ::
=< |%
++ come |= {@ (list ovum) pone} :: 22
=< :: Arvo structural interface
::
|%
++ come |= {@ @ @ (list ovum) vise pone} :: 22
^- {(list ovum) _+>}
~& %hoon-come
=^ rey +>+ (^come +<)
[rey +>.$]
++ load |= {@ (list ovum) pane} :: 46
::
++ load |= {@ @ @ (list ovum) vase pane} :: 46
^- {(list ovum) _+>}
~& %hoon-load
=^ rey +>+ (^load +<)
[rey +>.$]
::
++ peek |=(* (^peek ((hard {@da path}) +<))) :: 47
::
++ poke |= * :: 10
^- {(list ovum) *}
=> .(+< ((hard {now/@da ovo/ovum}) +<))
?: =(%verb -.q.ovo)
[~ +>.$(lac !lac)]
?: ?=($veer -.q.ovo)
[~ +>.$(+ (veer now q.ovo))]
=^ ova +>+ (^poke now ovo)
|- ^- {(list ovum) *}
^- [(list ovum) *]
=> .(+< ((hard ,[now=@da ovo=ovum]) +<))
=^ ova +>+.$ (^poke now ovo)
|- ^- [(list ovum) *]
?~ ova
[~ +>.^$]
?: ?=($verb -.q.i.ova)
$(ova t.ova, lac !lac)
?: ?=($veer -.q.i.ova)
$(ova t.ova, +>+.^$ (veer now q.i.ova))
?: ?=($vega -.q.i.ova)
:: upgrade the kernel
::
?: ?=(%vega -.q.i.ova)
%+ fall
(vega now t.ova (path +<.q.i.ova) (path +>.q.i.ova))
(vega now t.ova ({@ @} +.q.i.ova))
[~ +>.^$]
?: ?=($mass -.q.i.ova)
=+ avo=$(ova t.ova)
:_ +.avo
:_ -.avo
%= i.ova
q.q
:- %userspace
:- %|
:~ hoon+`pit
zuse+`bud
:: hoon-cache+`p.niz
q.q.i.ova
dot+`.
==
==
=+(avo=$(ova t.ova) [[i.ova -.avo] +.avo])
:: iterate over effects, handling those on arvo proper
:: and passing the rest through as output
::
=^ vov +>+.^$ (feck now i.ova)
?~ vov
$(ova t.ova)
=/ avo $(ova t.ova)
[[+.vov -.avo] +.avo]
::
++ wish |=(* (^wish ((hard @ta) +<))) :: 4
--
:: Arvo implementation core
::
|%
++ come :: load incompatible
|= {yen/@ ova/(list ovum) nyf/pone}
|= [who=ship now=@da yen=@ ova=(list ovum) dub=vise nyf=pone]
^+ [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
|= {yen/@ ova/(list ovum) nyf/pane}
|= [who=ship now=@da yen=@ ova=(list ovum) dub=vase nyf=pane]
^+ [ova +>]
=: eny yen
=: our who
eny yen
bud dub
vanes (turn nyf |=({a/@tas b/vise} [a [b *worm]]))
==
|- ^+ [ova +>.^$]
|- ^- [(list ovum) _+>.^$]
?~ ova
[~ +>.^$]
?: ?=($verb -.q.i.ova)
$(ova t.ova, lac !lac)
?: ?=($veer -.q.i.ova)
$(ova t.ova, +>.^$ (veer *@da q.i.ova))
=+(avo=$(ova t.ova) [[i.ova -.avo] +.avo])
:: iterate over effects, handling those on arvo proper
:: and passing the rest through as output
::
:: In practice, the pending effects after an upgrade
:: 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
|= {now/@da hap/path}
^- (unit)
?~ 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 ~
?~ u.rob ~
[~ u.u.rob]
::
++ poke :: external apply
|= {now/@da ovo/ovum}
|= [now=@da ovo=ovum]
=. 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
(~(hurl (is vil eny bud vanes) now) lac ovo)
(~(hurl (is our vil eny bud vanes) now) lac ovo)
[zef +>.$]
::
++ 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: handle an arvo effect
::
++ 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
|= {now/@da ova/(list ovum) hap/path zup/path}
^- (unit {p/(list ovum) q/*})
|= $: :: now: current date
:: 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 %- mule |.
=/ ken (veke now hap zup)
~& [%vega-kernel `@ux`(mug ken)]
:: produce a new kernel and an effect list
::
^- (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
:: 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
%- (hard (unit @))
.*(ken [%9 2 %10 [6 %1 now ~] [%9 47 %0 1]])
~& [%vega-compiled hoon-version nex]
?> (lte nex hoon-version)
:: entropy, pending effects, vanes
=/ vip -:.*(cop [%9 2 %10 [6 %1 [-.rav '+>']] %0 1])
:: compute the formula for the upgrade gate
::
=/ fol +:.*(cop [%9 2 %10 [6 %1 [vip arm]] %0 1])
:: produce the upgrade gate
::
.*(voc fol)
:: upgrade gate sample
::
=/ sam
:+ eny ova
(turn vanes |=([label=@tas =vane] [label vase.vane]))
:: +load at +46 or +come at +22
:* our
now
eny
ova
bud
(turn vanes |=([label=@tas =vane] [label vase.vane]))
==
:: call into the new kernel
::
=/ axe ?:(=(nex hoon-version) 46 22)
=/ out
.*(ken [%9 2 %10 [6 %1 sam] [%9 axe %0 1]])
:: add a reset notification to the pending effects
.*(gat [%9 2 %10 [6 %1 sam] %0 1])
:: 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
|= {now/@da fav/curd}
:: Identity is in the sample so the larval stage
:: can use this as well.
::
++ veer
|= [who=ship now=@da fav=curd]
=> .(fav ((hard {$veer lal/@ta pax/path txt/@t}) fav))
=- ?:(?=(%| -.res) ((slog p.res) +>.$) p.res)
^= res %- mule |.
@ -677,21 +857,21 @@
|- ^+ vanes
?~ vanes
~& [%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
vanes
[[lal.fav vane:u.vin] vanes]
?. =(lal.fav label.i.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
:- label.i.vanes
~| [%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
|= txt/@
|= txt/@
q:(slap bud (ream txt))
--

View File

@ -1221,7 +1221,7 @@
::
=| $: fox=fort :: kernel state
== ::
|= [now=@da eny=@ ski=sley] :: current invocation
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
^? :: opaque core
=<
|% :: vane interface

View File

@ -147,7 +147,7 @@
. ==
=| coke :: persistent state
=* state - ::
|= {now/@da eny/@ ski/sley} :: current invocation
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
^?
|% :: poke+peek pattern
++ call :: handle request

View File

@ -3698,7 +3698,7 @@
$: $1 :: vane version
ruf/raft :: revision tree
== ::
|= {now/@da eny/@ ski/sley} :: activate
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
^? :: opaque core
|% ::
++ call :: handle request

View File

@ -53,8 +53,7 @@
{$init p/ship} ::
{$text p/tape} ::
{$veer p/@ta q/path r/@t} :: install vane
{$vega p/path q/path} :: reboot by path
{$velo p/@t q/@t} :: reboot by path
{$vega p/@t q/@t} :: reboot by path
{$verb $~} :: verbose mode
== ::
++ note-eyre ::
@ -136,7 +135,7 @@
:::::::: :: dill tiles
--
=| all/axle
|= {now/@da eny/@ ski/sley} :: current invocation
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
=> |%
++ as :: per cause
=| moz/(list move)
@ -162,7 +161,6 @@
$heft heft
$veer (dump kyz)
$vega (dump kyz)
$velo (dump kyz)
$verb (dump kyz)
==
::

View File

@ -2247,7 +2247,7 @@
. ==
=| bolo
=* bol -
|= {now/@da eny/@ ski/sley} :: activate
|= [our=ship now=@da eny=@uvJ ski=sley] :: current invocation
^? :: opaque core
|% ::
++ call :: handle request

View File

@ -6070,9 +6070,10 @@
:: begin with a default +axle as a blank slate
::
=| 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
::
~% %ford ..is ~

View File

@ -97,9 +97,10 @@
::::::::::::::::::::::::::::::::::::::::::::::::::::::
. ==
=| all/axle :: all vane state
|= $: now/@da :: urban time
eny/@uvJ :: entropy
ska/sley :: activate
|= $: our=ship :: identity
now=@da :: urban time
eny=@uvJ :: entropy
ska=sley :: activate
== :: opaque core
~% %gall-top ..is ~
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: state machine

View File

@ -607,8 +607,8 @@
$: :: now: current time
:: eny: unique entropy
::
now/@da
eny/@e
now=@da
eny=@uvJ
==
:: all vane state
::
@ -2180,13 +2180,15 @@
::
=| lex/state
|= $: ::
:: our: identity
:: now: current time
:: eny: unique entropy
:: ski: namespace resolver
::
now/@da
eny/@e
ski/sley
our=ship
now=@da
eny=@uvJ
ski=sley
==
|%
:: :: ++call

View File

@ -913,8 +913,7 @@
{$mass p/mass} :: memory usage
{$send p/lane:ames q/@} :: transmit packet
{$veer p/@ta q/path r/@t} :: install vane
{$vega p/path q/path} :: old reboot
{$velo p/@t q/@t} :: reboot
{$vega p/@t q/@t} :: reboot
{$verb ~} :: verbose mode
== ::
++ task :: in request ->$
@ -934,8 +933,7 @@
{$talk p/tank} ::
{$text p/tape} ::
{$veer p/@ta q/path r/@t} :: install vane
{$vega p/path q/path} :: old reboot
{$velo p/@t q/@t} :: reboot
{$vega p/@t q/@t} :: reboot
{$verb ~} :: verbose mode
== ::
-- ::able
@ -995,8 +993,7 @@
{$heft ~} ::
{$text p/tape} ::
{$veer p/@ta q/path r/@t} :: install vane
{$vega p/path q/path} :: old reboot
{$velo p/@t q/@t} :: reboot
{$vega p/@t q/@t} :: reboot
{$verb ~} :: verbose mode
== ::
-- ::dill
@ -1019,8 +1016,7 @@
[%thou p=httr] :: raw http response
[%thus p=@ud q=(unit hiss)] :: http request+cancel
[%veer p=@ta q=path r=@t] :: drop-through
[%vega p=path q=path] :: drop-through
[%velo p=@t q=@t] :: drop-through
[%vega p=@t q=@t] :: drop-through
== ::
+= task :: in request ->$
$% [%born p=(list host)] :: new unix process

View File

@ -33,7 +33,7 @@
==
^- [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
%- call:ames call-args

View File

@ -463,7 +463,7 @@
==
^- [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)
::
@ -484,7 +484,7 @@
==
^- [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)
::
@ -502,7 +502,7 @@
==
^- [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)
::
@ -523,7 +523,7 @@
==
^- [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)
::

View File

@ -14,6 +14,7 @@
::
=/ test-pit=vase !>(..zuse)
=/ ford-gate (ford-vane test-pit)
~! +6.ford-gate
::
|%
++ test-tear ^- tang
@ -7260,7 +7261,7 @@
==
^- [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
%- call:ford call-args
@ -7281,7 +7282,7 @@
==
^- [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
%- take:ford take-args
@ -7306,7 +7307,7 @@
==
^- [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
%- call:ford call-args
@ -7325,7 +7326,7 @@
==
^- [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
%- take:ford take-args

View File

@ -89,7 +89,7 @@
==
^- [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
%- call:jael call-args
@ -109,7 +109,7 @@
==
^- [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
%- call:jael call-args
@ -126,7 +126,7 @@
==
^- [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
%- take:jael take-args
@ -146,7 +146,7 @@
==
^- [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
%- take:jael take-args