Added jet for scag.

This commit is contained in:
Luke Patmore 2014-05-27 09:59:13 -07:00
commit c759a9eb7a
9 changed files with 295 additions and 478 deletions

View File

@ -1433,18 +1433,17 @@
^? :: opaque core
=<
|% :: vane interface
++ beat
++ take
|= [tea=wire hen=duct typ=type fav=card]
=+ wru=*(unit writ)
^- [p=(list move) q=vane]
=^ duy ..knap
(knap wru tea hen fav)
(knap tea hen fav)
[duy ..^$]
::
++ call
|= [hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -1477,8 +1476,10 @@
..$(fox *furt)
::
++ scry
|= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path]
|= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
?. ?=([~ [[& @] ~ ~]] fur) ~ :: XX lame
=+ our=`ship`p.n.u.fur
=- ?~ old ~
[~ ~ u.old]
^= old
@ -1498,7 +1499,7 @@
|%
++ claw |=(our=ship ^-(duct hen:(need (~(get by zac.fox) our))))
++ clop
|= [wru=(unit writ) now=@da hen=duct bon=boon]
|= [now=@da hen=duct bon=boon]
^- [(list move) furt]
?- -.bon
%beer
@ -1560,7 +1561,7 @@
=. ton.fox (~(su go ton.fox) gus)
:_ fox
:~ :- hen
[%call %a ~ %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
[%toss %a ~ %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
==
%re :: %re
:_ fox
@ -1577,7 +1578,7 @@
%+ turn paz
|= him=ship
:- hen
[%call %a ~ %want [p.p.bon him] /q/yu [q.p.bon r.bon]]
[%toss %a ~ %want [p.p.bon him] /q/yu [q.p.bon r.bon]]
==
::
%ouzo
@ -1602,11 +1603,14 @@
==
::
++ knap
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [(list move) _+>]
?: ?=([%crud *] fav)
[[[hen [%slip %d %flog fav]] ~] +>]
=+ ^= fuy ^- [p=(list boon) q=furt]
?: ?=([%soft *] fav)
$(fav ((hard card) p.fav))
=+ ^= fuy
^- [p=(list boon) q=furt]
?+ -.fav
[~ fox]
::
@ -1643,7 +1647,7 @@
|- ^- [p=(list move) q=_+>.^$]
?~ p.fuy
[(flop out) +>.^$]
=^ toe fox (clop wru now hen i.p.fuy)
=^ toe fox (clop now hen i.p.fuy)
$(p.fuy t.p.fuy, out (weld (flop toe) out))
::
++ perm

View File

@ -175,7 +175,7 @@
=> .(fog (weld t.fog `(list ,@ud)`[i.fog ~]))
[[[hen [%give %helo prot]] ~] +<.^^$]
%noop [~ +<.^^$]
:: %thee abet:lash:(lean tea hen fav)
%soft $(fav ((hard card) p.fav))
%thou ?. (fear tea) :: legit
[~ +<.^^$]
abet:lash:(lean tea hen fav)
@ -1151,13 +1151,15 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: current invocation
^? :: opaque core
|% :: poke/peek pattern
++ beat :: process move
++ take :: process move
|= [tea=wire hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
:: ~& [%batz-beat -.fav [%tea tea] [%hen hen]]
:: ~& [%batz-take -.fav [%tea tea] [%hen hen]]
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
?: ?=([%crud *] fav)
[[[hen [%slip %d %flog fav]] ~] ..^$]
?: ?=([%soft *] fav)
$(fav ((hard card) p.fav))
?: ?=(%wake -.fav)
=+ ^= fiy
=| fiy=(list ,[p=duct q=ship r=[p=@ud q=@ud r=wire]])
@ -1197,18 +1199,18 @@
=+ dus=(~(get by dez) hen)
?~ dus
?+ -.fav
~& [%beat-none -.fav tea hen]
~|([%beat-none -.fav] !!)
~& [%take-none -.fav tea hen]
~|([%take-none -.fav] !!)
::
%hail
?~ big
~& [%beat-hail-soon hen]
~& [%take-hail-soon hen]
[~ ..^^$]
~& [%batz-hack-console hen]
$(dez (~(put by dez) hen [[u.big (bard u.big)] ~]))
::
%init
:: ~& [%beat-init p.fav hen]
:: ~& [%take-init p.fav hen]
=. big ?~ big
`p.fav
`(min p.fav u.big)
@ -1221,7 +1223,7 @@
..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] ~]))
::
?(%loin %make %sith)
[[[hen [%call %a tea fav]] ~] ..^^$]
[[[hen [%toss %a tea fav]] ~] ..^^$]
==
?> ?=(^ u.dus)
?+ -.fav
@ -1247,7 +1249,7 @@
::
++ call :: process move
|= [hen=duct typ=type fav=card]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -1285,7 +1287,7 @@
..$(dez ~)
::
++ scry
|= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path]
|= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
~
::

View File

