mall: convert talk to mall

also change !< to crash on failure
This commit is contained in:
Philip Monk 2019-09-23 15:44:48 -07:00
parent eeac28bdc6
commit fc9f17ae23
No known key found for this signature in database
GPG Key ID: B66E1F02604E44EC
12 changed files with 2740 additions and 139 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:617f028e5c381e8adf813d5b18e81c6b1ddd676049c4e520308af545a20999d2
size 15663155
oid sha256:393705422a0c117f1adb64c4606021d50f2520152dd5b34691cf8a386e0dfec6
size 15813426

View File

@ -531,8 +531,7 @@
:* %pass
/poke
%agent
p.p.p.mad
q.p.p.mad
p.p.mad
%poke
cay
==
@ -1098,11 +1097,7 @@
++ handle-upgrade-state
|= =old-state=vase
=/ old-state !<(house old-state-vase)
?~ old-state
~& %prep-lost
`..handle-init
~& %prep-found
`..handle-init(state u.old-state)
`..handle-init(state old-state)
::
++ handle-poke
|= [=mark =vase]
@ -1112,9 +1107,9 @@
=^ moves state
^- (quip card:agent:mall house)
?+ mark ~|([%dojo-poke-bad-mark mark] !!)
%sole-action he-abet:(he-type:he-full (need !<(sole-action vase)))
%lens-command he-abet:(he-lens:he-full (need !<(command:lens vase)))
%json ~& jon=(need !<(json vase)) `state
%sole-action he-abet:(he-type:he-full !<(sole-action vase))
%lens-command he-abet:(he-lens:he-full !<(command:lens vase))
%json ~& jon=!<(json vase) `state
%wipe
~& %dojo-wipe
=. hoc

View File

@ -145,11 +145,7 @@
++ handle-upgrade-state
|= =old-state=vase
=/ old-state !<(hood-1 old-state-vase)
?~ old-state
~& %prep-lost
`..handle-init
~& %prep-found
`..handle-init(lac lac.u.old-state)
`..handle-init(lac lac.old-state)
::
++ handle-poke
|= [=mark =vase]
@ -167,16 +163,11 @@
:: XX should rename and move to libs
::
?+ mark ~|([%poke-hood-bad-mark mark] !!)
%hood-load %- poke-hood-load:h
(need !<(hood-part vase))
%atom %- (wrap poke-atom):from-helm:h
(need !<(@ vase))
%dill-belt %- (wrap poke-dill-belt):from-drum:h
(need !<(dill-belt:dill vase))
%dill-blit %- (wrap poke-dill-blit):from-drum:h
(need !<(dill-blit:dill vase))
%hood-sync %- (wrap poke-sync):from-kiln:h
(need !<([desk ship desk] vase))
%hood-load (poke-hood-load:h !<(hood-part vase))
%atom ((wrap poke-atom):from-helm:h !<(@ vase))
%dill-belt ((wrap poke-dill-belt):from-drum:h !<(dill-belt:dill vase))
%dill-blit ((wrap poke-dill-blit):from-drum:h !<(dill-blit:dill vase))
%hood-sync ((wrap poke-sync):from-kiln:h !<([desk ship desk] vase))
==
[cards ..handle-init]
::

