mirror of
https://github.com/urbit/shrub.git
synced 2025-01-07 05:26:56 +03:00
waypoint
This commit is contained in:
parent
5f08f67e54
commit
3406a1e9a4
154
arvo/clay.hoon
154
arvo/clay.hoon
@ -114,6 +114,7 @@
|
|||||||
[%ride p=twig q=silk] :: silk thru twig
|
[%ride p=twig q=silk] :: silk thru twig
|
||||||
[%tabl p=(list (pair silk silk))] :: list
|
[%tabl p=(list (pair silk silk))] :: list
|
||||||
[%vale p=mark q=ship r=*] :: validate [our his]
|
[%vale p=mark q=ship r=*] :: validate [our his]
|
||||||
|
[%volt p=(set beam) q=(cask ,*)] :: unsafe add type
|
||||||
== ::
|
== ::
|
||||||
++ raft :: filesystem
|
++ raft :: filesystem
|
||||||
$: fat=(map ship room) :: domestic
|
$: fat=(map ship room) :: domestic
|
||||||
@ -363,7 +364,7 @@
|
|||||||
(edit:ze wen lem)
|
(edit:ze wen lem)
|
||||||
?~ hat
|
?~ hat
|
||||||
+>.$
|
+>.$
|
||||||
(echo:(checkout-ankh-a u.hat) wen ~ lem)
|
(echo:(checkout-ankh u.hat) wen ~ lem)
|
||||||
?. =(~ dok)
|
?. =(~ dok)
|
||||||
~& %already-applying-changes +>
|
~& %already-applying-changes +>
|
||||||
=+ ^= sop
|
=+ ^= sop
|
||||||
@ -607,52 +608,22 @@
|
|||||||
==
|
==
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ checkout-ankh-a
|
++ checkout-ankh
|
||||||
|= hat=(map path lobe)
|
|= hat=(map path lobe)
|
||||||
^+ +>
|
^+ +>
|
||||||
=- %_(+>.$ tag [- tag])
|
%_ +>.$
|
||||||
:* hen
|
tag
|
||||||
[%patching-a (scot %p who) syd ~]
|
:_ tag
|
||||||
%f %exec who ~ %tabl
|
:^ hen
|
||||||
^- (list (pair silk silk))
|
[%patching (scot %p who) syd ~]
|
||||||
%+ turn (~(tap by hat))
|
%f
|
||||||
|= [a=path b=lobe]
|
:^ %exec who ~ :- %tabl
|
||||||
^- (pair silk silk)
|
^- (list (pair silk silk))
|
||||||
:^ [%done ~ %path !>(a)]
|
%+ turn (~(tap by hat))
|
||||||
[%bunt (lobe-to-mark b)]
|
|= [a=path b=lobe]
|
||||||
=+ bol=(lobe-to-blob b)
|
^- (pair silk silk)
|
||||||
?. ?=(%direct -.bol)
|
:- [%done ~ %path !>(a)]
|
||||||
[%done ~ %null !>(~)]
|
(lobe-to-silk:ze b)
|
||||||
[%bunt p.r.bol]
|
|
||||||
[%done ~ %$ !>(b)]
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ take-patching-a
|
|
||||||
|= res=(each bead (list tank))
|
|
||||||
^+ +>
|
|
||||||
~| %patching-a
|
|
||||||
%- checkout-ankh-b
|
|
||||||
%+ turn (tage-to-cages (made-to-tage res))
|
|
||||||
|= [pax=cage qal=cage]
|
|
||||||
^- [pax=cage bun=cage dif=cage lob=cage]
|
|
||||||
?. ?=(%path p.pax) ~|(%strange-marc-a !!)
|
|
||||||
?. ?=(%$ p.qal) ~|(%strange-marc-b !!)
|
|
||||||
[pax (slot 2 qal) (slot 6 qal) (slot 7 qal)]
|
|
||||||
::
|
|
||||||
++ checkout-ankh-b
|
|
||||||
|= hab=(list ,[pax=cage bun=cage dif=cage lob=cage])
|
|
||||||
^+ +>
|
|
||||||
=- %_(+>.$ tag [- tag])
|
|
||||||
:* hen
|
|
||||||
[%patching-b (scot %p who) syd ~]
|
|
||||||
%f %exec who ~ %tabl
|
|
||||||
^- (list (pair silk silk))
|
|
||||||
%+ turn hab
|
|
||||||
|= [pax=cage bun=cage dif=cage lob=cage]
|
|
||||||
^- (pair silk silk)
|
|
||||||
:- [%done ~ pax]
|
|
||||||
=+ tie=?:(?=(%null p.dif) ~ `p.q.dif)
|
|
||||||
(lobe-to-silk ((hard lobe) q.q.lob) p.q.bun tie)
|
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ apply-foreign-update :: apply subscription
|
++ apply-foreign-update :: apply subscription
|
||||||
@ -810,11 +781,11 @@
|
|||||||
|= a=plop
|
|= a=plop
|
||||||
?- -.a
|
?- -.a
|
||||||
%delta
|
%delta
|
||||||
:- [%done ~ %blob !>([%delta p.a q.a *cask])]
|
:- [%done ~ %blob !>([%delta p.a q.a *page])]
|
||||||
[%vale p.r.a him q.r.a]
|
[%vale p.r.a him q.r.a]
|
||||||
::
|
::
|
||||||
%direct
|
%direct
|
||||||
:- [%done ~ %blob !>([%direct p.a *cask])]
|
:- [%done ~ %blob !>([%direct p.a *page])]
|
||||||
[%vale p.q.a him q.q.a]
|
[%vale p.q.a him q.q.a]
|
||||||
::
|
::
|
||||||
%indirect ~| %foreign-indirect-not-implemented !!
|
%indirect ~| %foreign-indirect-not-implemented !!
|
||||||
@ -950,22 +921,22 @@
|
|||||||
%indirect p.q
|
%indirect p.q
|
||||||
==
|
==
|
||||||
++ lobe-to-silk
|
++ lobe-to-silk
|
||||||
|= [a=lobe b=type c=(unit type)]
|
|= a=lobe
|
||||||
|- ^- silk
|
|- ^- silk
|
||||||
=+ bob=(~(got by lat.ran) a)
|
=+ bob=(~(got by lat.ran) a)
|
||||||
?- -.bob
|
?- -.bob
|
||||||
%direct [%done ~ p.q.bob b q.q.bob]
|
%direct [%volt ~ q.bob]
|
||||||
%indirect [%done ~ p.q.bob b q.q.bob]
|
%indirect [%volt ~ q.bob]
|
||||||
%delta [%pact $(a q.q.bob) [%done ~ p.r.bob (need c)]]
|
%delta [%pact $(a q.q.bob) [%volt ~ r.bob]]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ make-direct :: make blob
|
++ make-direct :: make blob
|
||||||
|= p=cask
|
|= p=page
|
||||||
^- blob
|
^- blob
|
||||||
[%direct (shax (jam p)) p]
|
[%direct (mug p) p]
|
||||||
::
|
::
|
||||||
++ make-delta :: make blob delta
|
++ make-delta :: make blob delta
|
||||||
|= [p=[p=mark q=lobe] q=cask]
|
|= [p=[p=mark q=lobe] q=page]
|
||||||
^- blob
|
^- blob
|
||||||
=+ t=[%delta 0 p q]
|
=+ t=[%delta 0 p q]
|
||||||
=+ ^= has
|
=+ ^= has
|
||||||
@ -993,40 +964,42 @@
|
|||||||
=- =+ sar=(sa (turn lar |=([p=path *] p))) :: changed paths
|
=- =+ sar=(sa (turn lar |=([p=path *] p))) :: changed paths
|
||||||
%+ roll (~(tap by hat) ~) :: find unchanged
|
%+ roll (~(tap by hat) ~) :: find unchanged
|
||||||
=< .(bat bar)
|
=< .(bat bar)
|
||||||
|= [[pat=path gar=lobe] bat=(map path blob)]
|
|= [[pax=path gar=lobe] bat=(map path blob)]
|
||||||
?: (~(has in sar) pat) :: has update
|
?: (~(has in sar) pax) :: has update
|
||||||
bat
|
bat
|
||||||
%+ ~(put by bat) pat
|
%+ ~(put by bat) pax
|
||||||
~| [pat gar (lent (~(tap by lat.ran)))]
|
~| [pax gar (lent (~(tap by lat.ran)))]
|
||||||
(lobe-to-blob gar) :: use original
|
(lobe-to-blob gar) :: use original
|
||||||
^= bar ^- (map path blob)
|
^= bar ^- (map path blob)
|
||||||
%+ roll lar
|
%+ roll lar
|
||||||
|= [[pat=path mys=misu] bar=(map path blob)]
|
|= [[pax=path mys=misu] bar=(map path blob)]
|
||||||
^+ bar
|
^+ bar
|
||||||
?- -.mys
|
?- -.mys
|
||||||
%ins :: insert if not exist
|
%ins :: insert if not exist
|
||||||
?: (~(has by bar) pat) !! ::
|
?: (~(has by bar) pax) !! ::
|
||||||
?: (~(has by hat) pat) !! ::
|
?: (~(has by hat) pax) !! ::
|
||||||
%+ ~(put by bar) pat
|
%+ ~(put by bar) pax
|
||||||
%- make-direct
|
%- make-direct
|
||||||
?: &(?=(%mime -.p.mys) =([%hook ~] (slag (dec (lent pat)) pat)))
|
?: &(?=(%mime -.p.mys) =([%hook ~] (slag (dec (lent pax)) pax)))
|
||||||
`cask`[%hook +.+.q.q.p.mys]
|
`page`[%hook +.+.q.q.p.mys]
|
||||||
?: &(?=(%mime -.p.mys) =([%hoon ~] (slag (dec (lent pat)) pat)))
|
?: &(?=(%mime -.p.mys) =([%hoon ~] (slag (dec (lent pax)) pax)))
|
||||||
`cask`[%hoon +.+.q.q.p.mys]
|
`page`[%hoon +.+.q.q.p.mys]
|
||||||
p.mys
|
p.mys
|
||||||
%del :: delete if exists
|
%del :: delete if exists
|
||||||
?. |((~(has by hat) pat) (~(has by bar) pat)) !!
|
?. |((~(has by hat) pax) (~(has by bar) pax)) !!
|
||||||
(~(del by bar) pat)
|
(~(del by bar) pax)
|
||||||
%dif :: mutate, must exist
|
%dif :: mutate, must exist
|
||||||
=+ ber=(~(get by bar) pat) :: XX typed
|
=+ ber=(~(get by bar) pax) :: XX typed
|
||||||
=+ for==>((flop pax) ?~(. %$ i))
|
=+ for==>((flop pax) ?~(. %$ i))
|
||||||
?~ ber
|
?~ ber
|
||||||
=+ har=(~(get by hat) pat)
|
=+ har=(~(get by hat) pax)
|
||||||
?~ har !!
|
?~ har !!
|
||||||
%+ ~(put by bar) pat
|
%+ ~(put by bar) pax
|
||||||
(make-delta [(lobe-to-mark u.har) u.har] p.mys) :: XX check vase !evil
|
(make-delta [(lobe-to-mark u.har) u.har] [p q.q]:p.mys)
|
||||||
%+ ~(put by bar) pat
|
:: XX check vase !evil
|
||||||
(make-delta [(lobe-to-mark p.u.ber) p.u.ber] p.mys)::XX check vase !evil
|
%+ ~(put by bar) pax
|
||||||
|
(make-delta [(lobe-to-mark p.u.ber) p.u.ber] [p q.q]:p.mys)
|
||||||
|
:: XX check vase !evil
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ as-arch
|
++ as-arch
|
||||||
@ -1240,12 +1213,13 @@
|
|||||||
=+ hat=q:(aeon-to-yaki yon)
|
=+ hat=q:(aeon-to-yaki yon)
|
||||||
?: (~(any by hat) |=(a=lobe ?=(%delta [-:(lobe-to-blob a)])))
|
?: (~(any by hat) |=(a=lobe ?=(%delta [-:(lobe-to-blob a)])))
|
||||||
~
|
~
|
||||||
=+ ^- (map path cage)
|
!!
|
||||||
%- ~(run by hat)
|
::=+ ^- (map path cage)
|
||||||
|= a=lobe
|
:: %- ~(run by hat)
|
||||||
=+ (lobe-to-blob a)
|
:: |= a=lobe
|
||||||
?-(-.- %direct q.-, %indirect q.-, %delta !!)
|
:: =+ (lobe-to-blob a)
|
||||||
`+>.$(ank.dom (checkout-ankh -), let.dom yon)
|
:: ?-(-.- %direct q.-, %indirect q.-, %delta !!)
|
||||||
|
::`+>.$(ank.dom (checkout-ankh -), let.dom yon)
|
||||||
::
|
::
|
||||||
++ update-lat :: update-lat:ze
|
++ update-lat :: update-lat:ze
|
||||||
|= [lag=(map path blob) sta=(map lobe blob)] :: fix lat
|
|= [lag=(map path blob) sta=(map lobe blob)] :: fix lat
|
||||||
@ -1695,7 +1669,7 @@
|
|||||||
?~ -
|
?~ -
|
||||||
~| %mate-strange-diff-no-base
|
~| %mate-strange-diff-no-base
|
||||||
!!
|
!!
|
||||||
(make-delta [(lobe-to-mark u.-) u.-] cay)
|
(make-delta [(lobe-to-mark u.-) u.-] [p q.q]:cay)
|
||||||
[(~(put by hat) pax p.bol) (~(put by lat) p.bol bol)]
|
[(~(put by hat) pax p.bol) (~(put by lat) p.bol bol)]
|
||||||
=. hat :: all the content
|
=. hat :: all the content
|
||||||
%- ~(uni by old)
|
%- ~(uni by old)
|
||||||
@ -2156,23 +2130,7 @@
|
|||||||
[-.zot abet:(pish:une syd +.zot ran.zat)]
|
[-.zot abet:(pish:une syd +.zot ran.zat)]
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
%patching-a
|
%patching
|
||||||
?> ?=([@ @ ~] t.tea)
|
|
||||||
=+ who=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
|
||||||
=^ mos ruf
|
|
||||||
?: (~(has by fat.ruf) who)
|
|
||||||
=+ une=(un who now hen ruf)
|
|
||||||
=+ zat=(take-patching-a:(di:wake:une syd) p.q.hin)
|
|
||||||
=+ zot=abet.zat
|
|
||||||
[-.zot abet:(pish:une syd +.zot ran.zat)]
|
|
||||||
=+ zax=(do now hen [who who] syd ruf)
|
|
||||||
=+ zat=(take-patching-a:zax p.q.hin)
|
|
||||||
=+ zot=abet.zat
|
|
||||||
[-.zot (posh who syd +.zot ruf)]
|
|
||||||
[mos ..^$]
|
|
||||||
::
|
|
||||||
%patching-b
|
|
||||||
?> ?=([@ @ ~] t.tea)
|
?> ?=([@ @ ~] t.tea)
|
||||||
=+ who=(slav %p i.t.tea)
|
=+ who=(slav %p i.t.tea)
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
|
@ -83,6 +83,7 @@
|
|||||||
[%ride p=twig q=silk] :: silk thru twig
|
[%ride p=twig q=silk] :: silk thru twig
|
||||||
[%tabl p=(list (pair silk silk))] :: list
|
[%tabl p=(list (pair silk silk))] :: list
|
||||||
[%vale p=mark q=ship r=*] :: validate [our his]
|
[%vale p=mark q=ship r=*] :: validate [our his]
|
||||||
|
[%volt p=(set beam) q=(cask ,*)] :: unsafe add type
|
||||||
== ::
|
== ::
|
||||||
-- ::
|
-- ::
|
||||||
|% :: structures
|
|% :: structures
|
||||||
@ -982,11 +983,11 @@
|
|||||||
::
|
::
|
||||||
%bunt
|
%bunt
|
||||||
%+ cool |.(leaf/"ford: bunt {<p.kas>}")
|
%+ cool |.(leaf/"ford: bunt {<p.kas>}")
|
||||||
:: ?: ?=(?(%hoon %hook) p.kas)
|
?: ?=(?(%hoon %hook) p.kas)
|
||||||
:: (fine cof p.kas [%atom %t] '')
|
(fine cof p.kas [%atom %t] '')
|
||||||
%+ cope (fang cof p.kas [our %main [%da now]])
|
%+ cope (fang cof p.kas [our %main [%da now]])
|
||||||
|= [cof=cafe tux=vase]
|
|= [cof=cafe tux=vase]
|
||||||
(fine cof [p.kas (slot 6 tux))
|
(fine cof [p.kas (slot 6 tux)])
|
||||||
::
|
::
|
||||||
%call
|
%call
|
||||||
:: %+ cool |.(leaf/"ford: call {<`@p`(mug kas)>}")
|
:: %+ cool |.(leaf/"ford: call {<`@p`(mug kas)>}")
|
||||||
@ -1077,6 +1078,13 @@
|
|||||||
%+ cope (lave cof p.kas q.kas r.kas)
|
%+ cope (lave cof p.kas q.kas r.kas)
|
||||||
|= [cof=cafe vax=vase]
|
|= [cof=cafe vax=vase]
|
||||||
(fine cof `cage`[p.kas vax])
|
(fine cof `cage`[p.kas vax])
|
||||||
|
::
|
||||||
|
%volt
|
||||||
|
%+ cool |.(leaf/"ford: volt {<p.q.kas>}")
|
||||||
|
%+ cope $(kas [%bunt p.q.kas])
|
||||||
|
|= [cof=cafe cay=gage]
|
||||||
|
^- (bolt gage)
|
||||||
|
[cof %0 p.kas p.q.kas p.q.cay q.q.kas]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ malt :: cached slit
|
++ malt :: cached slit
|
||||||
|
@ -9745,8 +9745,8 @@
|
|||||||
[%ud p=@ud] :: sequence
|
[%ud p=@ud] :: sequence
|
||||||
== ::
|
== ::
|
||||||
++ desk ,@tas :: ship desk case spur
|
++ desk ,@tas :: ship desk case spur
|
||||||
++ cage (pair mark vase) :: global metadata
|
++ cage (cask vase) :: global metadata
|
||||||
++ cask (pair mark ,*) :: global data
|
++ cask |*(a=_,* (pair mark a)) :: global data
|
||||||
++ cuff :: permissions
|
++ cuff :: permissions
|
||||||
$: p=kirk :: readers
|
$: p=kirk :: readers
|
||||||
q=(set monk) :: authors
|
q=(set monk) :: authors
|
||||||
|
@ -1763,9 +1763,9 @@
|
|||||||
pac=rock :: packet data
|
pac=rock :: packet data
|
||||||
== ::
|
== ::
|
||||||
++ blob :: fs blob
|
++ blob :: fs blob
|
||||||
$% [%delta p=lobe q=[p=mark q=lobe] r=cask] :: delta on q
|
$% [%delta p=lobe q=[p=mark q=lobe] r=page] :: delta on q
|
||||||
[%direct p=lobe q=cask] :: immediate
|
[%direct p=lobe q=page] :: immediate
|
||||||
[%indirect p=lobe q=cask r=lobe s=cask] :: both
|
[%indirect p=lobe q=page r=lobe s=page] :: both
|
||||||
== ::
|
== ::
|
||||||
++ boat ,[(list slip) tart] :: user stage
|
++ boat ,[(list slip) tart] :: user stage
|
||||||
++ boon :: fort output
|
++ boon :: fort output
|
||||||
@ -2070,6 +2070,7 @@
|
|||||||
== ::
|
== ::
|
||||||
++ octs ,[p=@ud q=@] :: octet-stream
|
++ octs ,[p=@ud q=@] :: octet-stream
|
||||||
++ oryx ,@t :: CSRF secret
|
++ oryx ,@t :: CSRF secret
|
||||||
|
++ page (cask) :: untyped cage
|
||||||
++ pail ?(%none %warm %cold) :: connection status
|
++ pail ?(%none %warm %cold) :: connection status
|
||||||
++ plan (trel view (pair ,@da (unit ,@dr)) path) :: subscription
|
++ plan (trel view (pair ,@da (unit ,@dr)) path) :: subscription
|
||||||
++ plea ,[p=@ud q=[p=? q=@t]] :: live prompt
|
++ plea ,[p=@ud q=[p=? q=@t]] :: live prompt
|
||||||
@ -2111,7 +2112,7 @@
|
|||||||
++ rand :: vaseless rant
|
++ rand :: vaseless rant
|
||||||
$: p=[p=care q=case r=@tas] :: clade release book
|
$: p=[p=care q=case r=@tas] :: clade release book
|
||||||
q=path :: spur
|
q=path :: spur
|
||||||
r=cask :: data
|
r=page :: data
|
||||||
== ::
|
== ::
|
||||||
++ rave :: general request
|
++ rave :: general request
|
||||||
$% [& p=mood] :: single request
|
$% [& p=mood] :: single request
|
||||||
|
Loading…
Reference in New Issue
Block a user