mirror of
https://github.com/urbit/shrub.git
synced 2024-12-14 20:02:51 +03:00
Builds literal schematics
This commit is contained in:
parent
6adf5b8652
commit
90238aee31
@ -19,7 +19,7 @@
|
||||
++ test-call
|
||||
~& %test-call
|
||||
%- expect-eq !>
|
||||
:- ~
|
||||
:- [duct=~ %give %made now %complete %result %$ %noun !>(**)]~
|
||||
=- -.-
|
||||
%- call:(ford-turbo)
|
||||
:* duct=~
|
||||
|
@ -816,13 +816,67 @@
|
||||
:: +ev: per-event core
|
||||
::
|
||||
++ ev
|
||||
|_ [[our=@p now=@da scry=sley] =ford-state]
|
||||
|_ [[our=@p =duct now=@da scry=sley] =ford-state]
|
||||
:: +build: perform a fresh +build, either live or once
|
||||
::
|
||||
++ build
|
||||
++ start-build
|
||||
|= [=schematic date=(unit @da)]
|
||||
^- [(list move) ^ford-state]
|
||||
[~ ford-state]
|
||||
::
|
||||
?~ date
|
||||
(execute [now schematic] live=&)
|
||||
(execute [u.date schematic] live=|)
|
||||
::
|
||||
++ execute
|
||||
|= [=build live=?]
|
||||
^- [moves=(list move) ^ford-state]
|
||||
:: TODO this is only a dummy; fill in state mutation logic
|
||||
(make build)
|
||||
::
|
||||
++ make
|
||||
|= =build
|
||||
^- [(list move) ^ford-state]
|
||||
|^
|
||||
?- -.schematic.build
|
||||
^ !!
|
||||
%$ (literal literal.schematic.build)
|
||||
::
|
||||
%alts !!
|
||||
%bake !!
|
||||
%bunt !!
|
||||
%call !!
|
||||
%cast !!
|
||||
%core !!
|
||||
%dude !!
|
||||
%file !!
|
||||
%hood !!
|
||||
%path !!
|
||||
%plan !!
|
||||
%reef !!
|
||||
%ride !!
|
||||
%slit !!
|
||||
%slim !!
|
||||
%scry !!
|
||||
%vale !!
|
||||
%volt !!
|
||||
::
|
||||
:: clay diff and merge operations
|
||||
::
|
||||
%diff !!
|
||||
%join !!
|
||||
%mash !!
|
||||
%mute !!
|
||||
%pact !!
|
||||
==
|
||||
++ literal
|
||||
|= =cage
|
||||
^- [(list move) ^ford-state]
|
||||
:_ ford-state
|
||||
:_ ~
|
||||
^- move
|
||||
:- duct
|
||||
[%give %made date.build result=[%complete [%result [%$ cage]]]]
|
||||
--
|
||||
++ rebuild !!
|
||||
++ unblock !!
|
||||
++ cancel !!
|
||||
@ -871,8 +925,8 @@
|
||||
:: with the new :ship-state and produce it along with :moves.
|
||||
::
|
||||
=^ ship-state state-by-ship (find-or-create-ship-state our.task)
|
||||
=* event-args [[our.task now scry] ship-state]
|
||||
=* build-func ~(build ev event-args)
|
||||
=* event-args [[our.task duct now scry] ship-state]
|
||||
=* build-func ~(start-build ev event-args)
|
||||
=^ moves ship-state (build-func schematic.task date.task)
|
||||
=. state-by-ship (~(put by state-by-ship) our.task ship-state)
|
||||
::
|
||||
|
Loading…
Reference in New Issue
Block a user