mirror of
https://github.com/urbit/shrub.git
synced 2024-12-30 07:35:19 +03:00
47 lines
826 B
Plaintext
47 lines
826 B
Plaintext
/+ default-agent, verb
|
|
%+ verb |
|
|
^- agent:gall
|
|
=>
|
|
|%
|
|
++ goad
|
|
|= force=?
|
|
:~ [%pass /gall %arvo %g %goad force ~]
|
|
==
|
|
+$ state
|
|
$@ ~
|
|
[%0 ~]
|
|
--
|
|
|_ =bowl:gall
|
|
+* this .
|
|
def ~(. (default-agent this %|) bowl)
|
|
::
|
|
++ on-poke
|
|
|= [=mark =vase]
|
|
?: ?=([%noun * %go] +<)
|
|
[(goad |) this]
|
|
?: ?=([%noun * %force] +<)
|
|
[(goad &) this]
|
|
(on-poke:def mark vase)
|
|
::
|
|
++ on-arvo
|
|
|= [wir=wire sin=sign-arvo]
|
|
?+ wir (on-arvo:def wir sin)
|
|
[%clay ~] `this
|
|
[%behn ~] `this :: backcompat
|
|
==
|
|
::
|
|
++ on-agent on-agent:def
|
|
++ on-fail on-fail:def
|
|
++ on-init on-init:def
|
|
++ on-leave on-leave:def
|
|
++ on-load
|
|
|= =vase
|
|
=+ !<(old=state vase)
|
|
?^ old `this
|
|
[(goad &) this]
|
|
::
|
|
++ on-peek on-peek:def
|
|
++ on-save !>([%0 ~])
|
|
++ on-watch on-watch:def
|
|
--
|