New brass pill can do more than fake zods.

This commit is contained in:
C. Guy Yarvin 2017-06-02 17:15:43 -07:00
parent cc2356fa22
commit 55e06af4d3
3 changed files with 110 additions and 183 deletions

View File

@ -173,109 +173,56 @@
:: ::
=+ arvo-source=.^(@t %cx (welp sys /arvo/hoon)) =+ arvo-source=.^(@t %cx (welp sys /arvo/hoon))
:: ::
:: vane-moves: installation actions :: boot-ova: startup events
:: ::
=+ ^= brass-pill =+ ^= boot-ova ^- (list *)
|^ ^- (pair (list ovum) ovum) :~ boot-one
:- :: boot-two
:: vane installation events compiler-formula
compiler-source
arvo-source
==
::
:: module-ova: vane load operations.
::
=+ ^= module-ova ^- (list ovum)
|^ :~ ::
:: sys/zuse: standard library
:: ::
:~ :: (vent %$ /zuse)
:: sys/zuse: standard library
::
(vent %$ /zuse)
::
:: sys/vane/ames: network
::
(vent %a /vane/ames)
::
:: sys/vane/behn: timer
::
(vent %b /vane/behn)
::
:: sys/vane/clay: revision control
::
(vent %c /vane/clay)
::
:: sys/vane/dill: console
::
(vent %d /vane/dill)
::
:: sys/vane/eyre: web
::
(vent %e /vane/eyre)
::
:: sys/vane/ford: build
::
(vent %f /vane/ford)
::
:: sys/vane/gall: applications
::
(vent %g /vane/gall)
::
:: sys/vane/jael: security
::
(vent %j /vane/jael)
==
:: userspace ovum:
::
:: /app %gall applications
:: /gen :dojo generators
:: /lib %ford libraries
:: /mar %ford marks
:: /sur %ford structures
:: /ren %ford renderers
:: /web %eyre web content
:: /sys system files
:: /neo new system files
::
(user /app /gen /lib /mar /neo /ren /sec /sur /sys /web ~)
:: ::
++ user :: userspace loading
|= :: sal: all spurs to load from
::
sal/(list spur)
^- ovum
::
:: hav: all user files
::
=; hav ~& user-files+(lent hav)
[[%$ %sync ~] [%into %$ & hav]]
=| hav/mode:clay
|- ^+ hav
?~ sal ~
=. hav $(sal t.sal)
::
:: tyl: spur
::
=/ tyl i.sal
|- ^+ hav
::
:: pax: full path at `tyl`
:: lon: directory at `tyl`
::
=/ pax (en-beam:format bec tyl)
=/ lon .^(arch %cy pax)
=? hav ?=(^ fil.lon)
?. ?=({$hoon *} tyl)
:: ::
:: install only hoon files for now :: sys/vane/ames: network
:: ::
hav (vent %a /vane/ames)
:: ::
:: cot: file as plain-text octet-stream :: sys/vane/behn: timer
:: ::
=; cot [[(flop `path`tyl) `[/text/plain cot]] hav] (vent %b /vane/behn)
^- octs ::
?- tyl :: sys/vane/clay: revision control
{$hoon *} ::
=/ dat .^(@t %cx pax) (vent %c /vane/clay)
[(met 3 dat) dat] ::
== :: sys/vane/dill: console
=/ all (~(tap by dir.lon) ~) ::
|- ^- mode:clay (vent %d /vane/dill)
?~ all hav ::
$(all t.all, hav ^$(tyl [p.i.all tyl])) :: sys/vane/eyre: web
::
(vent %e /vane/eyre)
::
:: sys/vane/ford: build
::
(vent %f /vane/ford)
::
:: sys/vane/gall: applications
::
(vent %g /vane/gall)
::
:: sys/vane/jael: security
::
(vent %j /vane/jael)
==
:: ::
++ vent ++ vent
|= {abr/term den/path} |= {abr/term den/path}
@ -284,34 +231,64 @@
`ovum`[[%vane den] [%veer abr pax txt]] `ovum`[[%vane den] [%veer abr pax txt]]
-- --
:: ::
:: main-events: full events with advancing times :: file-ovum: userspace filesystem load
:: ::
=. now ~2017.3.1 =+ ^= file-ovum ^- ovum
=+ ^= main-events ::
|- ^- (list (pair @da ovum)) :: /app %gall applications
?~ main-moves ~ :: /gen :dojo generators
:- [now i.main-moves] :: /lib %ford libraries
$(main-moves t.main-moves, now (add now (bex 48))) :: /mar %ford marks
:: /sur %ford structures
:: /ren %ford renderers
:: /web %eyre web content
:: /sys system files
:: /neo new system files
::
%. [/app /gen /lib /mar /neo /ren /sec /sur /sys /web ~]
|= :: sal: all spurs to load from
::
sal/(list spur)
^- ovum
::
:: hav: all user files
::
=; hav ~& user-files+(lent hav)
[[%$ %sync ~] [%into %$ & hav]]
=| hav/mode:clay
|- ^+ hav
?~ sal ~
=. hav $(sal t.sal)
::
:: tyl: spur
::
=/ tyl i.sal
|- ^+ hav
::
:: pax: full path at `tyl`
:: lon: directory at `tyl`
::
=/ pax (en-beam:format bec tyl)
=/ lon .^(arch %cy pax)
=? hav ?=(^ fil.lon)
?. ?=({$hoon *} tyl)
::
:: install only hoon files for now
::
hav
::
:: cot: file as plain-text octet-stream
::
=; cot [[(flop `path`tyl) `[/text/plain cot]] hav]
^- octs
?- tyl
{$hoon *}
=/ dat .^(@t %cx pax)
[(met 3 dat) dat]
==
=/ all (~(tap by dir.lon) ~)
|- ^- mode:clay
?~ all hav
$(all t.all, hav ^$(tyl [p.i.all tyl]))
:: ::
~? try [boot-ova module-ova file-ovum]
~& %metal-testing
=+ ^= yop
^- @p
%- mug
.* :* boot-one
boot-two
compiler-formula
compiler-source
arvo-source
main-events
==
[2 [0 3] [0 2]]
[%metal-tested yop]
::
:* boot-one
boot-two
compiler-formula
compiler-source
arvo-source
main-events
==