2627
pkg/arvo/age/talk.hoon Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,11 @@
++ handle-init
`agent
::
++ handle-prep
++ handle-extract-state
~& "extracting empty state for {<dap.bowl>}"
!>(~)
::
++ handle-upgrade-state
|= old-state=vase
~& "updating agent {<dap.bowl>} by throwing away old state"
`agent
@ -13,13 +17,13 @@
~| "unexpected poke to {<dap.bowl>} with mark {<p.cage>}"
!!
::
++ handle-peer
++ handle-subscribe
|= =path
~& "unexpected subscription to {<dap.bowl>} on path {<path>}"
~| "unexpected subscription to {<dap.bowl>} on path {<path>}"
!!
::
++ handle-pull
++ handle-unsubscribe
|= path
`agent
::
@ -28,18 +32,18 @@
~| "unexpected scry into {<dap.bowl>} on path {<path>}"
!!
::
++ handle-mall
|= [=wire =internal-gift:mall]
?- -.internal-gift
%coup `agent
%reap `agent
%quit
++ handle-agent-response
|= [=wire =gift:agent:mall]
?- -.gift
%poke-ack `agent
%subscription-ack `agent
%subscription-close
~| "unexpected subscription closure to {<dap.bowl>} on wire {<wire>}"
!!
::
%diff
%subscription-update
~| "unexpected subscription update to {<dap.bowl>} on wire {<wire>}"
~| "with mark {<p.p.internal-gift>}"
~| "with mark {<p.cage.gift>}"
!!
::
%http-response
@ -47,17 +51,13 @@
!!
==
::
++ handle-take
|= [=wire =vase]
~| "unexpected system response {<q.vase>} to {<dap.bowl>} on wire {<wire>}"
++ handle-arvo-response
|= [=wire =sign-arvo]
~| "unexpected system response {<-.sign-arvo>} to {<dap.bowl>} on wire {<wire>}"
!!
::
++ handle-lame
++ handle-error
|= [=term =tang]
%- (slog leaf+"error in {<dap.bowl>}" >term< tang)
`agent
::
++ handle-stay
~& "extracting empty state for {<dap.bowl>}"
!>(~)
--

View File

@ -220,12 +220,12 @@
++ poke
|= [=mark =vase]
?+ mark ~|([%poke-drum-bad-mark mark] !!)
%drum-put =;(f (f (need !<(_+<.f vase))) poke-put)
%drum-link =;(f (f (need !<(_+<.f vase))) poke-link)
%drum-unlink =;(f (f (need !<(_+<.f vase))) poke-unlink)
%drum-exit =;(f (f (need !<(_+<.f vase))) poke-exit)
%drum-start =;(f (f (need !<(_+<.f vase))) poke-start)
%drum-set-boot-apps =;(f (f (need !<(_+<.f vase))) poke-set-boot-apps)
%drum-put =;(f (f !<(_+<.f vase)) poke-put)
%drum-link =;(f (f !<(_+<.f vase)) poke-link)
%drum-unlink =;(f (f !<(_+<.f vase)) poke-unlink)
%drum-exit =;(f (f !<(_+<.f vase)) poke-exit)
%drum-start =;(f (f !<(_+<.f vase)) poke-start)
%drum-set-boot-apps =;(f (f !<(_+<.f vase)) poke-set-boot-apps)
==
::
++ reap-phat :: ack connect
@ -277,7 +277,7 @@
%subscription-update
%+ diff-sole-effect-phat t.t.wire
?> ?=(%sole-effect p.cage.gift)
(need !<(sole-effect q.cage.gift))
!<(sole-effect q.cage.gift)
==
==
::
@ -516,16 +516,16 @@
::
++ se-poke :: send a poke
|= {gyl/gill:gall par/pear}
(se-emit %pass (en-gill gyl) %agent p.gyl q.gyl %poke par)
(se-emit %pass (en-gill gyl) %agent gyl %poke par)
::
++ se-peer :: send a peer
|= gyl/gill:gall
%- se-emit(fug (~(put by fug) gyl ~))
[%pass (en-gill gyl) %agent p.gyl q.gyl %subscribe /sole]
[%pass (en-gill gyl) %agent gyl %subscribe /sole]
::
++ se-pull :: cancel subscription
|= gyl/gill:gall
(se-emit %pass (en-gill gyl) %agent p.gyl q.gyl %unsubscribe ~)
(se-emit %pass (en-gill gyl) %agent gyl %unsubscribe ~)
::
++ se-tame :: switch connection
|= gyl/gill:gall

View File

