mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-13 08:38:43 +03:00
restores arvo postface, rewrites +solid and %vega compilation
This commit is contained in:
parent
c99e0469e7
commit
0645bd1790
124
gen/solid.hoon
124
gen/solid.hoon
@ -10,59 +10,85 @@
|
||||
::::
|
||||
!:
|
||||
:- %say
|
||||
|= $: {now/@da eny/@uvJ bec/beak}
|
||||
{arg/$@(~ {top/path ~}) dub/_|}
|
||||
|= $: [now=@da eny=@uvJ bec=beak]
|
||||
arg=$@(~ [top=path ~])
|
||||
dub/_|
|
||||
==
|
||||
?~ arg $(arg ~[top=`path`/(scot %p p.bec)/[q.bec]/(scot %da now)/sys])
|
||||
::
|
||||
:- %noun
|
||||
=+ pax=`path`(weld top.arg `path`[%hoon ~])
|
||||
=+ arp=`path`(weld top.arg `path`[%arvo ~])
|
||||
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
||||
::
|
||||
=/ sys=path
|
||||
?^ arg top.arg
|
||||
/(scot %p p.bec)/[q.bec]/(scot %da now)/sys
|
||||
::
|
||||
=/ compiler-path (weld sys /hoon)
|
||||
=/ arvo-path (weld sys /arvo)
|
||||
~& %solid-start
|
||||
=+ txt=.^(@t %cx (weld pax `path`[%hoon ~]))
|
||||
=+ rax=.^(@t %cx (weld arp `path`[%hoon ~]))
|
||||
=+ ^= ken
|
||||
=- ?:(?=(%& -.res) p.res (mean (flop p.res)))
|
||||
^= res %- mule |.
|
||||
~& %solid-loaded
|
||||
=+ gen=(rain pax txt)
|
||||
=/ compiler-src .^(@t %cx (weld compiler-path /hoon))
|
||||
=/ arvo-src .^(@t %cx (weld arvo-path /hoon))
|
||||
=/ arvo-formula
|
||||
=; res
|
||||
?:(?=(%& -.res) p.res (mean (flop p.res)))
|
||||
%- mule |.
|
||||
~& %solid-loaded
|
||||
=/ compiler-hoon (rain compiler-path compiler-src)
|
||||
?. dub
|
||||
:: compile arvo against hoon, with our current compiler
|
||||
::
|
||||
=/ whole-hoon=hoon
|
||||
[%tsbn compiler-hoon [%tsbn [%$ 7] (rain arvo-path arvo-src)]]
|
||||
~& %solid-parsed
|
||||
=+ one=(~(mint ut %noun) %noun gen)
|
||||
~& %solid-compiled
|
||||
?. dub
|
||||
=+ two=(~(mint ut p.one) %noun (rain arp rax))
|
||||
~& %solid-arvo
|
||||
[7 q.one q.two]
|
||||
=+ zax=(cat 3 '=> ' (cat 3 txt (cat 3 ' ' rax)))
|
||||
~& %solid-double-loading
|
||||
=+ all=.*(0 q.one)
|
||||
~& %solid-double-loaded
|
||||
=/ whole-formula q:(~(mint ut %noun) %noun whole-hoon)
|
||||
~& %solid-arvo
|
||||
whole-formula
|
||||
:: compile arvo against hoon, with a freshly compiled hoon (via +ride)
|
||||
::
|
||||
~& %solid-parsed
|
||||
=/ compiler-formula q:(~(mint ut %noun) %noun compiler-hoon)
|
||||
~& %solid-compiled
|
||||
=/ whole-src
|
||||
(rap 3 ['=> ' compiler-src '=> +7 ' arvo-src ~])
|
||||
~& %solid-double-loaded
|
||||
=/ whole-formula
|
||||
=< +
|
||||
.*(all [9 2 [0 2] [1 %noun zax] [0 7]])
|
||||
.* 0
|
||||
:+ %7
|
||||
compiler-formula
|
||||
[%9 2 %10 [6 %1 %noun whole-src] [%0 1]]
|
||||
~& %solid-double-compiled
|
||||
whole-formula
|
||||
::
|
||||
~& [%solid-kernel `@ux`(mug ken)]
|
||||
:- ken
|
||||
=+ all=.*(0 ken)
|
||||
=+ ^= vay ^- (list {p/@tas q/path})
|
||||
:~ [%$ /zuse]
|
||||
[%f /vane/ford]
|
||||
[%b /vane/behn]
|
||||
[%d /vane/dill]
|
||||
[%a /vane/ames]
|
||||
[%c /vane/clay]
|
||||
[%g /vane/gall]
|
||||
[%e /vane/eyre]
|
||||
[%j /vane/jael]
|
||||
==
|
||||
|- ^+ all
|
||||
?~ vay all
|
||||
=+ pax=(weld top.arg q.i.vay)
|
||||
=+ txt=.^(@ %cx (weld pax `path`[%hoon ~]))
|
||||
=+ sam=[now `ovum`[[%gold ~] [%veer p.i.vay pax txt]]]
|
||||
~& [%solid-veer i.vay]
|
||||
:: +poke at +10
|
||||
~& [%solid-kernel `@ux`(mug arvo-formula)]
|
||||
:: module-ova: vane load operations.
|
||||
::
|
||||
=+ gat=.*(all .*(all [0 10]))
|
||||
=+ nex=+:.*([-.gat [sam +>.gat]] -.gat)
|
||||
$(vay t.vay, all nex)
|
||||
|
||||
=/ module-ova=(list ovum)
|
||||
|^ :~ (vent %$ /zuse)
|
||||
(vent %a /vane/ames)
|
||||
(vent %b /vane/behn)
|
||||
(vent %c /vane/clay)
|
||||
(vent %d /vane/dill)
|
||||
(vent %e /vane/eyre)
|
||||
(vent %f /vane/ford)
|
||||
(vent %g /vane/gall)
|
||||
(vent %j /vane/jael)
|
||||
==
|
||||
++ vent
|
||||
|= [abr=term den=path]
|
||||
^- ovum
|
||||
=/ pax (weld sys den)
|
||||
=/ txt .^(@ %cx (weld pax /hoon))
|
||||
[[%vane den] [%veer abr pax txt]]
|
||||
--
|
||||
:: arvo with vanes installed
|
||||
::
|
||||
=/ installed
|
||||
=< q
|
||||
%^ spin
|
||||
module-ova
|
||||
.*(0 arvo-formula)
|
||||
|= [ovo=ovum ken=*]
|
||||
[~ .*(ken [%9 2 %10 [6 %1 now ovo] %0 1])]
|
||||
:: produce both the arvo-formula (for jet registration)
|
||||
:: and a kernel with the vanes already installed
|
||||
::
|
||||
[arvo-formula .*(installed [%0 7])]
|
||||
|
@ -1,7 +1,11 @@
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: Postface ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
=> +7
|
||||
~> %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"]
|
||||
-
|
||||
@ -559,14 +563,19 @@
|
||||
~& [%vega-start-hoon hap]
|
||||
=+ src=((hard @t) (need (peek now cx+pax)))
|
||||
=+ arv=((hard @t) (need (peek now cx+wax)))
|
||||
=+ gen=(rain hap src)
|
||||
:: construct =>(hoon =>(+7 arvo))
|
||||
::
|
||||
=/ gen=hoon
|
||||
:+ %tsbn (rain hap src)
|
||||
:+ %tsld (rain zup arv)
|
||||
[%$ 7]
|
||||
~& %vega-parsed
|
||||
=+ one=(~(mint ut %noun) %noun gen)
|
||||
=/ fol q:(~(mint ut %noun) %noun gen)
|
||||
~& %vega-compiled
|
||||
~& [%vega-arvo zup]
|
||||
=+ two=(~(mint ut p.one) %noun (rain zup arv))
|
||||
~& %vega-minted
|
||||
.*(0 [7 q.one q.two])
|
||||
:: evaluate :fol to produce the Arvo gate,
|
||||
:: then produce the Arvo core at +7
|
||||
::
|
||||
.*(0 [%7 fol %0 7])
|
||||
::
|
||||
++ vega :: reboot kernel
|
||||
|= {now/@da ova/(list ovum) hap/path zup/path}
|
||||
|
Loading…
Reference in New Issue
Block a user