mirror of
https://github.com/urbit/shrub.git
synced 2025-01-06 04:07:23 +03:00
neo: userspace builds
This commit is contained in:
parent
545f01587f
commit
f631e915ae
@ -166,7 +166,7 @@
|
||||
%. *(list card)
|
||||
?~ q.ack
|
||||
same
|
||||
(slog leaf/"nack on sys" u.q.ack)
|
||||
(mean leaf/"nack on sys" u.q.ack)
|
||||
=/ src=name:neo (de-pith:name:neo p.p.ack)
|
||||
=/ =wire nack/(pout p.p.ack)
|
||||
(do-poke-her wire ship.src neo-ack+!>(ack))^~
|
||||
@ -557,7 +557,9 @@
|
||||
=+ !<([cac=(unit vase) *] q.pail)
|
||||
cac
|
||||
++ built
|
||||
!=(~ (~(peek plow:aux loam) pith))
|
||||
~& built/pith
|
||||
=- ~&(- -)
|
||||
!=(~ (~(peek plow:aux loam) p/our.bowl pith))
|
||||
++ pith
|
||||
`pith:neo`(pave:neo path)
|
||||
++ path
|
||||
@ -587,6 +589,7 @@
|
||||
(need ref)
|
||||
::
|
||||
++ copy-clay
|
||||
!.
|
||||
~> %bout.[1 %build]
|
||||
|^ ^+ run
|
||||
=/ paths=(list path)
|
||||
@ -640,6 +643,7 @@
|
||||
?& (levy pro.file |=(pro:ford ~(built pro stud)))
|
||||
(levy lib.file |=(lib:ford ~(built lib loc)))
|
||||
==
|
||||
~| imports/file
|
||||
?> built-imports
|
||||
=^ pre=pith run
|
||||
(make-prelude pax file)
|
||||
@ -663,10 +667,7 @@
|
||||
^+ run
|
||||
?~ lis
|
||||
run
|
||||
=/ pat
|
||||
~(path lib i.lis)
|
||||
?> ?=(^ pat)
|
||||
=. run (read-file %src t.pat)
|
||||
=. run (read-file %src ~(path lib i.lis))
|
||||
$(lis t.lis)
|
||||
++ do-make
|
||||
|= [=pith:neo lib=term sta=(unit vase) =conf:neo]
|
||||
@ -763,8 +764,8 @@
|
||||
=. run (make-riff-slap #/out/std/imp/ford-slap reef txt-ford-slap)
|
||||
=. run (re-export reef %json !,(*hoon json))
|
||||
=. run (re-export reef %mime !,(*hoon mime))
|
||||
:: =. run copy-clay
|
||||
=. run (emit %pass /bind-site %arvo %e %connect [~ dap.bowl ~] dap.bowl)
|
||||
=. run copy-clay
|
||||
:: =. run (emit %pass /bind-site %arvo %e %connect [~ dap.bowl ~] dap.bowl)
|
||||
(emit do-std-warp)
|
||||
++ clay-beak ^- path
|
||||
/(scot %p our.bowl)/[q.byk.bowl]/(scot %da now.bowl)
|
||||
@ -833,7 +834,7 @@
|
||||
|= [=pith riff=vase]
|
||||
^+ run
|
||||
=. pith [p/our.bowl pith]
|
||||
(emit (do-card pith %make %ford-riff `!>([`riff ~]) ~))
|
||||
(on-card pith %make %ford-riff `!>([`riff ~]) ~)
|
||||
--
|
||||
:: +arvo: local callstack
|
||||
++ arvo
|
||||
@ -1066,7 +1067,9 @@
|
||||
|= [src=stud:neo init=(unit vase) =crew:neo]
|
||||
=/ =wave:neo [src ~(slip husk src) crew]
|
||||
=. tide (~(put of:neo tide) here wave)
|
||||
work
|
||||
=^ cards=(list card:neo) arvo
|
||||
(soft-surf |.(su-abet:(su-make:surf init)))
|
||||
(ingest cards)
|
||||
:: ?: ~(is-plot husk src)
|
||||
:: ~| %cant-make-plot-w-init
|
||||
:: ?> ?=(~ init)
|
||||
@ -1104,10 +1107,15 @@
|
||||
su-deps
|
||||
su-kids
|
||||
==
|
||||
++ su-icon
|
||||
[p.p q.q ~ ~]:su-saga
|
||||
++ su-saga
|
||||
(dall:aux (lexe:aux (~(peek till:aux [loam farm]) %x [p/our.bowl here])) *saga:neo)
|
||||
++ su-kids
|
||||
=- ((slog (epic:dbug:neo -) ~) -)
|
||||
=/ kids kids:kook
|
||||
%- gas-epic
|
||||
=/ child (need (need (~(peek till:aux [loam farm]) %y [p/our.bowl here])))
|
||||
=/ child (dall:aux (~(peek till:aux [loam farm]) %y [p/our.bowl here]) *epic:neo)
|
||||
%+ murn ~(tap by ~(tar of:neo child))
|
||||
|= [=pith:neo =saga:neo]
|
||||
^- (unit [pith:neo saga:neo])
|
||||
@ -1115,6 +1123,7 @@
|
||||
~
|
||||
`[pith u.ion]
|
||||
++ su-deps
|
||||
=- ((slog (deps:dbug:neo -) ~) -)
|
||||
%- ~(gas by *(map term [pith epic:neo]))
|
||||
^- (list [term pith epic:neo])
|
||||
%+ murn ~(tap by deps:kook)
|
||||
@ -1127,17 +1136,19 @@
|
||||
~
|
||||
=/ =name:neo (de-pith:name:neo u.dep)
|
||||
=/ =care:neo (get-care:quay:neo quay)
|
||||
~& dep/[term name care]
|
||||
=/ =epic:neo (moor quay name)
|
||||
%- (slog term (epic:dbug:neo epic) ~)
|
||||
`[term u.dep epic]
|
||||
::
|
||||
++ su-form ~(. form:kook su-bowl)
|
||||
++ su-form ~(. form:kook [su-bowl su-icon])
|
||||
++ su-abet :: TODO: bump
|
||||
=. tide (~(put of:neo tide) here wave)
|
||||
[cards arvo]
|
||||
++ su-make
|
||||
|= init=(unit vase)
|
||||
=/ [cards=(list card:neo) new=vase]
|
||||
(init:form:kook init)
|
||||
(init:su-form init)
|
||||
=. su-core (su-emil cards)
|
||||
(su-grow new)
|
||||
++ su-grow
|
||||
@ -1181,6 +1192,9 @@
|
||||
^- epic:neo
|
||||
=/ =care:neo (get-care:quay:neo want)
|
||||
=/ =epic:neo (need (need (~(peek till:aux [loam farm]) care (en-pith:name:neo name))))
|
||||
%- (slog leaf/"mooring" (epic:dbug:neo epic) ~)
|
||||
=. epic (~(dip of:neo epic) (en-pith:name:neo name))
|
||||
%- (slog leaf/"mooring" (epic:dbug:neo epic) ~)
|
||||
%- gas-epic
|
||||
^- (list (pair pith:neo saga:neo))
|
||||
%+ murn ~(tap by ~(tar of:neo epic))
|
||||
|
@ -1,7 +1,46 @@
|
||||
/- neo
|
||||
:: Layer 1
|
||||
=>
|
||||
=>
|
||||
=/ verb &
|
||||
|%
|
||||
++ lexe
|
||||
|= res=(unit (unit epic:neo))
|
||||
^- (unit (unit saga:neo))
|
||||
?: ?=($@(~ [~ ~]) res)
|
||||
res
|
||||
?~ fil.u.u.res
|
||||
[~ ~]
|
||||
``u.fil.u.u.res
|
||||
++ dall
|
||||
|* [res=(unit (unit)) def=*]
|
||||
?~ res
|
||||
def
|
||||
?~ u.res
|
||||
def
|
||||
u.u.res
|
||||
::
|
||||
++ trace
|
||||
|= [info=tape =tang]
|
||||
?. verb
|
||||
same
|
||||
%. [leaf/"neo: {info}" tang]
|
||||
%* . slog
|
||||
pri 3
|
||||
==
|
||||
++ print-card
|
||||
|= =card:dirt:neo
|
||||
:- leaf/(en-tape:pith:neo p.card)
|
||||
?- -.q.card
|
||||
%grow
|
||||
:~ leaf/"%grow"
|
||||
?: (is-stud:ford:neo p.pail.q.card)
|
||||
leaf/"ford build"
|
||||
(sell q.pail.q.card)
|
||||
==
|
||||
%cull
|
||||
~[leaf/"%cull"]
|
||||
==
|
||||
|
||||
:: +nail: convert $over to $ever
|
||||
++ nail
|
||||
|= [=over:neo =plot:neo =case:neo]
|
||||
@ -182,6 +221,7 @@
|
||||
|= =card:dirt:neo
|
||||
^- (quip gift:dirt:neo _loam)
|
||||
=/ lom (~(dip of:neo loam) p.card)
|
||||
%- (trace "call" (print-card card))
|
||||
=^ gifts=(list [case:neo ?]) lom
|
||||
?- -.q.card
|
||||
%grow (~(grow plow lom) +.q.card)
|
||||
@ -293,20 +333,21 @@
|
||||
~
|
||||
=; =once:neo
|
||||
(look care once pith)
|
||||
~& peek/[care pith]
|
||||
?+ care !!
|
||||
%x
|
||||
?~ ove=(ram:on:land:neo land.u.val)
|
||||
!!
|
||||
x/0
|
||||
x/key.u.ove
|
||||
::
|
||||
%y
|
||||
?~ ove=(ram:on:tend:neo by-kids.plot.u.val)
|
||||
!!
|
||||
y/0
|
||||
y/key.u.ove
|
||||
::
|
||||
%z
|
||||
?~ ove=(ram:on:tend:neo by-desc.plot.u.val)
|
||||
!!
|
||||
z/0
|
||||
z/key.u.ove
|
||||
==
|
||||
::
|
||||
|
@ -28,7 +28,8 @@
|
||||
::
|
||||
++ link-entry
|
||||
::
|
||||
|= [pax=pith =pail:neo]
|
||||
|= [pax=pith =saga:neo]
|
||||
=/ =pail:neo q.saga
|
||||
=/ tape (trip !<(@t q.pail))
|
||||
=/ subject-end (fall (find [10]~ tape) 56)
|
||||
=/ subject (scag subject-end tape)
|
||||
@ -54,7 +55,7 @@
|
||||
;+ form-put-entry
|
||||
;*
|
||||
%+ turn
|
||||
%+ sort ~(tap by kids.bowl)
|
||||
%+ sort ~(tap by ~(tar of:neo kids.bowl))
|
||||
|= [a=[=pith *] b=[=pith *]]
|
||||
(gth ->.pith.a ->.pith.b)
|
||||
link-entry
|
||||
|
@ -653,8 +653,8 @@
|
||||
|
||||
++ have
|
||||
|= vax=vase
|
||||
=/ fim=(unit firm:neo)
|
||||
(mole |.(!<(firm:neo vax)))
|
||||
=/ fim=(unit kook:neo)
|
||||
(mole |.(!<(kook:neo vax)))
|
||||
?> ?=(^ fim)
|
||||
;div.p2.fc.g2
|
||||
;h4: Shrub implementation
|
||||
|
@ -4,7 +4,7 @@
|
||||
|= =bowl:neo
|
||||
|^
|
||||
shell
|
||||
++ kids ~(tap by kids.bowl)
|
||||
++ kids ~(tap by ~(tar of:neo kids.bowl))
|
||||
++ id
|
||||
^- tape
|
||||
%- zing
|
||||
@ -241,10 +241,10 @@
|
||||
;*
|
||||
%+ turn order.t
|
||||
|= =pith
|
||||
=/ kid (~(get by kids.bowl) pith)
|
||||
=/ kid (~(get of:neo kids.bowl) pith)
|
||||
?~ kid
|
||||
;div: does not exist {(en-tape:pith:neo pith)}
|
||||
(part-kid [pith (need kid)])
|
||||
(part-kid [pith q.u.kid])
|
||||
::;*
|
||||
::=/ orphans
|
||||
:: %+ skim kids
|
||||
|
@ -1,23 +1,24 @@
|
||||
^- plot:neo
|
||||
=>
|
||||
|%
|
||||
++ get-dep
|
||||
|= =bowl:neo
|
||||
|= sid=?(%a %b)
|
||||
^- @ud
|
||||
!<(@ud q.pail.q:(~(got by deps.bowl) sid))
|
||||
--
|
||||
|%
|
||||
++ state %atom
|
||||
++ kids *kids:neo
|
||||
++ deps
|
||||
%- ~(gas by *deps:neo)
|
||||
:~ [%a & [%atom %sig] ~]
|
||||
[%b & [%atom %sig] ~]
|
||||
==
|
||||
++ farm
|
||||
|= =bowl:neo
|
||||
^- vase
|
||||
=/ get (get-dep bowl)
|
||||
!>((add (get %a) (get %b)))
|
||||
--
|
||||
^- kook:neo
|
||||
*kook:neo
|
||||
::=>
|
||||
:: |%
|
||||
:: ++ get-dep
|
||||
:: |= =bowl:neo
|
||||
:: |= sid=?(%a %b)
|
||||
:: ^- @ud
|
||||
:: !<(@ud q.q:(need fil.q:(~(got by deps.bowl) sid)))
|
||||
:: --
|
||||
::|%
|
||||
::++ state %atom
|
||||
::++ kids *kids:neo
|
||||
::++ deps
|
||||
:: %- ~(gas by *deps:neo)
|
||||
:: :~ [%a & [%atom %sig] ~]
|
||||
:: [%b & [%atom %sig] ~]
|
||||
:: ==
|
||||
::++ farm
|
||||
:: |= =bowl:neo
|
||||
:: ^- vase
|
||||
:: =/ get (get-dep bowl)
|
||||
:: !>((add (get %a) (get %b)))
|
||||
::--
|
||||
|
@ -5,17 +5,19 @@
|
||||
=>
|
||||
|%
|
||||
++ card card:neo
|
||||
++ get-chat-ax
|
||||
|= =bowl:neo
|
||||
^- epic:neo
|
||||
q:(~(got by deps.bowl) %src)
|
||||
++ get-chat
|
||||
|= =bowl:neo
|
||||
^- chat
|
||||
=/ dep=cane:neo q:(~(got by deps.bowl) %src)
|
||||
!<(chat q.pail.dep)
|
||||
!<(chat q.q:(need fil:(get-chat-ax bowl)))
|
||||
++ get-message
|
||||
|= [=bowl:neo id=@da]
|
||||
^- message
|
||||
=/ pit=pith:neo ~[%messages da/id]
|
||||
=/ dep=cane:neo q:(~(got by deps.bowl) %src)
|
||||
=/ msg=pail:neo pail:(~(got by kids.dep) pit)
|
||||
=/ dep=epic:neo q:(~(got by deps.bowl) %src)
|
||||
=/ msg=pail:neo q:(~(got of:neo dep) pit)
|
||||
!<(message q.msg)
|
||||
--
|
||||
^- kook:neo
|
||||
@ -73,11 +75,10 @@
|
||||
?~ old *chat-link
|
||||
!<(chat-link u.old)
|
||||
=. chat.sta (get-chat bowl)
|
||||
=/ =cane:neo q:(~(got by deps.bowl) %src)
|
||||
:_ !>(sta)
|
||||
~& init/kids.cane
|
||||
%+ murn ~(tap by kids.cane)
|
||||
|= [=pith [=ever:neo =pail:neo]]
|
||||
=/ kids ~(tap of:neo (get-chat-ax bowl))
|
||||
%+ murn kids
|
||||
|= [=pith =saga:neo]
|
||||
^- (unit card)
|
||||
~
|
||||
--
|
||||
|
@ -2,7 +2,7 @@
|
||||
/@ chat-diff
|
||||
/@ chat
|
||||
/@ sig
|
||||
/- _/thing
|
||||
:: /- _/thing
|
||||
=>
|
||||
|%
|
||||
++ state chat
|
||||
@ -57,7 +57,7 @@
|
||||
%msg :_(sta (add-message bowl message.poke)^~)
|
||||
%custom :_(sta (add-msg bowl [stud vase]:poke)^~)
|
||||
==
|
||||
%- (slog leaf/"debug" (turn ~(val by kids.bowl) |=(p=pail:neo (sell q.p))))
|
||||
%- (slog leaf/"debug" (turn ~(val by ~(tar of:neo kids.bowl)) |=(=saga:neo (sell q.q.saga))))
|
||||
[cards !>(sta)]
|
||||
++ init
|
||||
|= old=(unit vase)
|
||||
|
@ -17,7 +17,7 @@
|
||||
?> =(%clay-res stud)
|
||||
=+ !<(=res:clay:neo vax)
|
||||
:_ state
|
||||
%+ murn ~(tap of files.res)
|
||||
%+ murn ~(tap axol-of:neo files.res)
|
||||
|= [=path =cage]
|
||||
^- (unit card)
|
||||
?. =(%mime p.cage)
|
||||
|
@ -3,7 +3,7 @@
|
||||
++ get-dep
|
||||
|= =bowl:neo
|
||||
^- @ud
|
||||
!<(@ud q.pail.q:(~(got by deps.bowl) %a))
|
||||
!<(@ud q.q:(need fil.q:(~(got by deps.bowl) %a)))
|
||||
--
|
||||
|%
|
||||
++ state %atom
|
||||
|
@ -5,7 +5,7 @@
|
||||
|%
|
||||
++ check-perms
|
||||
|= =bowl:neo
|
||||
=+ !<(=circle q.pail.q:(~(got by deps.bowl) %acl))
|
||||
=+ !<(=circle q.q:(need fil.q:(~(got by deps.bowl) %acl)))
|
||||
(~(has in circle) ship.src.bowl)
|
||||
--
|
||||
|%
|
||||
|
@ -8,7 +8,7 @@
|
||||
++ get-msg
|
||||
|= =bowl:neo
|
||||
^- vase
|
||||
q.pail.q:(~(got by deps.bowl) %src)
|
||||
q.q:(need fil.q:(~(got by deps.bowl) %src))
|
||||
::
|
||||
--
|
||||
^- kook:neo
|
||||
|
@ -10,9 +10,9 @@
|
||||
|= [=bowl:neo =ship]
|
||||
^- (unit kind)
|
||||
=/ =pith #/pals/[p/ship]
|
||||
?~ kid=(~(get by kids.bowl) pith)
|
||||
?~ kid=(~(get of:neo kids.bowl) pith)
|
||||
~
|
||||
=+ !<(child=pal-type q.u.kid)
|
||||
=+ !<(child=pal-type q.q.u.kid)
|
||||
`type.child
|
||||
++ her-hey
|
||||
|= kin=(unit kind)
|
||||
|
@ -35,10 +35,10 @@
|
||||
:-
|
||||
[(welp [p/our.bowl]~ pith.diff) %make %task `!>(this) ~]
|
||||
%- zing
|
||||
%+ turn ~(tap by kids.bowl)
|
||||
|= [=pith =pail:neo]
|
||||
%+ turn ~(tap by ~(tar of:neo kids.bowl))
|
||||
|= [=pith =saga:neo]
|
||||
:~
|
||||
[:(welp [p/our.bowl]~ pith.diff pith) %make %task `q.pail ~]
|
||||
[:(welp [p/our.bowl]~ pith.diff pith) %make %task `q.q.saga ~]
|
||||
[(welp here.bowl pith) %poke %task-diff !>([%prayer (welp pith.diff pith)])]
|
||||
==
|
||||
::
|
||||
|
@ -1,7 +1,6 @@
|
||||
=>
|
||||
|%
|
||||
++ card card:neo
|
||||
+$ state [cache=(unit vase) ~]
|
||||
++ wrap-firm
|
||||
|= vax=vase
|
||||
^- vase
|
||||
|
@ -375,7 +375,7 @@
|
||||
==
|
||||
:: +sell: pretty-print a vase to a tank using +deal.
|
||||
::
|
||||
++ sell
|
||||
++ a-sell
|
||||
~/ %sell
|
||||
|= vax=vase
|
||||
^- tank
|
||||
@ -962,7 +962,8 @@
|
||||
++ get-output
|
||||
|= [=bowl =term]
|
||||
^- (unit vase)
|
||||
=/ outer q.q:(~(got of q:(~(got by deps.bowl) term)) /)
|
||||
=/ [=pith =epic] (~(got by deps.bowl) term)
|
||||
=/ outer q.q:(need fil.epic)
|
||||
=+ !<([vax=(unit vase) *] outer)
|
||||
vax
|
||||
::
|
||||
@ -1311,8 +1312,8 @@
|
||||
~
|
||||
`[+.i.pith t.pith]
|
||||
--
|
||||
++ axol ^axal
|
||||
++ axol-of ^of
|
||||
++ axol axal:..zuse
|
||||
++ axol-of of:..zuse
|
||||
++ axal
|
||||
|$ [item]
|
||||
[fil=(unit item) kid=(map iota $)]
|
||||
@ -1685,6 +1686,7 @@
|
||||
+$ ewer (pair stud vase)
|
||||
+$ vial (pair stud *)
|
||||
+$ move (pair pith card)
|
||||
::
|
||||
+$ icon
|
||||
$: =ever
|
||||
state=vase
|
||||
@ -1755,6 +1757,22 @@
|
||||
deps=(map term (pair pith epic))
|
||||
kids=epic
|
||||
==
|
||||
++ dbug
|
||||
|%
|
||||
++ bowl
|
||||
|= =^bowl
|
||||
^- tank
|
||||
=/ bol bowl(kids ~, deps ~)
|
||||
>bol<
|
||||
++ epic
|
||||
|= =^epic
|
||||
^- tank
|
||||
>~(key by ~(tar of epic))<
|
||||
++ deps
|
||||
|= deps=(map term (pair pith ^epic))
|
||||
=- (sell !>(-))
|
||||
(turn ~(tap by deps) |=([=term =pith e=^epic] [term pith]))
|
||||
--
|
||||
++ quay
|
||||
=< quay
|
||||
|%
|
||||
|
Loading…
Reference in New Issue
Block a user