@ -35,7 +35,7 @@
%+ turn (flop say)
|= [a=duct b=path c=ship d=[p=@ud q=riff]]
:- a
[%call %a b %want [who c] [%q %re p.q.d (scot %ud p.d) ~] q.d]
[%toss %a b %want [who c] [%q %re p.q.d (scot %ud p.d) ~] q.d]
==
::
++ doze
@ -365,12 +365,15 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? :: opaque core
|% ::
++ beat :: update
++ take :: update
|= [tea=wire hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
?+ -.fav [[[hen %give fav] ~] ..^$]
%crud
[[[hen %slip %d %flog fav] ~] ..^$]
::
%soft
$(fav ((hard card) p.fav))
::
%init
[~ ..^$(fat.ruf (~(put by fat.ruf) p.fav [hen ~ ~ ~]))]
@ -413,7 +416,7 @@
=+ ryf=((hard riff) s.fav)
:_ ..^$
:~ :- hen
:^ %call %c
:^ %toss %c
[(scot %p p.p.fav) (scot %p q.p.fav) r.fav]
[%warp [p.p.fav p.p.fav] ryf]
==
@ -424,7 +427,7 @@
=+ him=(need (slaw %p i.t.tea))
:_ ..^$
:~ :- hen
[%call %a ~ [%want [our him] [%r %re %c t.t.tea] p.fav]]
[%toss %a ~ [%want [our him] [%r %re %c t.t.tea] p.fav]]
==
::
%went :: XX should actually propagate
@ -443,7 +446,7 @@
::
++ call :: process move
|= [hen=duct typ=type fav=card]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -471,7 +474,7 @@
..$(ruf *raft)
::
++ scry :: inspect
|= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path]
|= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
=+ ^= whu ^- (unit ,@p) :: XX HEINOUS!
?: (~(has by fat.ruf) his)
@ -482,7 +485,7 @@
?: (~(has by rid.q.i.foo) his) `p.i.foo
$(foo t.foo)
?~ whu ~
=. our u.whu
=+ our=u.whu
:: ~? !=(`our whu) [%clay-scry whu our ren his syd lot tyl]
=+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot))
?~ luk [~ ~]

View File

@ -8,13 +8,15 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: current invocation
^? :: opaque core
|% :: poke/peek pattern
++ beat :: process move
++ take :: process move
|= [tea=wire hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
?: ?=(%flog -.fav)
:_ ..^$
%+ turn (~(tap by dug) *(list ,[p=duct q=yard]))
|=([a=duct b=yard] [a %slip %d p.fav])
?: ?=(%soft -.fav)
$(fav ((hard card) p.fav))
=+ ^= yar ^- yard
=+ yar=(~(get by dug) hen)
?^ yar u.yar
@ -229,7 +231,7 @@
%d ?: ?& =(0 bul.u.q.q.yar)
=(0 bus.u.q.q.yar)
==
+.$(mos :_(mos [hen %call %b ~ [%kill ~]]))
+.$(mos :_(mos [hen %toss %b ~ [%kill ~]]))
$(fav [%belt %del ~])
%e (edit u.q.q.yar(bus bul.u.q.q.yar))
%f $(fav [%belt %aro %r])
@ -277,8 +279,8 @@
==
%r (edit u.q.q.yar(hyr [~ ~]))
:: TODO
:: %w +.$(mos :_(mos [hen %call %b ~ [%limn ~]]))
%x +.$(mos :_(mos [hen %call %b ~ [%ling ~]]))
:: %w +.$(mos :_(mos [hen %toss %b ~ [%limn ~]]))
%x +.$(mos :_(mos [hen %toss %b ~ [%ling ~]]))
%y ?: =(0 p.r.q.yar)
beep
$(fav [%belt %txt (snag q.r.q.yar r.r.q.yar)])
@ -347,9 +349,9 @@
[p.hyt.u.q.q.yar [jab ?~(q.hyt.u.q.q.yar ~ +.q.hyt.u.q.q.yar)]]
::
mos
:* [hen %call %b ~ [%hail ~]]
:* [hen %toss %b ~ [%hail ~]]
[hen %give [%bbye ~]]
[hen %call %b ~ [%line jab]]
[hen %toss %b ~ [%line jab]]
[hen %give [%blit [[%mor ~] ~]]]
mos
==
@ -375,7 +377,7 @@
%boot
%= +.$
mos
:_(mos [hen %call %b tea p.fav])
:_(mos [hen %toss %b tea p.fav])
==
::
%crud :: error trace
@ -412,7 +414,7 @@
==
::
?(%hail %make %loin %sith)
+.$(mos :_(mos [hen %call %b ~ fav]))
+.$(mos :_(mos [hen %toss %b ~ fav]))
::
%note ?.(p.yar +.$ (fume p.fav q.fav)) :: debug message
%save :: write a file
@ -435,7 +437,7 @@
::
++ call :: process move
|= [hen=duct typ=type fav=card]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -461,7 +463,7 @@
..$(dug ~)
::
++ scry
|= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path]
|= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
~
::

View File

