Long poll v1

This commit is contained in:
Anton Dyudin 2015-02-09 17:52:29 -08:00
parent 8afeb67157
commit a3383bd740
2 changed files with 239 additions and 212 deletions

View File

@ -11,7 +11,7 @@
[%thus p=@ud q=(unit hiss)] :: http request/cancel [%thus p=@ud q=(unit hiss)] :: http request/cancel
[%veer p=@ta q=path r=@t] :: drop-through [%veer p=@ta q=path r=@t] :: drop-through
[%vega p=path] :: drop-through [%vega p=path] :: drop-through
== :: == ::
++ hasp ,[p=ship q=term] :: don't see %gall ++ hasp ,[p=ship q=term] :: don't see %gall
++ hapt ,[p=ship q=path] :: do see %gall ++ hapt ,[p=ship q=path] :: do see %gall
++ kiss :: in request ->$ ++ kiss :: in request ->$
@ -26,34 +26,36 @@
== :: == ::
++ move ,[p=duct q=(mold note gift)] :: local move ++ move ,[p=duct q=(mold note gift)] :: local move
++ note :: out request $-> ++ note :: out request $->
$% $: %a :: to %ames $%
$% [%want p=sock q=path r=*] :: :: $: %a :: to %ames
== == :: :: $% [%want p=sock q=path r=*] ::
:: == == ::
$: %c :: to %clay $: %c :: to %clay
$% [%warp p=sock q=riff] :: $% [%warp p=sock q=riff] ::
== == :: == == ::
$: %d :: to %dill $: %d :: to %dill
$% [%flog p=[%crud p=@tas q=(list tank)]] :: $% [%flog p=[%crud p=@tas q=(list tank)]] ::
== == :: == == ::
$: %e :: to %eyre :: $: %e :: to %eyre
$% [%this p=? q=clip r=httq] :: :: $% [%this p=? q=clip r=httq] ::
[%thud ~] :: :: [%thud ~] ::
== == :: :: == == ::
$: %f :: to %ford $: %f :: to %ford
$% [%exec p=@p q=(unit silk)] :: $% [%exec p=@p q=(unit silk)] ::
== == :: == == ::
$: %g :: to %gall :: $: %g :: to %gall
$% [%mess p=hapt q=ship r=cage] :: :: $% [%mess p=hapt q=ship r=cage] ::
[%nuke p=hapt q=ship] :: :: [%nuke p=hapt q=ship] ::
[%show p=hapt q=ship r=path] :: :: [%show p=hapt q=ship r=path] ::
[%took p=hapt q=ship] :: :: [%took p=hapt q=ship] ::
== == :: :: == == ::
$: %t :: to %temp :: $: %t :: to %temp
$% [%wait p=@da] :: :: $% [%wait p=@da] ::
[%rest p=@da] :: :: [%rest p=@da] ::
== == == :: :: == ==
== ::
++ rave :: see %clay ++ rave :: see %clay
$% [| p=moat] :: $% [& p=mood] ::
== :: == ::
++ riff ,[p=desk q=(unit rave)] :: see %clay ++ riff ,[p=desk q=(unit rave)] :: see %clay
++ silk :: see %ford ++ silk :: see %ford
@ -105,91 +107,92 @@
ged=duct :: client interface ged=duct :: client interface
ney=@uvI :: rolling entropy ney=@uvI :: rolling entropy
dop=(map host ship) :: host aliasing dop=(map host ship) :: host aliasing
own=(map ship serf) :: domestic servers liz=(jug beak (each duct oryx))
fon=(map ship rote) :: foreign servers :: own=(map ship serf) :: domestic servers
ask=[p=@ud q=(map ,@ud ,[p=duct q=hiss])] :: outgoing by number :: fon=(map ship rote) :: foreign servers
kes=(map duct ,@ud) :: outgoing by duct :: ask=[p=@ud q=(map ,@ud ,[p=duct q=hiss])] :: outgoing by number
lor=(map duct dual) :: incoming by duct :: kes=(map duct ,@ud) :: outgoing by duct
== :: :: lor=(map duct dual) :: incoming by duct
++ clue :: console
$: ino=@ud :: input sequence
ono=@ud :: (lent out)
voy=(map ,@ud (list ,@ud)) :: waiters (q.rey)
out=(list json) :: output commands
== ::
++ cyst :: client session
$: ced=cred :: credential
cow=(map ,@ud clue) :: consoles
cug=(list ,@t) :: unacked cookies
lax=@da :: last used
sok=(map ,@ud (pair ship sink)) :: live apps by reqno
rey=[p=@ud q=(map ,@ud pimp)] :: live requests
== ::
++ dual ,[p=@ud q=(each ,[p=ship q=hole] ship)] :: request handle
++ dude ,[p=@tas q=@] :: client identity
++ pest :: request in progress
$| $? %new :: virgin
%way :: waiting
== ::
$% [%err p=@ud q=(list tank)] :: error report
[%fin p=love] :: ready to send
[%fud p=(each bead (list tank))] :: function finished
[%haz p=riot] :: clay responded
[%raw p=hiss] :: wild url
[%who p=@tas q=@ta] :: awaiting auth
== ::
++ pimp :: traced request
$: ful=? :: | === HEAD
fur=(unit mark) :: type goal
hen=duct :: event trace
som=seam :: logical request
pez=pest :: request state
sip=marl :: injected scripts
== ::
++ rote :: remote server
$: cnt=@ud :: number served
sor=@p :: home sponsor
rem=[p=@ud q=(map ,@ud duct)] :: active requests
== ::
++ seam :: logical request
$% [%ape p=ship q=@ud r=@ud] :: subscribe pull
[%aph p=ship q=@ud r=@ud s=json] :: app heartbeat
[%apg p=term q=ship r=mark s=path] :: app get/start
[%apm p=ship q=@ud r=@ud s=hasp for=mark t=json] :: message send
[%app p=ship q=(unit ,@ud)] :: script by port
[%aps p=ship q=@ud s=hasp t=path] :: subscribe
[%apu p=ship q=@ud s=hasp t=path] :: unsubscribe
[%cog p=@ud q=@ud] :: console get
[%con p=@ud] :: console face
[%cop p=@ud q=@ud r=json] :: console put
[%det p=desk q=moat] :: load changes
[%fun p=term q=tube r=(list manx)] :: functional
[%lon p=seal] :: authentication flow
[%red p=purl] :: redirect
[%sil p=@ud q=silk] :: status and silk
== ::
++ serf :: local server
$: pef=@t :: server prefix
wup=(map hole cyst) :: secure sessions
cah=(map cash vase) :: compilation cache
== ::
++ sink :: page push system
$: bet=[wig=swig num=@ud tim=@da hen=duct] :: heartbeat
meg=[wig=swig num=@ud] :: messages
sub=[wig=swig num=@ud can=(map ,@ud stem)] :: subscriptions
== ::
++ stem :: subscription
$: hap=hasp ::
pax=path ::
hen=duct ::
num=(unit (each ,@ud ,@ud)) ::
== ::
++ swig :: update channel
$: cnt=@ud :: updates produced
toy=@ud :: updates sent
wan=(map ,@ud ,@ud) :: upno to reqno
red=(map ,@ud (unit (each cage cage))) :: ready for pickup
== :: == ::
:: ++ clue :: console
:: $: ino=@ud :: input sequence
:: ono=@ud :: (lent out)
:: voy=(map ,@ud (list ,@ud)) :: waiters (q.rey)
:: out=(list json) :: output commands
:: == ::
:: ++ cyst :: client session
:: $: ced=cred :: credential
:: cow=(map ,@ud clue) :: consoles
:: cug=(list ,@t) :: unacked cookies
:: lax=@da :: last used
:: sok=(map ,@ud (pair ship sink)) :: live apps by reqno
:: rey=[p=@ud q=(map ,@ud pimp)] :: live requests
:: == ::
:: ++ dual ,[p=@ud q=(each ,[p=ship q=hole] ship)] :: request handle
:: ++ dude ,[p=@tas q=@] :: client identity
:: ++ pest :: request in progress
:: $| $? %new :: virgin
:: %way :: waiting
:: == ::
:: $% [%err p=@ud q=(list tank)] :: error report
:: [%fin p=love] :: ready to send
:: [%fud p=(each bead (list tank))] :: function finished
:: [%haz p=riot] :: clay responded
:: [%raw p=hiss] :: wild url
:: [%who p=@tas q=@ta] :: awaiting auth
:: == ::
:: ++ pimp :: traced request
:: $: ful=? :: | === HEAD
:: fur=(unit mark) :: type goal
:: hen=duct :: event trace
:: som=seam :: logical request
:: pez=pest :: request state
:: sip=marl :: injected scripts
:: == ::
:: ++ rote :: remote server
:: $: cnt=@ud :: number served
:: sor=@p :: home sponsor
:: rem=[p=@ud q=(map ,@ud duct)] :: active requests
:: == ::
:: ++ seam :: logical request
:: $% [%ape p=ship q=@ud r=@ud] :: subscribe pull
:: [%aph p=ship q=@ud r=@ud s=json] :: app heartbeat
:: [%apg p=term q=ship r=mark s=path] :: app get/start
:: [%apm p=ship q=@ud r=@ud s=hasp for=mark t=json] :: message send
:: [%app p=ship q=(unit ,@ud)] :: script by port
:: [%aps p=ship q=@ud s=hasp t=path] :: subscribe
:: [%apu p=ship q=@ud s=hasp t=path] :: unsubscribe
:: [%cog p=@ud q=@ud] :: console get
:: [%con p=@ud] :: console face
:: [%cop p=@ud q=@ud r=json] :: console put
:: [%det p=desk q=moat] :: load changes
:: [%fun p=term q=tube r=(list manx)] :: functional
:: [%lon p=seal] :: authentication flow
:: [%red p=purl] :: redirect
:: [%sil p=@ud q=silk] :: status and silk
:: == ::
:: ++ serf :: local server
:: $: pef=@t :: server prefix
:: wup=(map hole cyst) :: secure sessions
:: cah=(map cash vase) :: compilation cache
:: == ::
:: ++ sink :: page push system
:: $: bet=[wig=swig num=@ud tim=@da hen=duct] :: heartbeat
:: meg=[wig=swig num=@ud] :: messages
:: sub=[wig=swig num=@ud can=(map ,@ud stem)] :: subscriptions
:: == ::
:: ++ stem :: subscription
:: $: hap=hasp ::
:: pax=path ::
:: hen=duct ::
:: num=(unit (each ,@ud ,@ud)) ::
:: == ::
:: ++ swig :: update channel
:: $: cnt=@ud :: updates produced
:: toy=@ud :: updates sent
:: wan=(map ,@ud ,@ud) :: upno to reqno
:: red=(map ,@ud (unit (each cage cage))) :: ready for pickup
:: == ::
-- :: -- ::
|% |%
:: ++ coss :: cookie search :: ++ coss :: cookie search
@ -255,7 +258,7 @@
|= [a=[p=cord cord] b=math] |= [a=[p=cord cord] b=math]
=. p.a (cass (trip p.a)) =. p.a (cass (trip p.a))
(~(add ja b) a) (~(add ja b) a)
:: :: ::
:: ++ eccu :: [hasp json] :: ++ eccu :: [hasp json]
:: |= [orx=oryx moh=moth] :: |= [orx=oryx moh=moth]
:: ^- (unit ,[hasp mark json]) :: ^- (unit ,[hasp mark json])
@ -366,6 +369,29 @@
?- -.+.sih ?- -.+.sih
%crud %crud
+>.$(mow [[hen %slip %d %flog +.sih] mow]) +>.$(mow [[hen %slip %d %flog +.sih] mow])
::
%made
?+ tea +>.$
[%neu @ ~]
:: ~& e/ford/hen
=+ our=(slav %p i.t.tea)
?- -.p.sih
| (fail 404 p.p.sih)
& =* cag q.p.p.sih
?> ?=(%mime p.cag)
=+ ((hard ,[mit=mite rez=octs]) q.q.cag) :: XX
(muff %thou 200 [content-type/(moon mit)]~ ~ rez)
==
==
::
%writ
?^ tea ~&(e/missed/writ/tea=tea +>.$)
?~ p.sih +>.$
=+ caz=`case`q.p.u.p.sih
?> ?=(%ud -.caz)
(jive (jone p.caz))
:: %- gout
:: [(slav %p i.t.tea) i.t.t.tea (slav %ud i.t.t.t.tea) p.+.sih]
:: :: :: ::
:: ?(%dumb %mean %nice %rush %rust) :: ?(%dumb %mean %nice %rush %rust)
:: ?> ?=([%hoop @ @ @ ?([%mess @ @ ~] [%show @ ~])] tea) :: ?> ?=([%hoop @ @ @ ?([%mess @ @ ~] [%show @ ~])] tea)
@ -420,19 +446,7 @@
:: =< abet =< work =< abet :: =< abet =< work =< abet
:: (soon ?=(%rust -.+.sih) sem u.ouy can %show (wrap sem (json q.+.sih))) :: (soon ?=(%rust -.+.sih) sem u.ouy can %show (wrap sem (json q.+.sih)))
:: == :: ==
:: :: ::
%made
?+ tea +>.$
[%neu @ ~]
:: ~& e/ford/hen
=+ our=(slav %p i.t.tea)
?- -.p.sih
| (fail 404 p.p.sih)
& =* cag q.p.p.sih
?> ?=(%mime p.cag)
=+ ((hard ,[mit=mite rez=octs]) q.q.cag) :: XX
(muff %thou 200 [content-type/(moon mit)]~ ~ rez)
==
:: :: :: ::
:: [%honk @ @ @ ~] :: [%honk @ @ @ ~]
:: %- galt :: %- galt
@ -477,7 +491,6 @@
:: %^ hear:(yule:u.ouy %meg) ~ %& :: %^ hear:(yule:u.ouy %meg) ~ %&
:: [%json !>((rong ~ %from-json-fail p.p.+.sih))] :: [%json !>((rong ~ %from-json-fail p.p.+.sih))]
:: == :: ==
==
:: :: :: ::
:: %thou :: remote return :: %thou :: remote return
:: ?> ?=([@ @ *] tea) :: ?> ?=([@ @ *] tea)
@ -502,12 +515,6 @@
:: :: :: ::
:: %went :: %went
:: +>.$ :: +>.$
::
%writ
?< ?=([%hoot @ @ @ ~] tea)
+>.$
:: %- gout
:: [(slav %p i.t.tea) i.t.t.tea (slav %ud i.t.t.t.tea) p.+.sih]
== ==
:: ::
++ apex ++ apex
@ -520,14 +527,15 @@
%init :: register ownership %init :: register ownership
%_ +>.$ %_ +>.$
hov ?~(hov [~ p.kyz] [~ (min u.hov p.kyz)]) hov ?~(hov [~ p.kyz] [~ (min u.hov p.kyz)])
own :: ::
%+ ~(put by own) :: own
p.kyz :: %+ ~(put by own)
^- serf :: p.kyz
:* (cat 3 gub (rsh 3 1 (scot %p p.kyz))) :: ^- serf
~ :: :* (cat 3 gub (rsh 3 1 (scot %p p.kyz)))
~ :: ~
== :: ~
:: ==
== ==
:: :: :: ::
:: %them :: outbound request :: %them :: outbound request
@ -553,7 +561,7 @@
:: mow :_(mow [p.kas [%give %thou q.kyz]]) :: mow :_(mow [p.kas [%give %thou q.kyz]])
:: q.ask (~(del by q.ask) p.kas) :: q.ask (~(del by q.ask) p.kas)
:: == :: ==
:: :: ::
%this :: inbound request %this :: inbound request
=* sec p.kyz :: ? :: https bit =* sec p.kyz :: ? :: https bit
=* heq r.kyz :: httq :: request content =* heq r.kyz :: httq :: request content
@ -677,7 +685,7 @@
:: ^+ +> :: ^+ +>
:: =+ boy=(myth our (need ((sand %ta) ((hard ,@) hez)))) :: =+ boy=(myth our (need ((sand %ta) ((hard ,@) hez))))
:: ?~(boy +>.$ abet:(auth:u.boy him)) :: ?~(boy +>.$ abet:(auth:u.boy him))
:: :: ::
++ heck :: regular request ++ heck :: regular request
|= [oar=ship pok=pork] |= [oar=ship pok=pork]
^- (unit beam) ^- (unit beam)
@ -701,13 +709,37 @@
:: =+ oar=`(unit ship)`?^(wiq wiq (doss r.p.pul)) :: =+ oar=`(unit ship)`?^(wiq wiq (doss r.p.pul))
=+ oar=(fall (doss r.p.pul) (need hov)) =+ oar=(fall (doss r.p.pul) (need hov))
=+ ext=(fall p.q.pul %html) =+ ext=(fall p.q.pul %html)
%- |=(a=(each ,_..hell tang) ?~(-.a p.a (fail 404 >%exit< p.a)))
%- mule |. ^+ ..hell
=+ hek=(heck oar q.pul) =+ hek=(heck oar q.pul)
?^ hek ?^ hek
=: s.u.hek [%web ~(rent co (flux:ya /'' r.pul)) s.u.hek] =: s.u.hek [%web ~(rent co (flux:ya /'' r.pul)) s.u.hek]
r.u.hek ?+(r.u.hek r.u.hek [%ud %0] da/now) r.u.hek ?+(r.u.hek r.u.hek [%ud %0] da/now)
== ==
(honk oar [%cast %mime %boil ext u.hek ~]) (honk oar [%cast %mime %boil ext u.hek ~])
(fail 404 >%irregular-path< (smyt q.q.pul) ~) =+ hem=(hemp oar [q r]:pul)
?~ hem
~|(strange-path/(smyt q.q.pul) !!)
%+ hoot oar
=- [q.u.hem ~ %& %y ud/+(`@ud`-) /]
?: ?=(%ud -.r.u.hem)
p.r.u.hem
;;(@ (need (sky %cw (tope u.hem /))))
::
++ hemp :: auxillary(/~) request
|= [oar=ship pok=pork quy=quay]
^- (unit beak)
?. ?=([%'~' @ *] q.pok) ~
:- ~
=* pef i.t.q.pok
=+ but=t.t.q.pok :: XX =*
?+ pef ~|(pfix-lost/`path`/~/[pef] !!)
%on ?~ but !! :: XX look by query string
?> ?=([@ @ $|(~ [@ ~])] but)
=- -:(need (tome -))
?^ t.t.but but(i (cat 3 '~' i.but))
[(scot %p oar) but]
==
:: ?. (home oar) :: ?. (home oar)
:: (hork oar hyx) :: (hork oar hyx)
:: (huff oar q.hyx pul moh) :: (huff oar q.hyx pul moh)
@ -718,33 +750,20 @@
:: ?: (~(has by own) who) & :: ?: (~(has by own) who) &
:: ?: (~(has by fon) who) | :: ?: (~(has by fon) who) |
:: !=(~ (sky /a/(scot %p who)/buck/(scot %da now))) :: !=(~ (sky /a/(scot %p who)/buck/(scot %da now)))
:: :: ::
:: ++ hoot :: clay request ++ hoot :: clay request
:: |= [our=ship num=@ud ses=hole rif=riff] |= [our=ship rif=riff]
:: %_ +> (miff ~ %c [%warp [our our] rif])
:: mow ::
:: :_ mow
:: :+ hen %pass
:: [[%hoot (scot %p our) ses (scot %ud num) ~] %c [%warp [our our] rif]]
:: ==
:: ::
++ hone :: kill ford ++ hone :: kill ford
|= [our=ship num=@ud ses=hole] |= [our=ship ses=hole]
%_ +> (miff [%neu (scot %p our) ~] %f [%exec our ~])
mow
:_ mow
[hen %pass [%honk (scot %p our) ses (scot %ud num) ~] %f [%exec our ~]]
==
:: ::
++ honk :: ford request ++ honk :: ford request
|= [our=ship kas=silk] |= [our=ship kas=silk]
:: ~& [%honk our num ses -.kas] :: ~& [%honk our num ses -.kas]
%_ +> (miff [%neu (scot %p our) ~] %f [%exec our `kas])
mow ::
:_ mow
[hen %pass [%neu (scot %p our) ~] %f [%exec our `kas]]
==
:: ::
:: ++ hooj :: ford json request :: ++ hooj :: ford json request
:: |= [our=ship ses=hole nap=@ud can=@ud ful=? kas=silk] :: |= [our=ship ses=hole nap=@ud can=@ud ful=? kas=silk]
:: %_ +> :: %_ +>
@ -802,7 +821,7 @@
:: q.rem (~(put by q.rem.rot) num hen) :: q.rem (~(put by q.rem.rot) num hen)
:: == :: ==
:: == :: ==
:: :: ::
++ horn :: irregular request ++ horn :: irregular request
|= [pul=purl cip=clip moh=moth] |= [pul=purl cip=clip moh=moth]
^- (unit gift) ^- (unit gift)
@ -867,15 +886,22 @@
:: == :: ==
:: abet:work:(~(into ya [our p.saw] sef q.saw) pul moh) :: abet:work:(~(into ya [our p.saw] sef q.saw) pul moh)
:: ::
++ jive :: success json
|= jon=json
(muff (tuff application//json (crip (pojo jon))))
++ muff :: return card ++ muff :: return card
|= gef=gift |= gef=gift
+>(mow :_(mow [hen %give gef])) +>(mow :_(mow [hen %give gef]))
:: ::
++ miff :: pass card
|= noe=[wire note]
+>(mow :_(mow [hen %pass noe]))
::
++ tuff ++ tuff
|= [mit=mite rez=@] :: success response |= [mit=mite rez=@] :: success response
^- gift ^- gift
[%thou 200 ~[content-type/(moon mit)] [~ (taco rez)]] [%thou 200 ~[content-type/(moon mit)] [~ (taco rez)]]
:: :: ::
:: ++ myth :: load session :: ++ myth :: load session
:: |= [our=ship ses=hole] :: |= [our=ship ses=hole]
:: =+ suf=(~(get by own) our) :: =+ suf=(~(get by own) our)
@ -1101,12 +1127,21 @@
:: [%path %s (crip <pax.sem>)] :: [%path %s (crip <pax.sem>)]
:: [%data `json`jon] :: [%data `json`jon]
:: == :: ==
:: :: ::
++ ya :: session engine ++ ya :: session engine
=| [[our=ship ses=hole] serf cyst] =| [[our=ship ses=hole] ~] ::serf cyst]
=* sef ->- :: =* sef ->-
=* cyz ->+ :: =* cyz ->+
|% |%
++ flux :: credential caboose
|= [nyp=path quy=quay] ^- coin
:* %many
[%$ %ta ~]
[%blob *cred] ::ced]
|- ^- (list coin)
?~ quy ~
[[%$ %t p.i.quy] [%$ %t q.i.quy] $(quy t.quy)]
==
:: ++ abet :: resolve engine :: ++ abet :: resolve engine
:: ^+ ..ya :: ^+ ..ya
:: %= ..ya :: %= ..ya
@ -1470,15 +1505,6 @@
:: ~ :: ~
:: [~ %cop u.fee u.fum u.jun] :: [~ %cop u.fee u.fum u.jun]
:: :: :: ::
++ flux :: credential caboose
|= [nyp=path quy=quay] ^- coin
:* %many
[%$ %ta ~]
[%blob ced]
|- ^- (list coin)
?~ quy ~
[[%$ %t p.i.quy] [%$ %t q.i.quy] $(quy t.quy)]
==
:: :: :: ::
:: ++ foin :: version request :: ++ foin :: version request
:: |= [fur=(unit term) you=@p paw=(list ,@t) quy=quay] :: |= [fur=(unit term) you=@p paw=(list ,@t) quy=quay]
@ -1797,7 +1823,7 @@
:: =+ pot=`(list ,[p=@ud q=pimp])`?~(top ~ [[p.n.yub u.top] ~]) :: =+ pot=`(list ,[p=@ud q=pimp])`?~(top ~ [[p.n.yub u.top] ~])
:: [:(weld pot dex sid) +.^$] :: [:(weld pot dex sid) +.^$]
:: +.$(q.rey (~(gas by `_q.rey`~) zib)) :: +.$(q.rey (~(gas by `_q.rey`~) zib))
::
:: ++ wink :: advance request :: ++ wink :: advance request
:: |= [num=@ud pip=pimp] :: |= [num=@ud pip=pimp]
:: ^- [(unit pimp) _+>] :: ^- [(unit pimp) _+>]
@ -1982,7 +2008,7 @@
:: :_ +>.$ :: :_ +>.$
:: ?.((~(has ju aut.ced) p.pez.pip q.pez.pip) [~ pip] [~ pip(pez %new)]) :: ?.((~(has ju aut.ced) p.pez.pip q.pez.pip) [~ pip] [~ pip(pez %new)])
:: == :: ==
::
:: ++ work :: ++ work
:: |- ^+ + :: |- ^+ +
:: =+ sez=step :: =+ sez=step
@ -2333,9 +2359,9 @@
~ ~
:: ::
++ load ++ load
|= old=bolo |= old=_[%0 gub hov ged ney dop **]
^+ ..^$ ^+ ..^$
..^$(+>- old) ..^$(+>- (bolo old))
:: ::
++ scry ++ scry
|= [our=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] |= [our=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]