@ -117,7 +117,7 @@
|= {her/ship mes/(unit tape)} =< abet
%- emit
:* %pass /helm/hi/(scot %p her)
%agent her %hood %poke
%agent [her %hood] %poke
%helm-hi !>(?~(mes '' (crip u.mes)))
==
::
@ -194,20 +194,20 @@
++ poke
|= [=mark =vase]
?+ mark ~|([%poke-helm-bad-mark mark] !!)
%helm-hi =;(f (f (need !<(_+<.f vase))) poke-hi)
%helm-mass =;(f (f (need !<(_+<.f vase))) poke-mass)
%helm-reload =;(f (f (need !<(_+<.f vase))) poke-reload)
%helm-reload-desk =;(f (f (need !<(_+<.f vase))) poke-reload-desk)
%helm-reset =;(f (f (need !<(_+<.f vase))) poke-reset)
%helm-send-hi =;(f (f (need !<(_+<.f vase))) poke-send-hi)
%helm-verb =;(f (f (need !<(_+<.f vase))) poke-verb)
%helm-rekey =;(f (f (need !<(_+<.f vase))) poke-rekey)
%helm-nuke =;(f (f (need !<(_+<.f vase))) poke-nuke)
%helm-automass =;(f (f (need !<(_+<.f vase))) poke-automass)
%helm-bonk =;(f (f (need !<(_+<.f vase))) poke-bonk)
%helm-cancel-automass =;(f (f (need !<(_+<.f vase))) poke-cancel-automass)
%helm-moon =;(f (f (need !<(_+<.f vase))) poke-moon)
%helm-serve =;(f (f (need !<(_+<.f vase))) poke-serve)
%helm-hi =;(f (f !<(_+<.f vase)) poke-hi)
%helm-mass =;(f (f !<(_+<.f vase)) poke-mass)
%helm-reload =;(f (f !<(_+<.f vase)) poke-reload)
%helm-reload-desk =;(f (f !<(_+<.f vase)) poke-reload-desk)
%helm-reset =;(f (f !<(_+<.f vase)) poke-reset)
%helm-send-hi =;(f (f !<(_+<.f vase)) poke-send-hi)
%helm-verb =;(f (f !<(_+<.f vase)) poke-verb)
%helm-rekey =;(f (f !<(_+<.f vase)) poke-rekey)
%helm-nuke =;(f (f !<(_+<.f vase)) poke-nuke)
%helm-automass =;(f (f !<(_+<.f vase)) poke-automass)
%helm-bonk =;(f (f !<(_+<.f vase)) poke-bonk)
%helm-cancel-automass =;(f (f !<(_+<.f vase)) poke-cancel-automass)
%helm-moon =;(f (f !<(_+<.f vase)) poke-moon)
%helm-serve =;(f (f !<(_+<.f vase)) poke-serve)
==
::
++ take-agent

View File