View File

@ -128,7 +128,7 @@
$per (lead -.gen %.(+.gen dubs)) $per (lead -.gen %.(+.gen dubs))
$sip (lead -.gen %.(+.gen (quad tora noop expr expr))) $sip (lead -.gen %.(+.gen (quad tora noop expr expr)))
$pin (lead -.gen %.(+.gen dubs)) $pin (lead -.gen %.(+.gen dubs))
$tow (lead -.gen %.(+.gen moar)) $tow (lead -.gen %.(+.gen moar))
$aka (lead -.gen %.(+.gen trip)) $aka (lead -.gen %.(+.gen trip))
$use (lead -.gen %.(+.gen dubs)) $use (lead -.gen %.(+.gen dubs))
$or (lead -.gen %.(+.gen moar)) $or (lead -.gen %.(+.gen moar))
@ -176,6 +176,10 @@
|* {sem/@tas out/{* life}} |* {sem/@tas out/{* life}}
[[sem -.out] +.out] [[sem -.out] +.out]
:: ::
++ lede
|* {sem/@tas out/{* life}}
[`twig`[sem -.out] +.out]
::
++ moan ++ moan
(moto nexp) (moto nexp)
:: ::

View File

@ -8111,60 +8111,6 @@
{* * *} [dov $(dom l.dom) $(dom r.dom)] {* * *} [dov $(dom l.dom) $(dom r.dom)]
== ==
-- --
::
:: mean: adapt by reference
::
++ mean
|= ref/span
=| $: :: ret:
::
re
=| ret/(set (pair span span))
=| wad/(list term)
=< sint
|%
++ dext
?- sut
$void
!!
$noun
!!
{$atom *}
!!
{$cell *}
!!
{$core *}
!!
{$face *}
!!
{$fork *}
!!
{$help *}
!!
{$hold *}
==
::
++ sint
?- ref
$noun
sut
$void
sut
$
==
?: (~(has in gil) [sut ref]) &
%= dext
sut repo
seg (~(put in seg) sut)
gil (~(put in gil) [sut ref])
== ==
?- -.sut
|- ^- span
++ meet |=(ref/span &((nest | ref) (nest(sut ref) | sut))) ++ meet |=(ref/span &((nest | ref) (nest(sut ref) | sut)))
++ mite |=(ref/span |((nest | ref) (nest(sut ref) & sut))) ++ mite |=(ref/span |((nest | ref) (nest(sut ref) & sut)))
++ nest ++ nest