View File

@ -2065,12 +2065,13 @@
[~ ~] [~ ~]
?^ t.rax ?^ t.rax
[p.pok [i.rax q.pok]]:[pok=$(rax t.rax) .] [p.pok [i.rax q.pok]]:[pok=$(rax t.rax) .]
=+ ^- raf=(unit ,[p=term q=(unit term)]) =+ ^- raf=(like tape)
%+ rush i.rax %. [1^1 (flop (trip i.rax))]
;~(plug sym ;~((bend) (easy ~) ;~(pfix dot sym))) ;~(sfix (plus ;~(less dot next)) dot)
?~ raf ?~ q.raf
[~ [i.rax ~]] [~ [i.rax ~]]
[q.u.raf [p.u.raf ~]] =+ `[ext=tape [@ @] fyl=tape]`u.q.raf
[[~ (crip (flop ext))] [(crip (flop fyl)) ~]]
:: ::
++ fuel :: parse fcgi ++ fuel :: parse fcgi
|= [bem=beam but=path] |= [bem=beam but=path]
@ -2602,22 +2603,22 @@
?~ two one ?~ two one
?:((lth u.one u.two) one two) ?:((lth u.one u.two) one two)
:: ::
++ mojo :: compiling load :: ++ mojo :: compiling load
|= [pax=path src=*] :: |= [pax=path src=*]
^- (each twig (list tank)) :: ^- (each twig (list tank))
?. ?=(@ src) :: ?. ?=(@ src)
[%| ~[[leaf/"musk: malformed: {<pax>}"]]] :: [%| ~[[leaf/"musk: malformed: {<pax>}"]]]
=+ ^= mud :: =+ ^= mud
%- mule |. :: %- mule |.
((full vest) [1 1] (trip src)) :: ((full vest) [1 1] (trip src))
?: ?=(| -.mud) mud :: ?: ?=(| -.mud) mud
?~ q.p.mud :: ?~ q.p.mud
:~ %| :: :~ %|
leaf/"musk: syntax error: {<pax>}" :: leaf/"musk: syntax error: {<pax>}"
leaf/"musk: line {<p.p.p.mud>}, column {<q.p.p.mud>}" :: leaf/"musk: line {<p.p.p.mud>}, column {<q.p.p.mud>}"
== :: ==
[%& p.u.q.p.mud] :: [%& p.u.q.p.mud]
:: :: ::
++ mole :: new to old sky ++ mole :: new to old sky
|= ska=$+(* (unit (unit))) |= ska=$+(* (unit (unit)))
|= a=* |= a=*
@ -2626,21 +2627,21 @@
?~ b ~ ?~ b ~
?~ u.b ~ ?~ u.b ~
[~ u.u.b] [~ u.u.b]
:: :: ::
++ much :: constructing load :: ++ much :: constructing load
|= [pax=path src=*] :: |= [pax=path src=*]
^- gank :: ^- gank
=+ moj=(mojo pax src) :: =+ moj=(mojo pax src)
?: ?=(| -.moj) moj :: ?: ?=(| -.moj) moj
(mule |.((slap !>(+>.$) `twig`p.moj))) :: (mule |.((slap !>(+>.$) `twig`p.moj)))
:: :: ::
++ musk :: compiling apply :: ++ musk :: compiling apply
|= [pax=path src=* sam=vase] :: |= [pax=path src=* sam=vase]
^- gank :: ^- gank
=+ mud=(much pax src) :: =+ mud=(much pax src)
?: ?=(| -.mud) mud :: ?: ?=(| -.mud) mud
(mule |.((slam p.mud sam))) :: (mule |.((slam p.mud sam)))
:: :: ::
++ pack :: light path encoding ++ pack :: light path encoding
|= [a=term b=path] ^- span |= [a=term b=path] ^- span
%+ rap 3 :- (wack a) %+ rap 3 :- (wack a)