@ -185,27 +185,27 @@
++ poke
|= [=mark =vase]
?+ mark ~|([%poke-kiln-bad-mark mark] !!)
%kiln-commit =;(f (f (need !<(_+<.f vase))) poke-commit)
%kiln-info =;(f (f (need !<(_+<.f vase))) poke-info)
%kiln-label =;(f (f (need !<(_+<.f vase))) poke-label)
%kiln-cancel =;(f (f (need !<(_+<.f vase))) poke-cancel)
%kiln-mount =;(f (f (need !<(_+<.f vase))) poke-mount)
%kiln-rm =;(f (f (need !<(_+<.f vase))) poke-rm)
%kiln-schedule =;(f (f (need !<(_+<.f vase))) poke-schedule)
%kiln-track =;(f (f (need !<(_+<.f vase))) poke-track)
%kiln-sync =;(f (f (need !<(_+<.f vase))) poke-sync)
%kiln-syncs =;(f (f (need !<(_+<.f vase))) poke-syncs)
%kiln-wipe-ford =;(f (f (need !<(_+<.f vase))) poke-wipe-ford)
%kiln-keep-ford =;(f (f (need !<(_+<.f vase))) poke-keep-ford)
%kiln-autoload =;(f (f (need !<(_+<.f vase))) poke-autoload)
%kiln-overload =;(f (f (need !<(_+<.f vase))) poke-overload)
%kiln-wash-gall =;(f (f (need !<(_+<.f vase))) poke-wash-gall)
%kiln-unmount =;(f (f (need !<(_+<.f vase))) poke-unmount)
%kiln-unsync =;(f (f (need !<(_+<.f vase))) poke-unsync)
%kiln-permission =;(f (f (need !<(_+<.f vase))) poke-permission)
%kiln-cancel-autocommit =;(f (f (need !<(_+<.f vase))) poke-cancel-autocommit)
%kiln-start-autoload =;(f (f (need !<(_+<.f vase))) poke-start-autoload)
%kiln-merge =;(f (f (need !<(_+<.f vase))) poke-merge)
%kiln-commit =;(f (f !<(_+<.f vase)) poke-commit)
%kiln-info =;(f (f !<(_+<.f vase)) poke-info)
%kiln-label =;(f (f !<(_+<.f vase)) poke-label)
%kiln-cancel =;(f (f !<(_+<.f vase)) poke-cancel)
%kiln-mount =;(f (f !<(_+<.f vase)) poke-mount)
%kiln-rm =;(f (f !<(_+<.f vase)) poke-rm)
%kiln-schedule =;(f (f !<(_+<.f vase)) poke-schedule)
%kiln-track =;(f (f !<(_+<.f vase)) poke-track)
%kiln-sync =;(f (f !<(_+<.f vase)) poke-sync)
%kiln-syncs =;(f (f !<(_+<.f vase)) poke-syncs)
%kiln-wipe-ford =;(f (f !<(_+<.f vase)) poke-wipe-ford)
%kiln-keep-ford =;(f (f !<(_+<.f vase)) poke-keep-ford)
%kiln-autoload =;(f (f !<(_+<.f vase)) poke-autoload)
%kiln-overload =;(f (f !<(_+<.f vase)) poke-overload)
%kiln-wash-gall =;(f (f !<(_+<.f vase)) poke-wash-gall)
%kiln-unmount =;(f (f !<(_+<.f vase)) poke-unmount)
%kiln-unsync =;(f (f !<(_+<.f vase)) poke-unsync)
%kiln-permission =;(f (f !<(_+<.f vase)) poke-permission)
%kiln-cancel-autocommit =;(f (f !<(_+<.f vase)) poke-cancel-autocommit)
%kiln-start-autoload =;(f (f !<(_+<.f vase)) poke-start-autoload)
%kiln-merge =;(f (f !<(_+<.f vase)) poke-merge)
==
::
++ autoload
@ -257,14 +257,14 @@
=. cur-hoon new-hoon
=. cur-arvo new-arvo
=. cur-vanes rehash-vanes
(emit %pass /kiln/reload/hoon %agent our %hood %poke %helm-reset !>(~))
(emit %pass /kiln/reload/hoon %agent [our %hood] %poke %helm-reset !>(~))
:: XX updates cur-vanes?
=/ new-zuse (sys-hash /zuse/hoon)
?: !=(new-zuse cur-zuse)
=. cur-zuse new-zuse
=. cur-vanes rehash-vanes
=/ =cage [%helm-reload !>([%zuse tracked-vanes])]
(emit [%pass /kiln/reload/zuse %agent our %hood %poke cage])
(emit [%pass /kiln/reload/zuse %agent [our %hood] %poke cage])
(roll tracked-vanes load-vane)
::
++ load-vane
@ -276,7 +276,7 @@
+>.$
=. cur-vanes (~(put by cur-vanes) syd new-vane)
=/ =cage [%helm-reload !>(~[syd])]
(emit %pass /kiln/reload/[syd] %agent our %hood %poke cage)
(emit %pass /kiln/reload/[syd] %agent [our %hood] %poke cage)
::
++ coup-reload
|= {way/wire saw/(unit tang)}
@ -584,7 +584,7 @@
^+ +>
=/ =cage [%kiln-merge !>([syd her sud cas gem])]
%- blab :_ ~
[%pass /kiln/fancy/[^syd] %agent our %hood %poke cage]
[%pass /kiln/fancy/[^syd] %agent [our %hood] %poke cage]
::
++ spam ::|=(tang ((slog +<) ..spam))
|*(* +>(..work (^spam +<)))

View File

@ -105,10 +105,10 @@
++ poke
|= [=mark =vase]
?+ mark ~|([%poke-write-bad-mark mark] !!)
%write-sec-atom =;(f (f (need !<(_+<.f vase))) poke-sec-atom)
%write-paste =;(f (f (need !<(_+<.f vase))) poke-paste)
%write-tree =;(f (f (need !<(_+<.f vase))) poke-tree)
%write-wipe =;(f (f (need !<(_+<.f vase))) poke-wipe)
%write-sec-atom =;(f (f !<(_+<.f vase)) poke-sec-atom)
%write-paste =;(f (f !<(_+<.f vase)) poke-paste)
%write-tree =;(f (f !<(_+<.f vase)) poke-tree)
%write-wipe =;(f (f !<(_+<.f vase)) poke-wipe)
==
::
++ made

View File

