mirror of
https://github.com/urbit/shrub.git
synced 2024-12-15 04:22:48 +03:00
a0d290abc7
Conflicts: urb/urbit.pill urb/zod/arvo/ford.hoon urb/zod/main/bin/begin.hoon
130 lines
5.7 KiB
Plaintext
130 lines
5.7 KiB
Plaintext
!: :: %gall, user-level extension
|
|
!? 164
|
|
::::
|
|
|= pit=vase
|
|
^- vane
|
|
=> =~
|
|
|% :: structures
|
|
++ axle :: all %gall state
|
|
$: ven=%0 ::
|
|
own=(map ship yawl) :: apps by ship
|
|
tad=(map duct task) :: tasks by duct
|
|
== ::
|
|
++ bone ,@ud :: opaque duct
|
|
++ moan
|
|
++ seat :: living app
|
|
$: hiv=vase :: the hive
|
|
eny=@ :: entropy
|
|
now=@da :: hive time
|
|
tik=@ud :: pokes computed
|
|
zud=bone :: opaque duct
|
|
zos=(map bone hen) :: duct table
|
|
wok=(unit ,@ud) :: awaiting / next
|
|
vey=(qeu ,[p=@da q=move]) :: blocked queue
|
|
== ::
|
|
++ yawl :: apps by ship
|
|
$: bus=(map term seat) :: apps by name
|
|
== ::
|
|
++ hawk ::
|
|
$% [%call p=bone q=wire r=card] :: advance card
|
|
[%give p=bone q=card] :: produce card
|
|
[%play p=bone q=card] :: revisit card
|
|
[%lose p=bone] :: tear down duct
|
|
== ::
|
|
++ hide :: engine state
|
|
$: own=[p=ship q=@tas] :: static identity
|
|
^= seq :: dynamic sequence
|
|
$: num=@ud :: change number
|
|
eny=@ :: entropy
|
|
now=@da :: date
|
|
== == ::
|
|
++ hive :: typed engine
|
|
$_ ^? ::
|
|
|_ hide ::
|
|
++ pack vase :: save as bag
|
|
++ poke :: apply
|
|
|+ $: kyz=(unit (set keel)) :: authorizers
|
|
tea=wire :: internal position
|
|
fav=card :: present event
|
|
== ::
|
|
[*(list hawk) +>] :: effects
|
|
++ peek :: view
|
|
|+ $: kyz=(unit (set keel)) :: inspectors
|
|
asp=? :: desired aspect
|
|
tea=wire :: internal position
|
|
== ::
|
|
[*?(%view %diff) *vase] ::
|
|
++ prep :: restore from bag
|
|
|+ bux=vase ::
|
|
+> ::
|
|
== ::
|
|
--
|
|
|%
|
|
++ ye :: per event
|
|
=| $: $: $: wru=(unit writ) :: event authority
|
|
tea=wire :: event place
|
|
hen=duct :: event floor
|
|
fav=card :: event data
|
|
== ::
|
|
$: now=@da :: event date
|
|
eny=@ :: unique entropy
|
|
ska=$+(* (unit (unit))) :: system namespace
|
|
== ::
|
|
mow=(list move) :: pending actions
|
|
== ::
|
|
axle :: all vane state
|
|
== ::
|
|
=* lex ->
|
|
|%
|
|
++ abet
|
|
^- [(list move) axle]
|
|
[(flop mow) lex]
|
|
. ==
|
|
=| axle
|
|
=* lex -
|
|
|= [now=@da eny=@ sky=$+(* (unit))] :: activate
|
|
^? :: opaque core
|
|
|% ::
|
|
++ beat :: process move
|
|
|= [wru=(unit writ) tea=wire hen=duct fav=curd]
|
|
=> .(fav ((hard card) fav))
|
|
^- [p=(list move) q=vane]
|
|
?> ?=(
|
|
=+ ^= kul ^- (unit keel)
|
|
?: |(?=(%
|
|
=^ mos lex
|
|
abet:apex:~(adit ye [[wru tea hen fav] [now eny sky] ~] lex)
|
|
[mos ..^$]
|
|
::
|
|
++ come
|
|
|= [sam=? old=vase]
|
|
^- vane
|
|
(load old)
|
|
::
|
|
++ doze
|
|
|= [now=@da hen=duct]
|
|
^- (unit ,@da)
|
|
~
|
|
::
|
|
++ load
|
|
|= old=vase
|
|
^- vane
|
|
?. (~(nest ut -:!>(`axle`+>-.^$)) | p.old)
|
|
~& %eyre-reset
|
|
..^$
|
|
..^$(+>- (axle q.old))
|
|
::
|
|
++ raze
|
|
^- vane
|
|
..$(+>- *axle)
|
|
::
|
|
++ scry
|
|
|= [our=ship ren=@tas who=ship syd=disc lot=coin tyl=path]
|
|
^- (unit)
|
|
~
|
|
::
|
|
++ stay
|
|
`vase`!>((colt `axle`+>-.$))
|
|
++ vern [164 0]
|
|
--
|