@ -352,12 +352,12 @@
++ haji :: send %pc login
|= [our=ship him=ship ses=hole]
^+ +>
+>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pc ~] ses]]))
+>.$(mow :_(mow [hen %toss %a ~ [%want [our him] [%r %pc ~] ses]]))
::
++ hajj :: send %pr response
|= [our=ship him=ship tus=path har=httr]
^+ +>
+>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pr tus] har]]))
+>.$(mow :_(mow [hen %toss %a ~ [%want [our him] [%r %pr tus] har]]))
::
++ hare :: receive request
|= [our=ship tus=path him=ship hor=*]
@ -366,7 +366,7 @@
%_ +>.$
mow
:_ mow
[hen %call %e [(scot %p our) (scot %p him) tus] ?~(hux [%thud ~] [%this u.hux])]
[hen %toss %e [(scot %p our) (scot %p him) tus] ?~(hux [%thud ~] [%this u.hux])]
==
::
++ here :: receive auth
@ -403,7 +403,7 @@
%_ +>
mow
:_ mow
[hen %call %c [%hoot (scot %p our) ses (scot %ud num) ~] [%warp [our our] rif]]
[hen %toss %c [%hoot (scot %p our) ses (scot %ud num) ~] [%warp [our our] rif]]
==
::
++ hone :: kill ford
@ -411,7 +411,7 @@
%_ +>
mow
:_ mow
[hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our ~]]
[hen %toss %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our ~]]
==
::
++ honk :: ford request
@ -420,7 +420,7 @@
%_ +>
mow
:_ mow
[hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our `kas]]
[hen %toss %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our `kas]]
==
::
++ hops :: cancel remote
@ -432,7 +432,7 @@
mow
:_ mow
:- hen
:^ %call %a
:^ %toss %a
[%hork (scot %p sor.rot) mun ~]
[%want [sor.rot him] [%q %pr %e %hork mun ~] ~]
==
@ -458,7 +458,7 @@
mow
:_ mow
:- hen
:^ %call %a
:^ %toss %a
[%hork (scot %p sor.rot) mun ~]
[%want [sor.rot him] [%q %pr %e %hork mun ~] [~ hyx]]
::
@ -1685,7 +1685,7 @@
?~ fuv mow
:_ mow
:- hen
:^ %call %b
:^ %toss %b
[%cons (scot %p our) ses (scot %ud p.som.pip) ~]
u.fuv
==
@ -1813,13 +1813,15 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? :: opaque core
|% ::
++ beat :: process move
++ take :: process move
|= [tea=wire hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need
?: ?=(%crud -.fav)
[[[hen %slip %d %flog fav] ~] ..^$]
?: ?=(%soft -.fav)
$(fav ((hard card) p.fav))
^- [p=(list move) q=vane]
=. gub ?.(=(0 gub) gub (cat 3 (rsh 3 1 (scot %p (end 6 1 eny))) '-'))
=^ mos bol
@ -1828,7 +1830,7 @@
::
++ call :: process move
|= [hen=duct typ=type fav=card]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -1853,7 +1855,7 @@
..$(+>- *bolo)
::
++ scry
|= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path]
|= [our=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
~
::

View File

@ -161,7 +161,7 @@
kiz t.kiz
mow :_ mow
:- hen
:^ %call %c
:^ %toss %c
[(scot %ud num) (scot %ud p.i.kiz) ~]
[%warp [our p.q.i.kiz] q.q.i.kiz ~]
==
@ -176,7 +176,7 @@
%= $
mow :_ mow
:- hen
:^ %call %c
:^ %toss %c
[(scot %ud num) (scot %ud tik) ~]
[%warp [our p.bem] q.bem [~ %& %x r.bem s.bem]]
==
@ -571,9 +571,11 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? :: opaque core
|% ::
++ beat :: process move
++ take :: process move
|= [tea=wire hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
?: ?=(%soft -.fav)
$(fav ((hard card) p.fav))
=+ ^= our ^- @p
?+ -.fav !!
%exec p.fav
@ -587,7 +589,7 @@
::
++ call :: process move
|= [hen=duct typ=type fav=card]
(beat ~ hen typ fav)
(take ~ hen typ fav)
::
++ come
|= [sam=? old=vase]
@ -612,7 +614,7 @@
..$(+>- *axle)
::
++ scry
|= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path]
|= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
~
::

View File

@ -3,399 +3,167 @@
::::
|= pit=vase
^- vane
=> =~
|% :: clams
=> =~ :: preface
|% :: structures
++ axle :: all %gall state
$: ven=%0 ::
$: ven=%0 :: state version
pol=(map ship mast) :: apps by ship
== ::
++ bone ,@ud :: opaque duct
++ bull ,[p=bone q=(mold note gift)] :: urbit action
++ bump :: urbit event
$: ost=bone :: channel
him=ship :: client
law=(unit chop) :: authority
val=curd :: data
== ::
++ view ,[p=cork q=@da r=(unit ,@dr)] :: timeline
++ gift :: outbound result
++ cork ?(%u %v %w %x %y %z) :: view angle
++ gift :: out result <-$
%$ [%back ~] :: acknowledgment
[%crud p=(list tank)] :: error notification
[%seen p=@da q=*] :: view update
[%seen p=@da q=*] :: wind update
== ::
++ kiss :: inbound request
$% [%send p=sock q=term r=curd] :: urbit message
[%turd p=(list tank) q=kiss] :: error rebound
++ kiss :: in request ->$
$% [%mess p=ship q=term r=(disk)] :: urbit message
[%puke p=@tas q=(list tank) r=kiss] :: rising error
[%user p=(unit chop) q=kiss] :: restriction
[%view p=ship q=view r=path] :: subscription
[%show p=ship q=term r=wind s=path] :: subscription
== ::
++ sign curd :: inbound result V-<
++ note curd :: outbound request V->
++ hypo |*(a=$+(* *) (pair type a))
++ debt :: pending operation
$% [%pear p=ship q=(unit chop) r=curd] :: message
[%peer p=(unit chop) q=view r=path] :: subscription
[%peak p=(hypo card)] :: result
==
++ seat :: living app
$: huv=(unit vase) :: current hive
++ mast :: apps by ship
$: bum=(map ,@ta seat) :: apps by name
== ::
++ move ,[p=duct q=(mold note gift)] :: typed move
++ note curd :: out request $->
++ seat :: the living app
$:
huv=(unit vase) :: current hive
dep=(set ,[p=ship q=desk]) :: dependencies
orm=(unit ,@da) :: last buildtime
eny=@ :: entropy
lat=@da :: time of last tick
tik=@ud :: tick computed
zos=(map bone ,[p=(unit chop) q=duct]) :: bone to duct
zam=[p=@ud q=(map duct ,@ud)] :: duct to bone
vey=(qeu ,[p=bone q=debt]) :: blocked queue
^= zam :: opaque duct system
$: p=@ud :: sequence
q=(map duct ,[p=bone q=(unit chop)]) :: by duct
r=(map bone duct) :: by bone
== ::
== ::
++ mast :: apps by ship
$: bum=(map ,@ta seat) :: apps by name
== ::
++ mitt :: execution context
$: $: ost=bone :: source
pax=path :: hivepath
law=(unit chop) :: rights
== ::
++ wren :: waiting card
$: tig=mitt :: context
fav=card :: content
== ::
++ wind ,[p=cork q=@da r=(unit ,@dr)] :: show window
-- ::
|% :: implicit clams
++ cork ?(%u %v %w %x %y %z) :: view angle
++ gift ::
++ hawk (gaff card) ::
++ hide :: engine state
$: own=[p=ship q=@tas] :: static identity
bec=beak :: installation path
^= seq :: dynamic sequence
$: num=@ud :: change number
eny=@ :: entropy
lat=@da :: date of last tick
== == ::
++ hive :: typed engine
$_ ^? ::
|_ hide :: hive state
++ pack * :: save
++ pear :: request
|+ $: ost=bone :: channel
law=(unit chop) :: authority
him=ship :: client
fov=(hypo card) :: favor
== ::
:_(+> (list bull)) ::
:: ::
++ peer :: subscribe
|+ %
++ poke |+(lima [*(list ,[p=bone q=hawk]) +>]) :: do
++ peek |+(lira *(unit (unit luge))) :: see
++ prep |+(* +>) :: load
== ::
++ lima :: wren other side
$: $: ost=bone :: source
law=(unit chop) :: permission
pax=path :: logical position
==
fav=* :: present event
== ::
++ lira :: general query
$: for=(set monk) :: p.u.law
roc=cork :: desired aspect
pax=path :: internal path
== ::
-- ::
|% ::
++ ho :: per card
=| $: ost=bone :: opaque cause
hen=duct :: kernel cause
law=(unit chop) :: rights
mow=(list move) :: direct moves
now=@da :: current date
eny=@ :: current entropy
our=@p :: ship
app=@tas :: application name
sat=seat :: application state
== ::
|%
++ abet
^- [(list move) seat]
[(flop mow) sat]
::
++ apex :: returning card
|= [pan=term pax=path fav=card]
?+ pan !!
%boot (boot pax fav)
%poke (poke pax fav)
%user (axon pax fav)
%wait (wait pax fav)
==
::
++ axon :: user card
|= [pax=path fav=card]
?> ?=(
::
++ babe :: poke or wait
|= [pax=path fav=card]
?> ?=(%meta -.fav)
?~ huv.sat
(bait pax fav)
%= +>
huv.sat ~
=+ gat=(slap u.huv.sat [%cnzy %poke])
=+ sam=:(slop !>(law) !>(pax) cav)
=+
::
++ boot :: boot result
|= rew=wren
?> ?=(%made -.fav.rew)
?- -.p.fav.rew
| (drip [%crud %gall p.p.fav])
& (dear p.fav q.q.fav)
==
::
++ poke :: poke result
|= rew=wren
?> ?=(%made -.fav.rew)
?- -.p.fav.rew
| (drip [%crud %gall p.p.fav])
& (pone q.q.p.fav)
==
::
++ pone :: poke product
|= vax=vase
^+ +>
?~ q.vax +>
=+ hed=(slot 2 vax)
=. +>.$ (poof (slot 2 vax))
$(vax (slot 3 vax))
::
++ poof :: apply effect
|= vax=vase
^+ +>
=+ nab=(,@ q:(slot 2 vax))
=+ vib=(need (~(get by zos.sat) nab))
=: ost nab
law p.vib
hen q.vib
==
(puss (slot 3 vax))
::
++ puss :: poke gaff
|= vax=vase
^+ +>
=. vax (spec vax)
?+ -.q.vax !!
%call
=+ ney=`@tas`(sane %tas ((hard ,@) q:(slot 6 vax)))
=+ cav=(quod (slot 7 vax))
(call ney %used [%meta our cav])
::
%drip
(drip [%meta our (slot 3 vax)])
::
%stop
+>.$(zos (~(del by zos) ost))
==
::
++ quod :: typecheck hive
|= vax=vase
vax :: XX
::
++ kick :: run engine
|- ^+ +
?~ vey.sat +.$
?~ huv.sat +.$
=^ lef vey.sat ~(get to vey.sat)
++ blam :: block on slam
|= [cod=@tas gat=vase sam=vase]
^+ +>
++ dear :: reset
|= [dep=(set beam) vax=vase]
deep(huv.sat `vax)
::
++ call :: advance a card
|= [vay=term pan=term fav=card]
^+ +>
%= +> mow :_ mow
^- move
:+ [~ %iron our]
^- duct
[[vay ~] [/g (scot %p our) app pan ~]
fav
==
::
++ drip :: return a card
|= fav=card
^+ +>
+>(mow :_(mow [[~ %iron our] hen fav]))
::
++ spec :: specialize kelp
|= vax=vase
^- vase
?. &(?=(^ q.vax) ?=(@ -.q.vax))
vax
%+ slap vax
^- twig
:+ %wtgr
[%wtts [%dtzz %tas -.q.vax] [%$ 2]]
[%$ 1]
::
++ more
|- ^+ +
?> ?=(^ huv.sat)
?~ vey.sat +.$
=^ lef vey.sat ~(get to vey.sat)
::
++ axon :: advancing card
|= fav=card
?~ huv.sat :: if blocked
(bait pax cav)
?~ pax :: call, essentially
=+ ^= sam
;: slop
!>(law)
==
=+ gat=(slap u.huv.sat [%cnzy %poke])
!!
::
::
++ bait :: boot/wait
|= [pax=path cav=vase]
^+ +>
?> ?=(~ huv.sat)
=+ new==(~ vey.sat)
=. vey.sat (~(put to vey.sat) `wren
?: =(~ vey.sat)
::
++ boob ::
::
++ boot :: send boot
^+ .
(dyke %boot %boil %core [(scot %p our) %main (scot %da now) %app ~])
::
++ dyke :: send to compute
|= [pan=@tas kas=silk]
^+ +>
%= +> mow :_ mow
^- move
:+ [~ %iron our]
^- duct
[/f [/g (scot %p our) app pan ~]
^- card
[%exec kas]
==
::
++ feed
|=
--
|% :: functions
++ limp :: merge authorities
|= [a=(unit chop) b=(unit chop)]
^- (unit chop)
a :: XX ?
--
. ==
=| axle
=* lex -
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? :: opaque core
|% ::
++ call :: inbound card
|= [hen=duct typ=type sin
!!
++ dive
|= [hen=duct loc=path
!!
++ beat :: process move
|= [pax=path hen=duct typ=type fav=card]
^- [p=(list move) q=vane]
=+ ^= def
|. ^- seat
. == :: end preface
=| all=axle :: all vane state
|= $: now=@da :: urban time
eny=@ :: entropy
$= ski :: namespace
$+ $: (unit (set monk)) :: rights
path :: name
== (unit (unit (disk))) :: known/any/value
== :: opaque core
=< |% ::
++ take :: return card
|= [pax=path hen=duct hil=(hypo curd)] ::
^- [(list move) ..^$]
!!
++ give :: request card
|= [hen=duct hil=(hypo kiss)]
=+ ^= ,[p=ship q=term]
?- -.q.hil
%mess
%puke
==
?- -.hil
++ scry :: observe
|= $: use=(unit (set monk)) :: observers
bid=bead :: position
== ::
*view
--
++ go
|_ $: our=@p :: application owner
app=@tas :: application name
mat=mast :: per owner
sat=seat :: per application
== ::
++ abet :: collapse core
%_ +>
lex %_ lex
pol %+ ~(put by pol.lex) our
%_ mat
bum (~(put by bum.mat) app sat)
== == ==
::
++ bear :: write backward
|= hen=duct
=+ orf=(need (~(get by q.zam) hen))
~(. bo:~(. au p.orf) hen q.orf)
::
++ beef :: read in
|= [lok=case use=(unit (set monk))
~(. au use)
::
++ boar :: write forward
|= $: hen=duct :: cause
law=(unit chop) :: read permission
==
=^ orf zam :: opaque duct
=+ orf=(~(get by q.zam) hen)
?^ orf
[[p.u.orf (limp law q.u.orf)] zam]
:^ [[p.zam law] +(p.zam)
(~(put by q.zam) hen [p.zam aud])
(~(put by r.zam) p.zam hen)
~(. bo:~(. au ?~(law [~ ~] p.u.law)) hen p.orf ?~(law ~ q.u.law))
::
++ au :: read
|_ use=(unit (set monk)) :: write
++ lens
|=
++ bo
|_ $: hen=duct :: system duct
ost=bone :: opaque duct
seg=(unit (set monk)) :: write permission
==
++ abet +> :: collapse core
++ mess ::
|= dur=(disk) :: general data
^- [(list move) _+>]
!! ::
++ more :: process result
|= $: pax=path
hil=(hypo curd)
==
^- [(list move) _+>]
++ show ::
|= $: win=wind :: version window
pax=path :: subtree
== ::
^- [(list move) +>]
!!
--
++ abet +>
--
--
::
++ goad :: take and go
|= [our=@p app=@tas]
=+ mat=(need (~(get by pol.lex our)))
=+ sat=(need (~(get by bum.mat) app))
~.( go [our app mat sat])
::
++ goat :: call and go
|= [our=@p app=@tas]
=+ ^= mat ^- mast :: per owner
=+ mat=(~(get by pol.lex) p.fav)
?~(mat *mast u.mat)
=+ ^= sat ^- seat :: per app
=+ sat=(~(get by bum.mat) q.fav)
?^ sat u.sat
%* . *seat
eny (shax (mix now eny))
lat now
==
=^ mos lex
?: =(~ tea)
?. ?=(%mean -.fav) ~|(%gall-what !!)
=+ ^= mat ^- mast
=+ mat=(~(get by pol.lex) p.fav)
?~(mat *mast u.mat)
=+ ^= sat ^- seat
=+ sat=(~(get by bum.mat) q.fav)
?~(sat *def u.sat)
=^ ost sat
^- [bone seat]
=+ byn=(~(get by zam.sat) hen)
?^ byn u.byn
[p.zam.sat sat(p.zam +(p.zam), q.zam (~(put by q.sam) hen p.zam.sat)]
=+ ^= tox
:* ost
now
eny
r.fav
*(list move)
p.fav
q.fav
sat
==
=^ mos sat abet:(~(axon za tox) fav)
:- mos
%= lex
pol (~(put by pol.lex) p.fav mat(bum (~(put by bum.mat) q.fav sat)))
==
?> ?=([@ @ *] tea)
=+ [our=(need (slaw %p i.tea)) app=(need (slaw %tas i.t.tea))]
=+ mat=(need (~(get by pol.lex) our))
=+ sat=(need (~(get by bum.mat) app))
=+ ost=(need (~(get by q.zam.sat) hen))
=+ law=p:(need (~(get by zos.sat) ost))
=+ ^= tox
:* ost
now
eny
law
*(list move)
our
app
sat
==
=^ mos sat abet:(~(axon za tox) t.t.tea fav)
:- mos
lex(pol (~(put by pol.lex) p.fav mat(bum (~(put by bum.mat) q.fav sat))))
==
[`(list move)`mos ..^$]
::
++ come
|= [sam=? old=vase]
^- vane
(load old)
::
++ doze
|= [now=@da hen=duct]
^- (unit ,@da)
~
::
++ load
|= old=vase
^- vane
?. (~(nest ut -:!>(`axle`+>-.^$)) | p.old)
~& %ford-reset
..^$
..^$(+>- (axle q.old))
::
++ raze
^- vane
..$(+>- *axle)
::
++ scry
|= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
~
::
++ stay
`vase`!>((colt `axle`+>-.$))
++ vern [164 0]
~(. go [our app mat sat])
--
==
. == :: end preface

View File

@ -8784,39 +8784,68 @@
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
!:
|%
++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: fundamental node
++ bead ,[[p=ship q=desk r=case] s=path] :: global name
++ case :: version
$% [%da p=@da] :: date
[%tas p=@tas] :: label
[%ud p=@ud] :: sequence
== ::
++ desk ,@tas :: ship desk case spur
++ chop :: permissions
$: say=(set monk) :: data authorizers
use=(set monk) :: data users
$: use=(unit (set monk)) :: data users
say=(set monk) :: data authors
== ::
++ curd ,[p=@tas q=*] :: typeless card
++ disk |*(a=$+(* *) (pair gene (hypo a))) :: global/local typed
++ duct (list wire) :: causal history
++ helm :: privilege
$| ?(%gold %iron) :: root, user
$% [%lead p=ship] :: foreign
++ gene :: global schema
$& [p=gene q=gene] :: autocons
$% [%at p=@tas] :: atom
[%gl p=glob] :: global objective
[%fa p=@tas q=gene] :: named
[%li p=gene] :: list
[%no ~] :: untyped
[%ma p=gene q=gene] :: map
[%se p=gene] :: set
[%sy p=@tas q=gene r=gene] :: symbolic declare
[%un p=gene] :: unit
[%va p=@tas] :: symbolic reference
== ::
++ glob ,[p=logo q=ship r=mark] :: global brand
++ herd (hypo curd) :: typed card
++ hilt ?(0 1 2) :: lead iron gold
++ hypo |*(a=$+(* *) (pair type a)) :: type associated
++ khan ,[p=@tas q=path] :: foreign identity
++ logo ,@tas :: content type
++ mark ,@uvH :: type by core hash
++ mill (each vase milt) :: vase/metavase
++ milt ,[p=* q=*] :: metavase
++ monk (each ship khan) :: general identity
++ mold :: general action
|* [a=$+(* *) b=$+(* *)] :: new move
$% [%call p=term q=path r=a] :: advance
$% [%toss p=term q=path r=a] :: advance
[%slip p=term q=a] :: send across
[%sick p=b] :: lame refactoring
[%give p=b] :: retreat
== ::
++ muse ,[p=@tas q=duct r=(mold herd herd)] :: sourced move
++ mosh ,[p=duct q=(mold curd curd)] :: old move
++ move ,[p=duct q=(mold herd herd)] :: raw action
++ muse ,[p=@tas q=duct r=(mold mill mill)] :: sourced move
++ mosh ,[p=duct q=(mold curd curd)] :: vane move
++ move ,[p=duct q=(mold mill mill)] :: arvo move
++ ovum ,[p=wire q=curd] :: typeless ovum
++ pane (list ,[p=@tas q=vase]) :: kernel modules
++ pone (list ,[p=@tas q=vise]) :: kernel modules, old
++ ship ,@p :: network identity
++ view :: observation core
$_ ^? ::
|% ++ u *(unit (unit (unit ,@ud))) :: last change
++ v *(unit (unit (disk))) :: historic subtree
++ w *(unit (unit (unit ,[p=@ud q=(disk)]))) :: change and diff
++ x *(unit (unit (disk))) :: actual data
++ y *(unit (unit arch)) :: directory
++ z *(unit (unit (disk))) :: current subtree
-- ::
++ wire path :: event pretext
++ writ ,[p=helm q=ship] :: authority
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: section 3bE, Arvo core ::
::
@ -8867,16 +8896,20 @@
++ song :: reduce metacard
|= mex=vase :: mex: vase of card
^- mill ::
?. (sunk p.mex) !! :: a card is a cell
?. (sunk p.mex) :: a card is a cell
~& %song-a !!
?. ?=(%meta -.q.mex) [%& mex] :: ordinary card
=+ tiv=(slot 3 mex) :: tiv: vase of vase
?. (sunk p.tiv) !! :: a vase is a cell
?. (souk -:!>(*type) p:(slot 2 tiv)) !! :: vase head is type
?. (sunk p.tiv) :: a vase is a cell
~& %song-b !!
?. (souk -:!>(*type) p:(slot 2 tiv)) :: vase head is type
~& %song-c !! ::
=+ mut=(,[p=* q=*] q.tiv) :: card type, value
:- %| :: metacard
|- ^- [p=* q=*] ::
?. ?=([%meta p=* q=[p=* q=*]] q.mut) mut :: ordinary metacard
?. (sike -:!>([%meta vase]) p.mut) !! :: meta-metacard
?. (sike -:!>([%meta vase]) p.mut) :: meta-metacard
~& %song-d !! ::
$(mut q.mut) :: descend into meta
::
++ sump
@ -8886,20 +8919,21 @@
=+ caq=(spec (slot 3 wec))
?+ q.caq ~&(%sump-bad !!)
::
[%call p=@tas q=* r=[p=@tas q=*]]
:^ %call (need ((sand %tas) ((hard ,@) p.q.caq)))
[%toss p=@tas q=* r=[p=@tas q=*]]
:^ %toss (need ((sand %tas) ((hard ,@) p.q.caq)))
((hard path) q.q.caq)
[%noun r.q.caq]
:: (song (slot 15 caq))
(song (spec (slot 15 caq)))
::
[%give p=[p=@tas q=*]]
[%give %noun p.q.caq]
[%give (song (spec (slot 3 caq)))]
::
[%sick p=[p=@tas q=*]]
[%sick %noun p.q.caq]
[%sick (song (slot 3 caq))]
::
[%slip p=@tas q=[p=@tas q=*]]
[%slip (need ((sand %tas) ((hard ,@) p.q.caq))) %noun q.q.caq]
:+ %slip
(need ((sand %tas) ((hard ,@) p.q.caq)))
(song (spec (slot 7 caq)))
==
::
++ said
@ -8910,7 +8944,7 @@
[(sump (slot 2 vud)) $(vud (slot 3 vud))]
::
++ scry
|= $: our=ship
|= $: fur=(unit (set monk))
ren=@tas
his=ship
syd=@tas
@ -8931,13 +8965,13 @@
++ swim
|= $: pux=(unit wire)
hen=duct
hud=herd
hil=mill
==
^- [p=(list move) q=vase]
=+ ^= pro
?~ pux
(slym (slap rig [%cnzy %call]) [hen hud])
(slym (slap rig [%cnzy %beat]) [u.pux hen hud])
(slym (slap rig [%cnzy %call]) [hen +.hil])
(slym (slap rig [%cnzy %take]) [u.pux hen +.hil])
:- (said (slap pro [%cnzy %p]))
(soar (slap pro [%cnzy %q]))
--
@ -8951,7 +8985,7 @@
|= [eny=@ bud=vase fan=(list ,[p=@tas q=vase])]
|_ now=@da
++ beck
|= wru=(unit writ)
|= fur=(unit (set monk))
|+ hap=*
^- (unit (unit))
=> .(hap ((hard path) hap))
@ -8967,14 +9001,14 @@
?. ?=([~ %$ %tas @] dyc) ~
?. ?=(^ ved) ~
=+ his=`@p`q.p.u.fal
=> .(wru ?^(wru wru [~ u=[p=[%lead his] q=his]])) :: XX dubious
=> .(fur ?^(fur fur `[[%& his] ~ ~])) :: XX heinous
=+ dis=(end 3 1 q.p.u.hyr)
=+ rem=(rsh 3 1 q.p.u.hyr)
|- ^- (unit (unit))
?~ fan ~
?. =(dis p.i.fan) $(fan t.fan)
%- scry:(wink:(vent bud q.i.fan) now (shax now) ..^$)
[q.u.wru rem his q.p.u.dyc u.ved tyl]
[fur rem his q.p.u.dyc u.ved tyl]
::
++ dink :: vase by char
|= din=@tas ^- vase
@ -8999,26 +9033,26 @@
|= ovo=ovum
^- [p=(list ovum) q=(list ,[p=@tas q=vase])]
?> ?=(^ p.ovo)
(kick [i.p.ovo ~ [%call (dint p.ovo) t.p.ovo [%noun q.ovo]]]~)
(kick [i.p.ovo ~ [%toss (dint p.ovo) t.p.ovo [%& %noun q.ovo]]]~)
::
++ race :: beat
|= [pux=(unit wire) hen=duct hud=herd ves=vase]
++ race :: take
|= [pux=(unit wire) hen=duct hil=mill ves=vase]
^- [p=(list move) q=vase]
=+ ven=(vent bud ves)
=+ win=(wink:ven now (shax now) (beck ~))
(swim:win pux hen hud)
(swim:win pux hen hil)
::
++ fire :: execute
|= [lal=term pux=(unit wire) hen=duct hud=herd]
|= [lal=term pux=(unit wire) hen=duct hil=mill]
?: &(?=(^ pux) ?=(~ hen))
[[[[lal u.pux] q.hud]~ ~] fan]
[[[[lal u.pux] (curd +>.hil)]~ ~] fan]
=+ naf=fan
|- ^- [[p=(list ovum) q=(list muse)] _fan]
?~ naf [[~ ~] ~]
?. =(lal p.i.naf)
=+ tuh=$(naf t.naf)
[-.tuh [i.naf +.tuh]]
=+ fiq=(race pux hen hud q.i.naf)
=+ fiq=(race pux hen hil q.i.naf)
[[~ (turn p.fiq |=(a=move [lal a]))] [[p.i.naf q.fiq] t.naf]]
::
++ jack :: dispatch card
@ -9026,7 +9060,7 @@
^- [[p=(list ovum) q=(list muse)] _fan]
%- fire
?- -.r.gum
%call
%toss
[p.r.gum ~ [[p.gum q.r.gum] q.gum] r.r.gum]
::
%give

View File

@ -1873,7 +1873,6 @@
r=(map ,@ta ankh) :: folders
== ::
++ apex ,[p=@uvI q=(map ,@ta ,@uvI) r=(map ,@ta ,~)] :: node report (old)
++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: node report (new)
++ ball ,@uw :: statement payload
++ bait ,[p=skin q=@ud r=dove] :: fmt nrecvd spec
++ bath :: convo per client
@ -2023,7 +2022,7 @@
[%loot p=@tas q=path] :: request directory
[%make p=(unit ,@t) q=@ud r=@] :: wild license
[%mean p=ship q=term r=chop s=vase] :: application event
[%meta p=ship q=vase] :: abstract app action
[%meta p=vase] :: meta-card
[%meat p=ship q=card] :: concrete app action
[%mine p=@ud q=@t] :: query matched line
[%noop ~] :: no operation
@ -2118,7 +2117,6 @@
lab=(map ,@tas ,@ud) :: labels
== ::
++ dojo ,[p=cult q=dome] :: domestic desk state
++ desk ,@tas :: ship desk case spur
++ door :: foreign contact
$: wod=road :: connection to
wyl=will :: inferred mirror
@ -2273,7 +2271,6 @@
++ life ,@ud :: regime number
++ lint (list rock) :: fragment array
++ lode $|(@tas [p=lode q=lode]) :: constructed logos
++ logo ,@tas :: content type
++ love $% :: http response
[%ham p=manx] :: html node
[%mid p=mite q=octs] :: mime-typed data
@ -2521,16 +2518,11 @@
++ tube ,[p=@ta q=@ta r=@ta s=path] :: canonical path
++ tutu ,* :: presumed type
++ vane $_ :: kernel actor
|+ [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
|+ $: now=@da ::
eny=@ ::
ska=$+(* (unit (unit))) :: activate
== ::
^? |% ::
++ beat :: update
|= $: pax=wire :: pretext
hen=duct :: cause
typ=type :: event type
fav=card :: event
== ::
:- p=*(list move) :: actions
q=*vane :: consequence
++ call :: update
|= $: hen=duct :: channel
typ=type :: event type
@ -2549,7 +2541,7 @@
*vane ::
++ raze *vane :: erase all state
++ scry :: inspect
|= $: our=ship :: observer
|= $: fur=(unit (set monk)) :: observers
ren=@tas :: submode
his=ship :: target
syd=@tas :: project
@ -2558,6 +2550,14 @@
== ::
*(unit (unit)) :: record
++ stay *vase :: save state, new
++ take :: update
|= $: pax=wire :: pretext
hen=duct :: cause
typ=type :: event type
fav=card :: event
== ::
:- p=*(list move) :: actions
q=*vane :: consequence
++ vern [_@ud _@ud] :: hoon/vane version
-- ::
++ wund (list ,[p=life q=ring r=acru]) :: mace in action