@ -10304,25 +10304,20 @@
[(nice (cell ref p.vos)) (cons [%1 burp(sut p.vos)] q.vos)]
::
{$zpgl *}
=+ ^= typ
%- nice
%- fork
:~ [%atom %n `0]
[%cell [%atom %n `0] [%face %u (play [%kttr p.gen])]]
==
=+ ^= val
=< q
%_ $
gol %noun
gen
:^ %wtcl
:+ %cncl [%limb %levi]
:~ [%tsbn [%zpbn [%kttr p.gen]] [%$ 2]]
[%tsbn q.gen [%$ 2]]
==
[%clhp [%bust %null] [%tsbn q.gen [%$ 3]]]
[%bust %null]
==
=/ typ (nice (play [%kttr p.gen]))
=/ val
=< q
%_ $
gol %noun
gen
:^ %wtcl
:+ %cncl [%limb %levi]
:~ [%tsbn [%zpbn [%kttr p.gen]] [%$ 2]]
[%tsbn q.gen [%$ 2]]
==
[%tsbn q.gen [%$ 3]]
[%zpzp ~]
==
[typ val]
::
{$zpts *} [(nice %noun) [%1 q:$(vet |, gen p.gen)]]
@ -10489,11 +10484,7 @@
::
{$zpgl *}
:: XX is this right?
%- beth
%- fork
:~ [%atom %n `0]
[%cell [%atom %n `0] [%face %u (play [%kttr p.gen])]]
==
(beth (play [%kttr p.gen]))
::
{$zpvt *}
=+ [(feel p.gen) (feel(sut dox) p.gen)]
@ -10798,10 +10789,7 @@
{$zpcm *} $(gen p.gen)
{$lost *} %void
{$zpmc *} (cell $(gen p.gen) $(gen q.gen))
{$zpgl *} %- fork
:~ [%atom %n `0]
[%cell [%atom %n `0] [%face %u (play [%kttr p.gen])]]
==
{$zpgl *} (play [%kttr p.gen])
{$zpts *} %noun
{$zpvt *} ?:((feel p.gen) $(gen q.gen) $(gen r.gen))
{$zpzp *} %void

View File

@ -281,11 +281,11 @@
=. app (ap-reinstall:app result-vase)
ap-abet:app
::
=/ maybe-new-agent !<(agent result-vase)
?~ maybe-new-agent
=/ err [[%leaf "{<term>}: not valid agent"] ~]
=/ maybe-new-agent (mule |.(!<(agent result-vase)))
?: ?=(%| -.maybe-new-agent)
=/ err [[%leaf "{<term>}: not valid agent"] p.maybe-new-agent]
(mo-give %onto %.n err)
=. mo-core (mo-new-agent term beak u.maybe-new-agent)
=. mo-core (mo-new-agent term beak p.maybe-new-agent)
=/ old mo-core
=/ wag
=/ =routes [disclosing=~ attributing=our]
@ -1075,10 +1075,10 @@
=/ way [(scot %p ship) %out path]
::
?: is-ok
=/ =note:agent [%agent ship -.path %pump ~]
=/ =note:agent [%agent [ship -.path] %pump ~]
(ap-pass way note)
=. ap-core (ap-give %subscription-close ~)
=/ =note:agent [%agent ship -.path %unsubscribe ~]
=/ =note:agent [%agent [ship -.path] %unsubscribe ~]
(ap-pass way note)
:: +ap-dequeue: drop from queue.
::
@ -1177,12 +1177,12 @@
|= =vase
^+ ap-core
::
=/ maybe-agent !<(agent vase)
?~ maybe-agent
(ap-error %new-core-not-agent ~)
=/ maybe-agent (mule |.(!<(agent vase)))
?: ?=(%| -.maybe-agent)
(ap-error %new-core-not-agent p.maybe-agent)
::
=/ prep
=/ =agent u.maybe-agent
=/ =agent p.maybe-agent
=/ running
%- some
~(handle-extract-state agent.current-agent ap-construct-bowl)

View File

@ -1913,7 +1913,7 @@
+$ card (wind note gift)
+$ note
$% [%arvo =note-arvo]
[%agent =ship name=term =task]
[%agent [=ship name=term] =task]
==
+$ task
$% [%subscribe-translated =mark =path]