mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-02 03:52:13 +03:00
Merge remote-tracking branch 'origin/newunix' into test
Conflicts: urb/urbit.pill urb/zod/ape/hood.hoon
This commit is contained in:
commit
811c17a9ac
@ -4,7 +4,7 @@
|
||||
::
|
||||
/? 314
|
||||
/- *talk, *bit-api
|
||||
/+ talk, sole, http, mean
|
||||
/+ talk, sole, http
|
||||
!:
|
||||
:::: sivtyv-barnel
|
||||
:: be sure to have oauth2-code markk
|
@ -369,7 +369,9 @@
|
||||
::
|
||||
++ dy-done :: dialog submit
|
||||
|= txt=tape
|
||||
?> ?=(^ pro)
|
||||
?. ?=(^ pro)
|
||||
~& %dy-no-prompt
|
||||
(dy-diff %bel ~)
|
||||
(dy-slam /dial u.pro !>(txt))
|
||||
::
|
||||
++ dy-over :: finish construction
|
||||
@ -452,7 +454,7 @@
|
||||
::
|
||||
++ dy-twig-head :: dynamic state
|
||||
^- vase
|
||||
:(slop !>(`our=@p`our.hid) !>(`tym=@da`now.hid) !>(`eny=@uvI`eny.hid))
|
||||
:(slop !>(`our=@p`our.hid) !>(`now=@da`now.hid) !>(`eny=@uvI`eny.hid))
|
||||
::
|
||||
++ dy-made-dial :: dialog product
|
||||
|= cag=cage
|
||||
@ -670,6 +672,7 @@
|
||||
++ peer-sole
|
||||
|= [pax=path]
|
||||
^- (quip move +>)
|
||||
:: ~& [%dojo-peer ost.hid pax]
|
||||
~? !=(src.hid our.hid) [%dojo-peer-stranger ost.hid src.hid pax]
|
||||
:: ?> =(src.hid our.hid)
|
||||
~? (~(has by hoc) ost.hid) [%dojo-peer-replaced ost.hid pax]
|
||||
@ -689,6 +692,7 @@
|
||||
++ poke-sole-action
|
||||
|= [act=sole-action]
|
||||
^- (quip move +>)
|
||||
~| [%dojo-poke ost.hid -.act (~(run by hoc) ,~)]
|
||||
:: ~& [%dojo-poke ost.hid src.hid act]
|
||||
:: ~? !=(src.hid our.hid) [%dojo-poke ost.hid src.hid]
|
||||
he-abet:(~(he-type he [ost.hid ~] (~(got by hoc) ost.hid)) act)
|
@ -71,37 +71,40 @@
|
||||
++ from-helm (from-lib %helm [..$ ,_abet]:(helm-work))
|
||||
++ from-kiln (from-lib %kiln [..$ ,_abet]:(kiln-work))
|
||||
::
|
||||
++ poke-dill-belt (wrap poke-dill-belt):from-drum
|
||||
++ poke-helm-init (wrap poke-init):from-helm
|
||||
++ poke-helm-verb (wrap poke-verb):from-helm
|
||||
++ poke-helm-send-hi (wrap poke-send-hi):from-helm
|
||||
++ poke-helm-hi (wrap poke-hi):from-helm
|
||||
++ poke-hood-link (wrap poke-link):from-drum
|
||||
++ poke-hood-mass (wrap poke-mass):from-helm
|
||||
++ poke-hood-sync (wrap poke-sync):from-kiln
|
||||
++ poke-hood-unsync (wrap poke-unsync):from-kiln
|
||||
++ poke-hood-unix (wrap poke-unix):from-kiln
|
||||
++ poke-hood-begin (wrap poke-begin):from-helm
|
||||
++ poke-hood-invite (wrap poke-invite):from-helm
|
||||
++ poke-hood-merge (wrap poke-merge):from-kiln
|
||||
++ poke-hood-reload (wrap poke-reload):from-helm
|
||||
++ poke-hood-reset (wrap poke-reset):from-helm
|
||||
++ poke-hood-start (wrap poke-start):from-drum
|
||||
++ poke-hood-reload-desk (wrap poke-reload-desk):from-helm
|
||||
++ poke-kiln-cp (wrap poke-cp):from-kiln
|
||||
++ poke-kiln-rm (wrap poke-rm):from-kiln
|
||||
++ poke-kiln-mv (wrap poke-mv):from-kiln
|
||||
++ poke-kiln-schedule (wrap poke-schedule):from-kiln
|
||||
++ poke-will (wrap poke-will):from-helm
|
||||
++ init-helm |=([way=wire *] [~ +>])
|
||||
++ made-kiln (wrap take-made):from-kiln
|
||||
++ mere-kiln (wrap take-mere):from-kiln
|
||||
++ mere-kiln-sync (wrap take-mere-sync):from-kiln
|
||||
++ made-kiln (wrap take-made):from-kiln
|
||||
++ init-helm |=([way=wire *] [~ +>])
|
||||
++ note-helm (wrap take-note):from-helm
|
||||
++ reap-drum-phat (wrap reap-phat):from-drum
|
||||
++ onto-drum (wrap take-onto):from-drum
|
||||
++ peer-drum (wrap peer):from-drum
|
||||
++ poke-dill-belt (wrap poke-dill-belt):from-drum
|
||||
++ poke-drum-link (wrap poke-link):from-drum
|
||||
++ poke-drum-start (wrap poke-start):from-drum
|
||||
++ poke-helm-hi (wrap poke-hi):from-helm
|
||||
++ poke-helm-init (wrap poke-init):from-helm
|
||||
++ poke-helm-invite (wrap poke-invite):from-helm
|
||||
++ poke-helm-mass (wrap poke-mass):from-helm
|
||||
++ poke-helm-reload (wrap poke-reload):from-helm
|
||||
++ poke-helm-reload-desk (wrap poke-reload-desk):from-helm
|
||||
++ poke-helm-reset (wrap poke-reset):from-helm
|
||||
++ poke-helm-send-hi (wrap poke-send-hi):from-helm
|
||||
++ poke-helm-verb (wrap poke-verb):from-helm
|
||||
++ poke-hood-begin (wrap poke-begin):from-helm
|
||||
++ poke-hood-sync (wrap poke-sync):from-kiln
|
||||
++ poke-kiln-cp (wrap poke-cp):from-kiln
|
||||
++ poke-kiln-label (wrap poke-label):from-kiln
|
||||
++ poke-kiln-merge (wrap poke-merge):from-kiln
|
||||
++ poke-kiln-mount (wrap poke-mount):from-kiln
|
||||
++ poke-kiln-mv (wrap poke-mv):from-kiln
|
||||
++ poke-kiln-rm (wrap poke-rm):from-kiln
|
||||
++ poke-kiln-schedule (wrap poke-schedule):from-kiln
|
||||
++ poke-kiln-sync (wrap poke-sync):from-kiln
|
||||
++ poke-kiln-unmount (wrap poke-unmount):from-kiln
|
||||
++ poke-kiln-unsync (wrap poke-unsync):from-kiln
|
||||
++ poke-will (wrap poke-will):from-helm
|
||||
++ quit-drum-phat (wrap quit-phat):from-drum
|
||||
++ reap-drum-phat (wrap reap-phat):from-drum
|
||||
++ woot-helm (wrap take-woot):from-helm
|
||||
++ writ-kiln-sync (wrap take-writ):from-kiln
|
||||
--
|
@ -782,7 +782,7 @@
|
||||
%_(+> coz [cod coz])
|
||||
::
|
||||
++ sh-twig-head ^- vase :: eval data
|
||||
:(slop !>(`our=@p`our.hid) !>(`tym=@da`now.hid) !>(`eny=@uvI`eny.hid))
|
||||
:(slop !>(`our=@p`our.hid) !>(`now=@da`now.hid) !>(`eny=@uvI`eny.hid))
|
||||
::
|
||||
++ sh-work :: do work
|
||||
|= job=work
|
||||
@ -1659,6 +1659,7 @@
|
||||
?+ -.sep ~&(tr-lost/sep "")
|
||||
%fat
|
||||
=+ rem=$(sep q.sep)
|
||||
?: (gth (lent rem) 60) (trim 62 rem)
|
||||
=- "{rem} {(trim (sub 60 (lent rem)) -)}"
|
||||
?+ -.p.sep "..."
|
||||
%tank ~(ram re %rose [" " `~] +.p.sep)
|
||||
@ -1682,10 +1683,11 @@
|
||||
++ peer :: accept subscription
|
||||
|= [pax=path]
|
||||
^- [(list move) _+>]
|
||||
:: ~& [%talk-peer src.hid ost.hid pax]
|
||||
~? !=(src.hid our.hid) [%peer-talk-stranger src.hid]
|
||||
:: ~& [%talk-peer src ost pax]
|
||||
?: ?=([%sole *] pax)
|
||||
?> =(our.hid src.hid)
|
||||
?< (~(has by shells) ost.hid)
|
||||
~? (~(has by shells) ost.hid) [%talk-peer-replaced ost.hid pax]
|
||||
ra-abet:(~(ra-console ra ost.hid ~) src.hid t.pax)
|
||||
:: ~& [%talk-peer-data ost.hid src.hid pax]
|
||||
ra-abet:(~(ra-subscribe ra ost.hid ~) src.hid pax)
|
@ -1,4 +1,4 @@
|
||||
!: :: ames (4a), networking
|
||||
:: :: ames (4a), networking
|
||||
::
|
||||
|= pit=vase
|
||||
=> =~
|
||||
@ -413,7 +413,7 @@
|
||||
vix=(bex +((cut 0 [25 2] mag))) :: width of sender
|
||||
tay=(cut 0 [27 5] mag) :: message type
|
||||
==
|
||||
?> =(7 vez)
|
||||
?> =(0 vez)
|
||||
?> =(chk (end 0 20 (mug bod)))
|
||||
:+ [(end 3 wix bod) (cut 3 [wix vix] bod)]
|
||||
(kins tay)
|
||||
@ -433,7 +433,7 @@
|
||||
=+ tay=(ksin q.kec)
|
||||
%+ mix
|
||||
%+ can 0
|
||||
:~ [3 7]
|
||||
:~ [3 0]
|
||||
[20 (mug bod)]
|
||||
[2 yax]
|
||||
[2 qax]
|
||||
@ -1018,7 +1018,7 @@
|
||||
++ gnaw :: gnaw:am
|
||||
|= [kay=cape ryn=lane pac=rock] :: process packet
|
||||
^- [p=(list boon) q=fort]
|
||||
?. =(7 (end 0 3 pac)) [~ fox]
|
||||
?. =(0 (end 0 3 pac)) [~ fox]
|
||||
=+ kec=(bite pac)
|
||||
?: (goop p.p.kec) [~ fox]
|
||||
?. (~(has by urb.ton.fox) q.p.kec)
|
@ -1,4 +1,4 @@
|
||||
:: :: %time, just a timer
|
||||
:: :: %behn, just a timer
|
||||
!? 164
|
||||
!:::
|
||||
|= pit=vase
|
||||
@ -12,7 +12,7 @@
|
||||
== ::
|
||||
++ broq |* [a=_,* b=_,*] :: brodal skew qeu
|
||||
(list (sqeu a b)) ::
|
||||
++ gift gift-time :: out result <-$
|
||||
++ gift gift-behn :: out result <-$
|
||||
++ kiss :: in request ->$
|
||||
$% [%rest p=@da] :: cancel alarm
|
||||
[%wait p=@da] :: set alarm
|
||||
@ -161,10 +161,10 @@
|
||||
q.hic
|
||||
^- kiss
|
||||
?: ?=(%soft -.q.hic)
|
||||
:: ~& [%time-call-soft (,@tas `*`-.p.q.hic)]
|
||||
:: ~& [%behn-call-soft (,@tas `*`-.p.q.hic)]
|
||||
((hard kiss) p.q.hic)
|
||||
?: (~(nest ut -:!>(*kiss)) | p.hic) q.hic
|
||||
~& [%time-call-flub (,@tas `*`-.q.hic)]
|
||||
~& [%behn-call-flub (,@tas `*`-.q.hic)]
|
||||
((hard kiss) q.hic)
|
||||
==
|
||||
=^ mof tym
|
||||
@ -193,7 +193,7 @@
|
||||
%wegh
|
||||
:_ tym :_ ~
|
||||
:^ hen %give %mass
|
||||
:- %time
|
||||
:- %behn
|
||||
:- %|
|
||||
:~ tym/`tym
|
||||
==
|
@ -1,4 +1,4 @@
|
||||
!:
|
||||
!:
|
||||
:: clay (4c), revision control
|
||||
::
|
||||
|= pit=vase
|
||||
@ -15,7 +15,6 @@
|
||||
dom=dome :: desk data
|
||||
dok=(unit dork) :: outstanding diffs
|
||||
mer=(map (pair ship desk) mery) :: outstanding merges
|
||||
syn=? :: sync to unix
|
||||
== ::
|
||||
++ gift gift-clay :: out result <-$
|
||||
++ kiss kiss-clay :: in request ->$
|
||||
@ -82,6 +81,8 @@
|
||||
$: fat=(map ship room) :: domestic
|
||||
hoy=(map ship rung) :: foreign
|
||||
ran=rang :: hashes
|
||||
mon=(map term beam) :: mount points
|
||||
hez=(unit duct) :: sync duct
|
||||
== ::
|
||||
++ rede :: universal project
|
||||
$: lim=@da :: complete to
|
||||
@ -90,7 +91,6 @@
|
||||
dom=dome :: revision state
|
||||
dok=(unit dork) :: outstanding diffs
|
||||
mer=(map (pair ship desk) mery) :: outstanding merges
|
||||
syn=? :: sync to unix
|
||||
== ::
|
||||
++ rind :: request manager
|
||||
$: nix=@ud :: request index
|
||||
@ -101,7 +101,6 @@
|
||||
== ::
|
||||
++ room :: fs per ship
|
||||
$: hun=duct :: terminal duct
|
||||
hez=(unit duct) :: sync duct
|
||||
dos=(map desk dojo) :: native desk
|
||||
== ::
|
||||
++ rove :: stored request
|
||||
@ -113,12 +112,12 @@
|
||||
== ::
|
||||
++ tage ,[[%tabl p=(list (pair marc marc))] q=vase] :: %tabl gage
|
||||
++ dork :: diff work
|
||||
$: del=(list (pair path cage)) :: deletes
|
||||
$: del=(list path) :: deletes
|
||||
ink=(list (pair path cage)) :: hoo{n,k}
|
||||
ins=(unit (list (pair path cage))) :: inserts
|
||||
dig=(map path cage) :: store diffs
|
||||
dif=(unit (list (trel path lobe cage))) :: changes
|
||||
muc=(map path (pair cage cage)) :: store miso
|
||||
muc=(map path cage) :: store miso
|
||||
muh=(map path lobe) :: store hashes
|
||||
mut=(unit (list (trel path lobe cage))) :: mutations
|
||||
mim=(map path mime) :: mime cache
|
||||
@ -132,7 +131,7 @@
|
||||
|%
|
||||
++ de :: per desk
|
||||
|= [now=@da hen=duct hun=duct hez=(unit duct)]
|
||||
|= [[who=@p for=@p] syd=@ta rede ran=rang]
|
||||
|= [[who=@p for=@p] syd=@ta rede ran=rang mon=(map term beam)]
|
||||
=* red +<+>-
|
||||
=| yel=(list ,[p=duct q=gift])
|
||||
=| byn=(list ,[p=duct q=riot])
|
||||
@ -226,7 +225,7 @@
|
||||
?. ?=(%path p.pax)
|
||||
(mule |.(`~`~|([%expected-path got=p.pax] !!)))
|
||||
$(tay t.tay, can (~(put by can) ((hard path) q.q.pax) q.i.tay))
|
||||
|
||||
::
|
||||
++ balk :: read and send
|
||||
|= [hen=duct cay=(unit (each cage lobe)) mun=mood]
|
||||
^+ +>
|
||||
@ -283,10 +282,42 @@
|
||||
fod.u.ref (~(put by fod.u.ref) hen inx)
|
||||
==
|
||||
::
|
||||
++ lynx
|
||||
|= sun=(unit ,?)
|
||||
++ must-ergo
|
||||
|= can=(list path)
|
||||
^- (map term (pair ,@ud (set path)))
|
||||
%- mo ^- (list (trel term ,@ud (set path)))
|
||||
%+ murn (~(tap by mon))
|
||||
|= [nam=term bem=beam]
|
||||
^- (unit (trel term ,@ud (set path)))
|
||||
=- ?~(- ~ `[nam (lent s.bem) (sa -)])
|
||||
%+ skim can
|
||||
|= pax=path
|
||||
&(=(p.bem for) =(q.bem syd) =((flop s.bem) (scag (lent s.bem) pax)))
|
||||
::
|
||||
++ mont
|
||||
|= [pot=term pax=path]
|
||||
^+ +>
|
||||
+>.$(syn ?~(sun !syn u.sun))
|
||||
=+ can=(turn (~(tap by q:(aeon-to-yaki:ze let.dom))) head)
|
||||
=+ mus=(skim can |=(paf=path =(pax (scag (lent pax) paf))))
|
||||
?~ mus
|
||||
+>.$
|
||||
%_ +>.$
|
||||
tag
|
||||
:_ tag
|
||||
:* hen %pass [%ergoing (scot %p who) syd ~] %f
|
||||
%exec who [who syd %da now] ~ %tabl
|
||||
^- (list (pair silk silk))
|
||||
%+ turn `(list path)`mus
|
||||
|= a=path
|
||||
^- (pair silk silk)
|
||||
:- [%done ~ %path !>(a)]
|
||||
:+ %cast %mime
|
||||
=+ (need (need (read-x:ze let.dom a)))
|
||||
?: ?=(%& -<)
|
||||
[%done ~ p.-]
|
||||
(lobe-to-silk:ze a p.-)
|
||||
==
|
||||
==
|
||||
::
|
||||
++ ease :: release request
|
||||
^+ .
|
||||
@ -349,7 +380,6 @@
|
||||
=+ sar=(lobes-at-path:ze u.nab r.q.rav)
|
||||
=+ ear=(lobes-at-path:ze top r.q.rav)
|
||||
=. +>.$
|
||||
?: =(sar ear) +>.$
|
||||
(bleb hen u.nab ?:(p.rav ~ `[u.nab top]))
|
||||
?^ huy
|
||||
(blub hen)
|
||||
@ -363,7 +393,6 @@
|
||||
^+ +>
|
||||
%= +>
|
||||
reg ~& %merge-announce reg
|
||||
:: ?~(hez reg :_(reg [u.hez [%ergo who syd let.dom]]))
|
||||
:: yel [[hen %note '=' %leaf ~] yel] :: XX do better
|
||||
==
|
||||
::
|
||||
@ -416,7 +445,7 @@
|
||||
:* %+ turn del
|
||||
|= [pax=path mis=miso]
|
||||
?> ?=(%del -.mis)
|
||||
[pax p.mis]
|
||||
pax
|
||||
::
|
||||
%+ turn ink
|
||||
|= [pax=path mis=miso]
|
||||
@ -439,7 +468,7 @@
|
||||
%+ turn mut
|
||||
|= [pax=path mis=miso]
|
||||
?> ?=(%mut -.mis)
|
||||
[pax p.mis q.mis]
|
||||
[pax p.mis]
|
||||
::
|
||||
~
|
||||
::
|
||||
@ -469,9 +498,9 @@
|
||||
|= [pax=path mis=miso]
|
||||
^- (unit (pair path mime))
|
||||
?> ?=(%mut -.mis)
|
||||
?. ?=(%mime p.q.mis)
|
||||
?. ?=(%mime p.p.mis)
|
||||
~
|
||||
`[pax ((hard mime) q.q.q.mis)]
|
||||
`[pax ((hard mime) q.q.p.mis)]
|
||||
==
|
||||
==
|
||||
==
|
||||
@ -507,7 +536,8 @@
|
||||
|= [pax=path mis=miso]
|
||||
?> ?=(%mut -.mis)
|
||||
:- [%done ~ %path -:!>(*path) pax]
|
||||
[%cast p.p.mis [%done ~ q.mis]]
|
||||
=+ (lobe-to-mark:ze (~(got by q:(aeon-to-yaki:ze let.dom)) pax))
|
||||
[%cast - [%done ~ p.mis]]
|
||||
==
|
||||
==
|
||||
::
|
||||
@ -521,10 +551,11 @@
|
||||
:- [%diffing (scot %p who) syd (scot %da wen) pax]
|
||||
:^ %f %exec who :+ [who syd %da wen] ~
|
||||
^- silk
|
||||
=+ =+ (slag (dec (lent pax)) pax)
|
||||
=+ ?~(- %$ i.-)
|
||||
[%cast - [%done ~ q.mis]]
|
||||
[%diff [%done ~ p.mis] -]
|
||||
:+ %diff
|
||||
(lobe-to-silk:ze pax (~(got by q:(aeon-to-yaki:ze let.dom)) pax))
|
||||
=+ (slag (dec (lent pax)) pax)
|
||||
=+ ?~(- %$ i.-)
|
||||
[%cast - [%done ~ p.mis]]
|
||||
::
|
||||
%ins
|
||||
:- [%casting (scot %p who) syd (scot %da wen) pax]
|
||||
@ -546,7 +577,7 @@
|
||||
?> ?=(^ mut.u.dok)
|
||||
;: welp
|
||||
^- (list (pair path misu))
|
||||
(turn del.u.dok |=([pax=path cay=cage] [pax %del cay]))
|
||||
(turn del.u.dok |=(pax=path [pax %del ~]))
|
||||
::
|
||||
^- (list (pair path misu))
|
||||
(turn ink.u.dok |=([pax=path cay=cage] [pax %ins cay]))
|
||||
@ -635,7 +666,8 @@
|
||||
%+ turn cat
|
||||
|= [pax=path cay=cage]
|
||||
:- [%done ~ %path -:!>(*path) pax]
|
||||
[%diff [%done ~ p:(~(got by muc.u.dok) pax)] [%done ~ cay]]
|
||||
=+ (lobe-to-silk:ze pax (~(got by q:(aeon-to-yaki:ze let.dom)) pax))
|
||||
[%diff - [%done ~ cay]]
|
||||
==
|
||||
::
|
||||
++ take-mutating
|
||||
@ -681,7 +713,7 @@
|
||||
?> ?=(^ mut.u.dok)
|
||||
;: welp
|
||||
^- (list (pair path misu))
|
||||
(turn del.u.dok |=([pax=path cay=cage] [pax %del cay]))
|
||||
(turn del.u.dok |=(pax=path [pax %del ~]))
|
||||
::
|
||||
^- (list (pair path misu))
|
||||
(turn ink.u.dok |=([pax=path cay=cage] [pax %ins cay]))
|
||||
@ -716,26 +748,29 @@
|
||||
=. +>.$ =>(wake ?>(?=(^ dok) .))
|
||||
:: ~& %checked-out
|
||||
?~ hez +>.$(dok ~)
|
||||
?. syn +>.$(dok ~)
|
||||
=+ ^= ceq
|
||||
|= a=miso
|
||||
?| ?=(%del -.a)
|
||||
&(?=(%ins -.a) ?=(%mime -.+.a))
|
||||
&(?=(%mut -.a) ?=(%mime -.+>.a))
|
||||
==
|
||||
=+ mus=(must-ergo (turn sim head))
|
||||
?: =(~ mus)
|
||||
+>.$(dok ~)
|
||||
=+ ^- sum=(set path)
|
||||
=+ (turn (~(tap by mus)) (corl tail tail))
|
||||
%+ roll -
|
||||
|= [pak=(set path) acc=(set path)]
|
||||
(~(uni in acc) pak)
|
||||
=+ can=(mo sim)
|
||||
:: ~& %forming-ergo
|
||||
:: =- ~& %formed-ergo -
|
||||
%_ +>.$
|
||||
dok ~
|
||||
tag :: ?~(hez reg :_(reg [u.hez [%ergo who syd let.dom]]))
|
||||
tag
|
||||
:_ tag
|
||||
:* hen %pass [%ergoing (scot %p who) syd ~] %f
|
||||
%exec who [who syd %da now] ~ %tabl
|
||||
^- (list (pair silk silk))
|
||||
%+ turn sim
|
||||
|= [a=path b=misu]
|
||||
%+ turn (~(tap in sum))
|
||||
|= a=path
|
||||
^- (pair silk silk)
|
||||
:- [%done ~ %path !>(a)]
|
||||
=+ b=(~(got by can) a)
|
||||
?: ?=(%del -.b)
|
||||
[%done ~ %null !>(~)]
|
||||
=+ (~(get by mim.u.dok) a)
|
||||
@ -757,20 +792,26 @@
|
||||
[[hen %note '!' %rose [" " "" ""] leaf/"clay ergo failed" p.res] yel]
|
||||
==
|
||||
?~ hez ~|(%no-sync-duct !!)
|
||||
?. syn ~|(%sync-off !!)
|
||||
=+ ^- can=(map path (unit mime))
|
||||
%- mo ^- mode
|
||||
%+ turn (gage-to-cages res)
|
||||
|= [pax=cage mim=cage]
|
||||
?. ?=(%path p.pax)
|
||||
~|(%ergo-bad-path-mark !!)
|
||||
:- ((hard path) q.q.pax)
|
||||
?. ?=(%mime p.mim)
|
||||
~
|
||||
`((hard mime) q.q.mim)
|
||||
=+ mus=(must-ergo (turn (~(tap by can)) head))
|
||||
%= +>.$
|
||||
reg
|
||||
:_ reg
|
||||
:* u.hez %ergo who syd let.dom
|
||||
^- (list ,[path (unit mime)])
|
||||
%+ turn (gage-to-cages res)
|
||||
|= [pax=cage mim=cage]
|
||||
?. ?=(%path p.pax)
|
||||
~|(%ergo-bad-path-mark !!)
|
||||
:- ((hard path) q.q.pax)
|
||||
?. ?=(%mime p.mim)
|
||||
~
|
||||
`((hard mime) q.q.mim)
|
||||
%- welp :_ reg
|
||||
%+ turn (~(tap by mus))
|
||||
|= [pot=term len=@ud pak=(set path)]
|
||||
:* u.hez %ergo pot
|
||||
%+ turn (~(tap in pak))
|
||||
|= pax=path
|
||||
[(slag len pax) (~(got by can) pax)]
|
||||
==
|
||||
==
|
||||
::
|
||||
@ -825,7 +866,8 @@
|
||||
=+ let=let
|
||||
=+ hut=(~(uni by hut.ran) nut)
|
||||
=+ lat=(~(uni by lat.ran) nat)
|
||||
=+ =+ yon=`aeon`1 :: sanity check
|
||||
=+ ?: =(0 let) ~
|
||||
=+ yon=`aeon`1 :: sanity check
|
||||
|-
|
||||
~| yon=yon
|
||||
=+ tak=(~(got by hit) yon)
|
||||
@ -1262,6 +1304,9 @@
|
||||
%+ ~(put by bar) pax
|
||||
(make-delta p.mys [(lobe-to-mark u.har) u.har] [p q.q]:q.mys)
|
||||
:: XX check vase !evil
|
||||
:: XX of course that's a problem, p.u.ber isn't in rang since it
|
||||
:: was just cretated. We shouldn't be sending multiple
|
||||
:: diffs
|
||||
%+ ~(put by bar) pax
|
||||
(make-delta p.mys [(lobe-to-mark p.u.ber) p.u.ber] [p q.q]:q.mys)
|
||||
:: XX check vase !evil
|
||||
@ -1407,6 +1452,8 @@
|
||||
^- nako
|
||||
:+ hit.dom
|
||||
let.dom
|
||||
?~ =(0 b)
|
||||
[~ ~]
|
||||
(data-twixt-takos (~(get by hit.dom) a) (aeon-to-tako b))
|
||||
::
|
||||
++ query :: query:ze
|
||||
@ -1572,7 +1619,7 @@
|
||||
(rewind yon)
|
||||
|= a=(unit ,_+>.$)
|
||||
^- (unit (each cage lobe))
|
||||
?~ a
|
||||
?~ a
|
||||
~
|
||||
`(unit (each cage lobe))`(bind (read:u.a mun) (cury same %&))
|
||||
::
|
||||
@ -2008,7 +2055,6 @@
|
||||
!!
|
||||
[%pact (lobe-to-silk pax u.-) [%done ~ u.cay]]
|
||||
==
|
||||
|
||||
::
|
||||
++ built
|
||||
|= res=gage
|
||||
@ -2143,23 +2189,31 @@
|
||||
=. ank.dom ank.dat
|
||||
?~ hez
|
||||
(done:he ~)
|
||||
?. syn
|
||||
=+ mus=(must-ergo (turn (~(tap by erg.dat)) head))
|
||||
?: =(~ mus)
|
||||
(done:he ~)
|
||||
ergo
|
||||
::
|
||||
++ ergo
|
||||
^+ .
|
||||
=- %_(+ tag [- tag])
|
||||
=+ ^- sum=(set path)
|
||||
=+ (must-ergo (turn (~(tap by erg.dat)) head))
|
||||
=+ (turn (~(tap by -)) (corl tail tail))
|
||||
%+ roll -
|
||||
|= [pak=(set path) acc=(set path)]
|
||||
(~(uni in acc) pak)
|
||||
=+ zez=ze(ank.dom ank.dat)
|
||||
=+ val=?:(?=(%init gem.dat) ali bob)
|
||||
:* hen %pass
|
||||
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %ergo ~]
|
||||
%f %exec p.bob [p.val q.val cas.dat] ~ %tabl
|
||||
^- (list (pair silk silk))
|
||||
%+ turn (~(tap by erg.dat))
|
||||
|= [a=path b=?]
|
||||
%+ turn (~(tap in sum))
|
||||
|= a=path
|
||||
^- (pair silk silk)
|
||||
:- [%done ~ %path !>(a)]
|
||||
=+ b=(~(got by erg.dat) a)
|
||||
?. b
|
||||
[%done ~ %null !>(~)]
|
||||
:+ %cast %mime
|
||||
@ -2172,25 +2226,33 @@
|
||||
=+ tay=(gage-to-tage res)
|
||||
?: ?=(%| -.tay)
|
||||
(error:he %ergo-bad-made leaf/"merge ergo failed" p.tay)
|
||||
=+ =| can=mick
|
||||
|- ^- tan=$&(mick [p=term q=tang])
|
||||
?~ p.tay can
|
||||
=+ =| nac=mode
|
||||
|- ^- tan=$&(mode [p=term q=tang])
|
||||
?~ p.tay nac
|
||||
=* pax p.i.p.tay
|
||||
?. ?=(%path p.pax)
|
||||
[%ergo >[%expected-path got=p.pax]< ~]
|
||||
=* mim q.i.p.tay
|
||||
=+ mit=?.(?=(%mime p.mim) ~ `((hard mime) q.q.mim))
|
||||
$(p.tay t.p.tay, can :_(can [((hard path) q.q.pax) mit]))
|
||||
$(p.tay t.p.tay, nac :_(nac [((hard path) q.q.pax) mit]))
|
||||
?: ?=([@ *] tan) (error:he tan)
|
||||
=+ `can=(map path (unit mime))`(mo tan)
|
||||
?~ hez
|
||||
(error:he %ergo-no-hez ~)
|
||||
?. syn
|
||||
(error:he %ergo-sync-off ~)
|
||||
?: ?=(%| -.gon.dat)
|
||||
+>.$
|
||||
%_ +>.$
|
||||
don %|
|
||||
reg [[u.hez %ergo who syd let.dom tan] reg]
|
||||
reg
|
||||
=+ mus=(must-ergo (turn (~(tap by erg.dat)) head))
|
||||
%- welp :_ reg
|
||||
%+ turn (~(tap by mus))
|
||||
|= [pot=term len=@ud pak=(set path)]
|
||||
:* u.hez %ergo pot
|
||||
%+ turn (~(tap in pak))
|
||||
|= pax=path
|
||||
[(slag len pax) (~(got by can) pax)]
|
||||
==
|
||||
==
|
||||
::
|
||||
++ he
|
||||
@ -2250,7 +2312,7 @@
|
||||
%+ roll (~(tap in unk))
|
||||
|= [yak=yaki qar=(map tako (set tako))]
|
||||
(~(put by qar) r.yak (reachable-takos r.yak))
|
||||
|-
|
||||
|-
|
||||
^- (set yaki)
|
||||
?~ unk gud
|
||||
=+ bun=(~(del in `(set yaki)`unk) n.unk)
|
||||
@ -2271,8 +2333,8 @@
|
||||
?^(rug u.rug *rung)
|
||||
=+ ^= red ^- rede
|
||||
=+ yit=(~(get by rus.rug) syd)
|
||||
?^(yit u.yit `rede`[~2000.1.1 ~ [~ *rind] *dome ~ ~ %|])
|
||||
((de now hen ~ ~) [who him] syd red ran.ruf)
|
||||
?^(yit u.yit `rede`[~2000.1.1 ~ [~ *rind] *dome ~ ~])
|
||||
((de now hen ~ hez.ruf) [who him] syd red ran.ruf mon.ruf)
|
||||
::
|
||||
++ posh
|
||||
|= [him=ship syd=desk red=rede ruf=raft]
|
||||
@ -2294,7 +2356,7 @@
|
||||
%_ +>
|
||||
ran.ruf run
|
||||
dos.yar
|
||||
(~(put by dos.yar) syd [qyx.red dom.red dok.red mer.red syn.red])
|
||||
(~(put by dos.yar) syd [qyx.red dom.red dok.red mer.red])
|
||||
==
|
||||
::
|
||||
++ wake
|
||||
@ -2311,10 +2373,10 @@
|
||||
=+ ^= saq ^- dojo
|
||||
=+ saq=(~(get by dos.yar) syd)
|
||||
?~(saq *dojo u.saq)
|
||||
%^ (de now hen hun.yar hez.yar)
|
||||
%^ (de now hen hun.yar hez.ruf)
|
||||
[who who]
|
||||
syd
|
||||
[[now qyx.saq ~ dom.saq dok.saq mer.saq syn.saq] ran.ruf]
|
||||
[[now qyx.saq ~ dom.saq dok.saq mer.saq] ran.ruf mon.ruf]
|
||||
--
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@ -2346,8 +2408,12 @@
|
||||
==
|
||||
^- [p=(list move) q=_..^$]
|
||||
?- -.q.hic
|
||||
%boat
|
||||
:_ ..^$
|
||||
[hen %give %hill (turn (~(tap by mon.ruf)) head)]~
|
||||
::
|
||||
%init
|
||||
:_ ..^$(fat.ruf (~(put by fat.ruf) p.q.hic [hen ~ ~]))
|
||||
:_ ..^$(fat.ruf (~(put by fat.ruf) p.q.hic [hen ~]))
|
||||
=+ [bos=(sein p.q.hic) can=(clan p.q.hic)]
|
||||
%- zing ^- (list (list move))
|
||||
:~ ?: =(bos p.q.hic) ~
|
||||
@ -2369,61 +2435,50 @@
|
||||
abet:une
|
||||
:: ~& :+ %infoed
|
||||
:: len=(lent mos)
|
||||
:: %+ turn mos
|
||||
:: %+ turn mos
|
||||
:: |= move
|
||||
:: ^- [duct (unit path) term term]
|
||||
:: :- p
|
||||
:: ^- [(unit path) term term]
|
||||
:: ?+ -.q [~ *term *term]
|
||||
:: %pass
|
||||
:: %pass
|
||||
:: ^- [(unit path) term term]
|
||||
:: [`p.q [- +<]:q.q]
|
||||
:: %give
|
||||
:: %give
|
||||
:: ^- [(unit path) term term]
|
||||
:: [~ %give -.p.q]
|
||||
:: ==
|
||||
[mos ..^$]
|
||||
::
|
||||
%into
|
||||
=+ yar=(~(got by fat.ruf) p.q.hic)
|
||||
:_ ..^$(fat.ruf (~(put by fat.ruf) p.q.hic yar(hez [~ hen])))
|
||||
^- (list move)
|
||||
?: =(%$ q.q.hic)
|
||||
~
|
||||
=+ dos=(~(get by dos.yar) q.q.hic)
|
||||
?: &(?=(^ dos) !=(0 +>-.+<.+.dos)) :: ank.s.u.dos
|
||||
?: =(ank.dom.u.dos q.q.hic)
|
||||
~
|
||||
:_ ~
|
||||
:* hen %pass / %c %info p.q.hic q.q.hic %&
|
||||
(khan-to-soba `ank.dom.u.dos `r.q.hic)
|
||||
=. hez.ruf `hen
|
||||
:_ ..^$
|
||||
=+ bem=(~(get by mon.ruf) p.q.hic)
|
||||
?: &(?=(~ bem) !=(%$ p.q.hic))
|
||||
~|([%bad-mount-point-from-unix p.q.hic] !!)
|
||||
=+ ^- bem=beam
|
||||
?^ bem
|
||||
u.bem
|
||||
[[?>(?=(^ fat.ruf) p.n.fat.ruf) %base %ud 1] ~]
|
||||
=+ rom=(~(got by fat.ruf) p.bem)
|
||||
=+ dos=(~(got by dos.rom) q.bem)
|
||||
?: =(0 let.dom.dos)
|
||||
=+ cos=(mode-to-soba ~ s.bem q.q.hic r.q.hic)
|
||||
=+ ^- [one=(list ,[path miso]) two=(list ,[path miso])]
|
||||
%+ skid q.cos
|
||||
|= [a=path b=miso]
|
||||
?& ?=(%ins -.b)
|
||||
?=(%mime p.p.b)
|
||||
=+ (slag (dec (lent a)) a)
|
||||
?| =([%hook ~] -)
|
||||
=([%hoon ~] -)
|
||||
== ==
|
||||
:~ [hen %pass /one %c %info p.bem q.bem %& p.cos one]
|
||||
[hen %pass /two %c %info p.bem q.bem %& p.cos two]
|
||||
==
|
||||
=+ cos=(khan-to-soba ~ `r.q.hic)
|
||||
=+ ^- [one=(list ,[path miso]) two=(list ,[path miso])]
|
||||
%+ skid q.cos
|
||||
|= [a=path b=miso]
|
||||
?& ?=(%ins -.b)
|
||||
?=(%mime p.p.b)
|
||||
=+ (slag (dec (lent a)) a)
|
||||
?| =([%hook ~] -)
|
||||
=([%hoon ~] -)
|
||||
== ==
|
||||
:~ [hen %pass /one %c %info p.q.hic q.q.hic %& p.cos one]
|
||||
[hen %pass /two %c %info p.q.hic q.q.hic %& p.cos two]
|
||||
==
|
||||
::
|
||||
%lynx
|
||||
?: =(%$ q.q.hic)
|
||||
[~ ..^$]
|
||||
=^ mos ruf
|
||||
=+ une=(un p.q.hic now hen ruf)
|
||||
=+ ^= zat
|
||||
(lynx:(di:wake:une q.q.hic) r.q.hic)
|
||||
=+ zot=abet.zat
|
||||
:- -.zot
|
||||
=. une (pish:une q.q.hic +.zot ran.zat)
|
||||
abet:une
|
||||
[mos ..^$]
|
||||
=+ yak=(~(got by hut.ran.ruf) (~(got by hit.dom.dos) let.dom.dos))
|
||||
=+ cos=(mode-to-soba q.yak (flop s.bem) q.q.hic r.q.hic)
|
||||
[hen %pass / %c %info p.bem q.bem %& cos]~
|
||||
::
|
||||
%merg :: direct state up
|
||||
?: =(%$ q.q.hic)
|
||||
@ -2437,6 +2492,47 @@
|
||||
=. une (pish:une q.q.hic +.zot ran.zat)
|
||||
abet:une
|
||||
[mos ..^$]
|
||||
::
|
||||
%mont
|
||||
=. hez.ruf ?^(hez.ruf hez.ruf `[[%$ %sync ~] ~])
|
||||
=+ pot=(~(get by mon.ruf) p.q.hic)
|
||||
?^ pot
|
||||
~& [%already-mounted pot]
|
||||
[~ ..^$]
|
||||
=. mon.ruf
|
||||
(~(put by mon.ruf) p.q.hic [q.q.hic r.q.hic %ud 0] (flop s.q.hic))
|
||||
=+ yar=(~(get by fat.ruf) q.q.hic)
|
||||
?~ yar
|
||||
[~ ..^$]
|
||||
=+ dos=(~(get by dos.u.yar) r.q.hic)
|
||||
?~ dos
|
||||
[~ ..^$]
|
||||
=+ une=(un q.q.hic now hen ruf)
|
||||
=+ wex=(di:une r.q.hic)
|
||||
=+ wao=(mont:wex p.q.hic s.q.hic)
|
||||
=+ woo=abet:wao
|
||||
[-.woo ..^$(ruf abet:(pish:une r.q.hic +.woo ran.wao))]
|
||||
::
|
||||
%ogre
|
||||
?~ hez.ruf
|
||||
~& %no-sync-duct
|
||||
[~ ..^$]
|
||||
?@ p.q.hic
|
||||
?. (~(has by mon.ruf) p.q.hic)
|
||||
~& [%not-mounted p.q.hic]
|
||||
[~ ..^$]
|
||||
:_ ..^$(mon.ruf (~(del by mon.ruf) p.q.hic))
|
||||
[u.hez.ruf %give %ogre p.q.hic]~
|
||||
:_ %_ ..^$
|
||||
mon.ruf
|
||||
%- mo
|
||||
%+ skip (~(tap by mon.ruf))
|
||||
(corl (cury test p.q.hic) tail)
|
||||
==
|
||||
%+ turn
|
||||
(skim (~(tap by mon.ruf)) (corl (cury test p.q.hic) tail))
|
||||
|= [pot=term bem=beam]
|
||||
[u.hez.ruf %give %ogre pot]
|
||||
::
|
||||
%warp
|
||||
=^ mos ruf
|
||||
@ -2553,7 +2649,7 @@
|
||||
[(weld -.sip -.woo) ..^$(ruf abet:[+.sip])]
|
||||
?: ?=([%blab care @ @ *] tea)
|
||||
?> ?=(%made +<.q.hin)
|
||||
?. ?=(%& -.q.q.hin)
|
||||
?. ?=(%& -.q.q.hin)
|
||||
~| %blab-fail
|
||||
~> %mean.|.(?+(-.q.q.hin -.q.q.hin %| p.q.q.hin))
|
||||
!! :: interpolate ford fail into stack trace
|
||||
@ -2727,71 +2823,43 @@
|
||||
^- rand
|
||||
[p q [p q.q]:r]
|
||||
::
|
||||
:: XX perhaps fil.khan should be (unit (unit mime)) and !>
|
||||
++ khan-to-soba
|
||||
|= [ank=(unit ankh) kan=(unit khan)]
|
||||
++ mode-to-soba
|
||||
|= [hat=(map path lobe) pax=path all=? mod=mode]
|
||||
^- soba
|
||||
:- *cart
|
||||
=| pax=path
|
||||
:: =- ~& [%khan (turn - |=((pair path miso) [p -.q]))] -
|
||||
|- ^- (list ,[p=path q=miso])
|
||||
?~ ank
|
||||
?~ kan
|
||||
:: ~& [pax %ank-kan-sig]
|
||||
%+ welp
|
||||
^- (list (pair path miso))
|
||||
?. all
|
||||
~
|
||||
:: ~& [pax %ank-sig]
|
||||
=+ ?~ dir.u.kan
|
||||
~
|
||||
=+ (~(tap by u.dir.u.kan))
|
||||
:: ~& [%dirukan pax=pax (~(run by u.dir.u.kan) (cury test ~))]
|
||||
|- ^- (list (pair path miso))
|
||||
?~ +< ~
|
||||
?~ q.i $(+< t)
|
||||
(weld ^$(pax [p.i pax], kan `u.q.i) $(+< t))
|
||||
?~ fil.u.kan
|
||||
-
|
||||
?~ u.fil.u.kan
|
||||
-
|
||||
:: ~& [pax %ins-1]
|
||||
[[(flop pax) %ins u.u.fil.u.kan] -]
|
||||
?~ kan
|
||||
:: ~& [pax %kan-sig]
|
||||
=+ =+ (~(tap by r.u.ank))
|
||||
|-(?~(+< ~ (weld ^$(pax [p.i pax], ank `q.i) $(+< t))))
|
||||
?~ q.u.ank
|
||||
-
|
||||
[[(flop pax) %del q.u.q.u.ank] -]
|
||||
:: ~& [pax %neither-sig]
|
||||
=+ ?~ dir.u.kan
|
||||
~
|
||||
%+ weld
|
||||
=+ (~(tap by r.u.ank))
|
||||
|- ^- (list ,[p=path q=miso])
|
||||
?~ +< ~
|
||||
=+ (~(get by u.dir.u.kan) p.i)
|
||||
?: ?=([~ ~] -) $(+< t)
|
||||
%- weld :_ $(+< t)
|
||||
:: ~& [pax %ankhing p.i ?=(~ -)]
|
||||
^$(pax [p.i pax], ank `q.i, kan ?~(- ~ `u.u.-))
|
||||
=+ (~(tap by u.dir.u.kan))
|
||||
:: ~& [%sdirukan pax=pax (~(run by dir.u.kan) (cury test ~))]
|
||||
|- ^- (list ,[p=path q=miso])
|
||||
?~ +< ~
|
||||
?~ q.i $(+< t)
|
||||
?: (~(has by r.u.ank) p.i) $(+< t)
|
||||
:: ~& [pax %khaning p.i]
|
||||
%- weld :_ $(+< t)
|
||||
^$(pax [p.i pax], kan `u.q.i, ank ~)
|
||||
?~ q.u.ank
|
||||
?~ fil.u.kan
|
||||
-
|
||||
?~ u.fil.u.kan
|
||||
-
|
||||
:: ~& %ins-2
|
||||
[[(flop pax) %ins u.u.fil.u.kan] -]
|
||||
?~ fil.u.kan
|
||||
-
|
||||
?~ u.fil.u.kan
|
||||
[[(flop pax) %del q.u.q.u.ank] -]
|
||||
[[(flop pax) %mut q.u.q.u.ank u.u.fil.u.kan] -]
|
||||
=+ mad=(mo mod)
|
||||
=+ len=(lent pax)
|
||||
=+ ^- descendants=(list path)
|
||||
%+ turn
|
||||
%+ skim (~(tap by hat))
|
||||
|= [paf=path lob=lobe]
|
||||
=(pax (scag len paf))
|
||||
|= [paf=path lob=lobe]
|
||||
(slag len paf)
|
||||
%+ murn
|
||||
descendants
|
||||
|= pat=path
|
||||
^- (unit (pair path ,[%del ~]))
|
||||
?: (~(has by mad) pat)
|
||||
~
|
||||
`[(weld pax pat) %del ~]
|
||||
^- (list (pair path miso))
|
||||
%+ murn mod
|
||||
|= [pat=path mim=(unit mime)]
|
||||
^- (unit (pair path miso))
|
||||
=+ paf=(weld pax pat)
|
||||
?~ mim
|
||||
=+ (~(get by hat) paf)
|
||||
?~ -
|
||||
~& [%deleting-already-gone pax pat]
|
||||
~
|
||||
`[paf %del ~]
|
||||
=+ (~(get by hat) paf)
|
||||
?~ -
|
||||
`[paf %ins %mime -:!>(*mime) u.mim]
|
||||
`[paf %mut %mime -:!>(*mime) u.mim]
|
||||
--
|
@ -1,4 +1,4 @@
|
||||
!:
|
||||
::
|
||||
:: dill (4d), terminal handling
|
||||
::
|
||||
|= pit=vase
|
@ -1,4 +1,4 @@
|
||||
!: :: %eyre, http servant
|
||||
:: :: %eyre, http servant
|
||||
!? 164
|
||||
::::
|
||||
|= pit=vase
|
||||
@ -10,6 +10,10 @@
|
||||
++ note :: out request $->
|
||||
$% $: %a :: to %ames
|
||||
$% [%wont p=sock q=[path *]] ::
|
||||
== == ::
|
||||
$: %b :: to %behn
|
||||
$% [%wait p=@da] ::
|
||||
[%rest p=@da] ::
|
||||
== == ::
|
||||
$: %d :: to %dill
|
||||
$% [%flog p=[%crud p=@tas q=(list tank)]] ::
|
||||
@ -24,14 +28,13 @@
|
||||
== == ::
|
||||
$: %g :: to %gall
|
||||
$% [%deal p=sock q=cush] :: full transmission
|
||||
== == ::
|
||||
$: %t :: to %temp
|
||||
$% [%wait p=@da] ::
|
||||
[%rest p=@da] ::
|
||||
== == == ::
|
||||
++ sign :: in result $<-
|
||||
$? $: %a :: by %ames
|
||||
$% [%woot p=ship q=coop] ::
|
||||
== == ::
|
||||
$: %b :: by %behn
|
||||
$% [%wake ~] :: timer activate
|
||||
== == ::
|
||||
$: %g :: by %gall
|
||||
$% [%unto p=cuft] :: within agent
|
||||
@ -42,9 +45,6 @@
|
||||
$: %f :: by %ford
|
||||
$% [%made p=@uvH q=gage] ::
|
||||
[%news ~] ::
|
||||
== == ::
|
||||
$: %t :: by %time
|
||||
$% [%wake ~] :: timer activate
|
||||
== == ::
|
||||
$: @tas :: by any
|
||||
$% [%crud p=@tas q=(list tank)] ::
|
||||
@ -414,7 +414,7 @@
|
||||
return urb.redir($ship.text().toLowerCase()) // XX redundant?
|
||||
req(
|
||||
"/~/auth.json?PUT",
|
||||
{ship:ship.innerText.toLowerCase(), code:pass.value},
|
||||
{ship:$ship.text().toLowerCase(), code:pass.value},
|
||||
function(){
|
||||
if(urb.foreign) urb.redir()
|
||||
else document.location.reload()
|
||||
@ -1399,7 +1399,7 @@
|
||||
=< abet
|
||||
?~ ude done
|
||||
=. hen p.u.ude
|
||||
=. ..ix (pass-note of//[ire] [%t %rest era])
|
||||
=. ..ix (pass-note of//[ire] [%b %rest era])
|
||||
(give-even(ude ~) q.u.ude num ven)
|
||||
::
|
||||
++ give-even
|
||||
@ -1428,7 +1428,7 @@
|
||||
?: =(a p.eve)
|
||||
?^ ude ~&(e/ix/wait/replaced=p.u.ude abet(u.ude [hen &]))
|
||||
=. era (add ~s30 now)
|
||||
(pass-note:abet(ude [~ hen &]) of//[ire] [%t %wait era])
|
||||
(pass-note:abet(ude [~ hen &]) of//[ire] [%b %wait era])
|
||||
?: (gth a p.eve) ~|(seq-high/cur=p.eve !!)
|
||||
=+ ven=~|(seq-low/cur=p.eve (~(got by q.eve) a))
|
||||
abet:(give-even & a ven)
|
@ -1,4 +1,4 @@
|
||||
!:::::
|
||||
::::::
|
||||
:: :: %ford, new execution control
|
||||
!? 164
|
||||
::::
|
||||
@ -156,6 +156,14 @@
|
||||
=+ gib=(wox p.n.r.arc)
|
||||
?~(gib rac [[u.gib p.n.r.arc] rac])
|
||||
::
|
||||
++ tack :: fold path to term
|
||||
|= a=[i=term t=(list term)] ^- term
|
||||
(rap 3 |-([i.a ?~(t.a ~ ['-' $(a t.a)])]))
|
||||
::
|
||||
++ tear :: split term
|
||||
=- |=(a=term (rush a (most hep sym)))
|
||||
sym=(cook crip ;~(plug low (star ;~(pose low nud))))
|
||||
::
|
||||
++ norm :: normalize beam rev
|
||||
|= [ska=sled bem=beam]
|
||||
%_ bem
|
||||
@ -368,9 +376,9 @@
|
||||
==
|
||||
::
|
||||
++ cool :: error caption
|
||||
|* [cyt=trap hoc=(bolt)]
|
||||
|* [cyt=$|(term trap) hoc=(bolt)]
|
||||
?. ?=(%2 -.q.hoc) hoc
|
||||
[p.hoc [%2 p.q.hoc *cyt q.q.hoc]]
|
||||
[p.hoc [%2 p.q.hoc ?^(cyt *cyt [>`@tas`cyt<]~) q.q.hoc]]
|
||||
::
|
||||
++ cope :: bolt along
|
||||
|* [hoc=(bolt) fun=(burg)]
|
||||
@ -386,6 +394,21 @@
|
||||
%0 [%0 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
||||
== ==
|
||||
::
|
||||
++ coop :: bolt alter
|
||||
|* [hoc=(bolt) fun=(burg)]
|
||||
?- -.q.hoc
|
||||
%1 hoc
|
||||
%0 hoc
|
||||
%2 =+ nuf=(fun(+<- p.hoc))
|
||||
:- p=p.nuf
|
||||
^= q
|
||||
?- -.q.nuf
|
||||
%1 q.nuf
|
||||
%0 [%0 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
||||
%2 =. q.q.nuf (welp q.q.nuf q.q.hoc)
|
||||
[%2 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
||||
== ==
|
||||
::
|
||||
++ coup :: toon to bolt
|
||||
|= cof=cafe
|
||||
|* [ton=toon fun=$+(* *)]
|
||||
@ -951,23 +974,35 @@
|
||||
^- (burg beak (jug mark mark))
|
||||
|= [cof=cafe bek=beak]
|
||||
=. ^bek bek
|
||||
%+ cope (lend cof [bek /mar])
|
||||
|= [cof=cafe arc=arch]
|
||||
:: =- =+((cope - |=([cafe lil=(jug mark mark)] ~&(lil=lil (flue cof)))) +<)
|
||||
=+ all=(~(tap by r.arc))
|
||||
|- ^- (bolt (jug mark mark))
|
||||
?~ all (flue cof)
|
||||
%+ cope $(cof cof, all t.all)
|
||||
|= [cof=cafe lil=(jug mark mark)]
|
||||
=* for p.i.all
|
||||
=+ raf=(fang cof for)
|
||||
?: ?=(%2 -.q.raf)
|
||||
=. q.q.raf :_(q.q.raf leaf/"! {<`mark`for>} build failed, ignoring.")
|
||||
((slog 0 (flop q.q.raf)) (fine cof lil))
|
||||
%+ cope `(bolt vase)`raf
|
||||
|= [cof=cafe vax=vase]
|
||||
%+ cope
|
||||
=| sup=path
|
||||
|- ^- (bolt (list ,[mark vase]))
|
||||
%+ cope (lend cof [bek (welp sup /mar)])
|
||||
|= [cof=cafe arc=arch]
|
||||
=+ all=(skim (turn (~(tap by r.arc)) head) (sane %tas))
|
||||
|- ^- (bolt (list ,[mark vase]))
|
||||
?~ all (fine cof ~)
|
||||
%+ cope $(all t.all)
|
||||
|= [cof=cafe dep=(list ,[mark vase])]
|
||||
%+ cope ^^^$(cof cof, sup [i.all sup])
|
||||
|= [cof=cafe wid=(list ,[mark vase])] ^- (bolt (list ,[mark vase]))
|
||||
=+ [res=(weld wid dep) pax=(flop sup)]
|
||||
?~ pax (fine cof res)
|
||||
?. (~(has by r.arc) %hoon) (fine cof res)
|
||||
=+ :- sil=[%core (norm ska bek (welp sup /mar))]
|
||||
for=(rap 3 |-([i.pax ?~(t.pax ~ ['-' $(pax t.pax)])]))
|
||||
=+ raf=(;~(cope make furl feel) cof sil)
|
||||
?: ?=(%2 -.q.raf)
|
||||
=- ((slog 0 (flop `tang`-)) (fine cof res))
|
||||
?^ t.pax ~ :: error on top-level marks
|
||||
:_(q.q.raf leaf/"! {<`mark`for>} build failed, ignoring.")
|
||||
(cope `(bolt vase)`raf (flux |=(vax=vase [[for vax] res])))
|
||||
|= [cof=cafe all=(list ,[mark vase])] ^- (bolt (jug mark mark))
|
||||
%+ fine cof
|
||||
%- ~(gas ju lil)
|
||||
|- ^- (jug mark mark)
|
||||
?~ all ~
|
||||
%- ~(gas ju $(all t.all))
|
||||
=+ [for vax]=i.all
|
||||
~| weg=(jam 3 p.vax)
|
||||
%+ weld
|
||||
^- (list ,[mark mark])
|
||||
@ -1171,8 +1206,19 @@
|
||||
::
|
||||
%core
|
||||
%+ cool |.(leaf/"ford: core {<(tope p.kas)>}")
|
||||
%+ cope (cope (fade cof %hoon p.kas) abut:(meow p.kas ~))
|
||||
(flux |=(cor=vase [%& %core cor]))
|
||||
%- cope :_ (flux |=(cor=vase [%& %core cor]))
|
||||
=+ bem=p.kas
|
||||
?~ s.bem (cope (fade cof %hoon bem) abut:(meow bem ~))
|
||||
=+ opt=`(list term)`(fall (tear i.s.bem) ~)
|
||||
?~ opt (cope (fade cof %hoon bem) abut:(meow bem ~))
|
||||
|- ^- (bolt vase)
|
||||
=. i.s.bem (tack opt)
|
||||
%+ coop (cope (fade cof %hoon bem) abut:(meow bem ~))
|
||||
|= [cof=cafe ~] ^- (bolt vase)
|
||||
?~ t.opt (flaw cof ~)
|
||||
%+ coop ^$(cof cof, opt t.opt, t.s.bem :_(t.s.bem i.opt))
|
||||
|= [cof=cafe ~] ^- (bolt vase)
|
||||
^$(cof cof, opt :_(t.t.opt (tack i.opt i.t.opt ~)))
|
||||
::
|
||||
%diff
|
||||
%+ cool |.(leaf/"ford: diff {<`@p`(mug p.kas)>} {<`@p`(mug q.kas)>}")
|
||||
@ -1454,6 +1500,7 @@
|
||||
%see
|
||||
=. r.p.hon ?:(?=([%ud 0] r.p.hon) r.how r.p.hon)
|
||||
$(hon q.hon, how p.hon)
|
||||
::
|
||||
%saw
|
||||
%+ cope $(hon q.hon)
|
||||
|= [cof=cafe sam=vase]
|
||||
@ -1684,7 +1731,7 @@
|
||||
::
|
||||
++ load :: highly forgiving
|
||||
|= old=axle
|
||||
=. pol.old (~(run by pol.old) |=(baby +<(jav ~)))
|
||||
::=. pol.old (~(run by pol.old) |=(baby +<(jav ~)))
|
||||
..^$(+>- old)
|
||||
::=. old
|
||||
:: ?. ?=([%0 *] old) old :: remove at 1
|
@ -29,8 +29,14 @@
|
||||
-- ::
|
||||
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: %gall state
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ axle-n ?(axle axle-0) :: upgrade path
|
||||
++ axle-0 ,[%0 pol=(map ship mast-0)] ::
|
||||
++ mast-0 ::
|
||||
(cork mast |=(mast +<(bum (~(run by bum) seat-0)))) ::
|
||||
++ seat-0 ::
|
||||
(cork seat |=(seat +<(|7 zam=(scar |7.+<)))) ::
|
||||
++ axle :: all state
|
||||
$: %0 :: state version
|
||||
$: %1 :: state version
|
||||
pol=(map ship mast) :: apps by ship
|
||||
== ::
|
||||
++ gest :: subscriber data
|
||||
@ -67,6 +73,7 @@
|
||||
ged=gest :: subscribers
|
||||
hav=vase :: running state
|
||||
byk=beak :: update control
|
||||
pyl=(map bone mark) :: req'd translations
|
||||
zam=scar :: opaque ducts
|
||||
== ::
|
||||
++ sofa :: queue for blocked
|
||||
@ -313,24 +320,16 @@
|
||||
(mo-boon i.t.pax (mo-chew t.t.pax) +>.sih)
|
||||
::
|
||||
%pel :: translated peer
|
||||
?> ?=([@ @ ~] t.pax)
|
||||
=+ :* mar=i.t.pax
|
||||
dap=i.t.t.pax
|
||||
==
|
||||
?: ?=([%f %made *] sih)
|
||||
?- -.q.+.sih
|
||||
%tabl ~|(%made-tabl !!)
|
||||
%& (mo-give %unto %diff p.q.+>.sih)
|
||||
%| =. p.q.+>.sih (turn p.q.+>.sih |=(a=tank rose/[~ "! " ~]^[a]~))
|
||||
~> %slog.`%*(. >[%wh %y]< +> [>%mo-cyst-fail< (flop p.q.+>.sih)])
|
||||
(mo-give %unto %quit ~) :: XX better errors pls
|
||||
==
|
||||
?> ?=([%g %unto *] sih)
|
||||
?. ?=(%diff -.+>.sih)
|
||||
(mo-give %unto +>.sih)
|
||||
%+ mo-pass
|
||||
[%sys pax]
|
||||
[%f %exec our (mo-beak dap) ~ %cast mar %done ~ `cage`+>+.sih]
|
||||
?> ?=([@ ~] t.pax)
|
||||
=+ mar=i.t.pax
|
||||
?> ?=([%f %made *] sih)
|
||||
?- -.q.+.sih
|
||||
%tabl ~|(%made-tabl !!)
|
||||
%& (mo-give %unto %diff p.q.+>.sih)
|
||||
%| =. p.q.+>.sih (turn p.q.+>.sih |=(a=tank rose/[~ "! " ~]^[a]~))
|
||||
~> %slog.`%*(. >[%wh %y]< +> [>%mo-cyst-fail< (flop p.q.+>.sih)])
|
||||
(mo-give %unto %quit ~) :: XX better errors pls
|
||||
==
|
||||
::
|
||||
%red :: diff ack
|
||||
?> ?=([@ @ @ ~] t.pax)
|
||||
@ -437,7 +436,7 @@
|
||||
%& ap-abet:(ap-pout:pap t.t.t.pax %diff +.q.+>.q.hin)
|
||||
%| =+ why=p.q.+>.q.hin
|
||||
=. why (turn why |=(a=tank rose/[~ "! " ~]^[a]~))
|
||||
~> %slog.`%*(. >[%wh %y]< +> [>%mo-cook-fail< (flop why)])
|
||||
~> %slog.`rose/[" " "[" "]"]^[>%mo-cook-fail< (flop why)]
|
||||
~& [him=q.q.pry our=our pax=pax]
|
||||
::
|
||||
:: here we should crash because the right thing
|
||||
@ -493,10 +492,6 @@
|
||||
%+ mo-pass
|
||||
[%sys %val (scot %p q.q.pry) dap ~]
|
||||
[%f %exec our (mo-beak dap) ~ %cast p.cub %done ~ q.cub]
|
||||
?: ?=(%peel -.cub)
|
||||
%+ mo-pass
|
||||
[%sys %pel p.cub dap ~]
|
||||
[%g %deal [q.q.pry our] dap %peer q.cub]
|
||||
ap-abet:(ap-club:(ap-abed:ap dap pry) cub)
|
||||
::
|
||||
++ mo-club :: local action
|
||||
@ -596,7 +591,17 @@
|
||||
:- (~(got by r.zam) p.cov)
|
||||
?- -.q.cov
|
||||
?(%slip %sick) !!
|
||||
%give ?<(=(0 p.cov) [%give %unto p.q.cov])
|
||||
%give
|
||||
?< =(0 p.cov)
|
||||
?. ?=(%diff -.p.q.cov)
|
||||
[%give %unto p.q.cov]
|
||||
=+ cay=`cage`p.p.q.cov
|
||||
=+ mar=(fall (~(get by pyl) p.cov) p.cay)
|
||||
?: =(mar p.cay) [%give %unto p.q.cov]
|
||||
:+ %pass
|
||||
[%sys %pel dap ~]
|
||||
[%f %exec our (mo-beak dap) ~ %cast mar %done ~ cay]
|
||||
::
|
||||
%pass
|
||||
:+ %pass `path`[%use dap p.q.cov]
|
||||
?- -.q.q.cov
|
||||
@ -612,7 +617,7 @@
|
||||
++ ap-call :: call into server
|
||||
|= [cog=term arg=vase]
|
||||
^- [(unit tang) _+>]
|
||||
=. +> ap-bowl
|
||||
=. +> ap-bowl
|
||||
=+ arm=(ap-farm cog)
|
||||
?: ?=(%| -.arm) [`p.arm +>.$]
|
||||
=+ zem=(ap-slam cog p.arm arg)
|
||||
@ -623,7 +628,7 @@
|
||||
|= cub=club
|
||||
^+ +>
|
||||
?- -.cub
|
||||
%peel !!
|
||||
%peel (ap-peel +.cub)
|
||||
%poke (ap-poke +.cub)
|
||||
%peer (ap-peer +.cub)
|
||||
%puff !!
|
||||
@ -884,6 +889,11 @@
|
||||
^+ +>
|
||||
(ap-prep(hav vax) `hav)
|
||||
::
|
||||
++ ap-peel
|
||||
|= [mar=mark pax=path]
|
||||
=. pyl (~(put by pyl) ost mar)
|
||||
(ap-peer pax)
|
||||
::
|
||||
++ ap-peer :: apply %peer
|
||||
|= pax=path
|
||||
^+ +>
|
||||
@ -923,13 +933,15 @@
|
||||
=+ cug=(ap-find /lame)
|
||||
?~ cug
|
||||
=. why [>%ap-lame dap wut< (turn why |=(a=tank rose/[~ "! " ~]^[a]~))]
|
||||
~> %slog.`%*(. >[%wh %y]< +> (flop why))
|
||||
~> %slog.`rose/[" " "[" "]"]^(flop why)
|
||||
+>.$
|
||||
=^ cam +>.$
|
||||
%+ ap-call q.u.cug
|
||||
!>([wut why])
|
||||
?^ cam
|
||||
~&([%ap-lame-lame u.cam] +>.$)
|
||||
=. why [>%ap-lame-lame< (turn u.cam |=(a=tank rose/[~ "! " ~]^[a]~))]
|
||||
~> %slog.`rose/[" " "[" "]"]^(welp (flop why) leaf/"." (flop u.cam))
|
||||
+>.$
|
||||
+>.$
|
||||
::
|
||||
++ ap-pour :: generic take
|
||||
@ -1109,10 +1121,11 @@
|
||||
%exec `%f
|
||||
%flog `%d
|
||||
%info `%c
|
||||
%lynx `%c
|
||||
%merg `%c
|
||||
%mont `%c
|
||||
%ogre `%c
|
||||
%them `%e
|
||||
%wait `%t
|
||||
%wait `%b
|
||||
%want `%a
|
||||
%wont `%a :: XX for begin; remove
|
||||
%warp `%c
|
||||
@ -1172,9 +1185,14 @@
|
||||
~
|
||||
::
|
||||
++ load :: recreate vane
|
||||
|= old=axle
|
||||
|= old=axle-n
|
||||
^+ ..^$
|
||||
..^$(all old)
|
||||
?: ?=(%1 -.old) ..^$(all old)
|
||||
%= $
|
||||
old => |=(seat-0 `seat`+<(zam [~ zam]))
|
||||
=> |=(mast-0 +<(bum (~(run by bum) +>)))
|
||||
old(- %1, pol (~(run by pol.old) .))
|
||||
==
|
||||
::
|
||||
++ scry
|
||||
|= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
|
@ -158,7 +158,7 @@
|
||||
++ tang (list tank) :: bottom-first error
|
||||
++ tank $% [%leaf p=tape] :: printing formats
|
||||
$: %palm :: backstep list
|
||||
p=[p=tape q=tape r=tape s=tape] ::
|
||||
p=[p=tape q=tape r=tape s=tape] ::
|
||||
q=(list tank) ::
|
||||
== ::
|
||||
$: %rose :: flat list
|
||||
@ -257,7 +257,7 @@
|
||||
[%dtwt p=twig] :: nock 3 cell test
|
||||
:: :::::: prettyprinting
|
||||
[%hxgl p=tusk] :: prettyprint tape
|
||||
[%hxgr p=tusk] :: prettyprint tank
|
||||
[%hxgr p=tusk] :: prettyprint tank
|
||||
:: :::::: type conversion
|
||||
[%ktbr p=twig] :: %gold core to %iron
|
||||
[%ktdt p=twig q=twig] :: cast q to type (p q)
|
||||
@ -308,7 +308,7 @@
|
||||
[%wthz p=tiki q=tine] :: tiki %wthp
|
||||
[%wtcl p=twig q=twig r=twig] :: if p, then q, else r
|
||||
[%wtdt p=twig q=twig r=twig] :: unless, ?:(p r q)
|
||||
[%wtkt p=wing q=twig r=twig] :: if p is a cell
|
||||
[%wtkt p=wing q=twig r=twig] :: if p is a cell
|
||||
[%wtkz p=tiki q=twig r=twig] :: tiki %wtkt
|
||||
[%wtgl p=twig q=twig] :: assert |, ?:(p !! q)
|
||||
[%wtgr p=twig q=twig] :: assert &, ?:(p q !!)
|
||||
@ -400,7 +400,7 @@
|
||||
++ unce |* a=_,* :: change part
|
||||
$% [%& p=@ud] :: skip[copy]
|
||||
[%| p=(list a) q=(list a)] :: p -> q[chunk]
|
||||
== ::
|
||||
== ::
|
||||
++ unit |* a=_,* :: maybe
|
||||
$|(~ [~ u=a]) ::
|
||||
++ upas :: tree change (%d)
|
||||
@ -527,10 +527,10 @@
|
||||
~/ %lth
|
||||
|= [a=@ b=@]
|
||||
^- ?
|
||||
?& !=(a b)
|
||||
|-
|
||||
?| =(0 a)
|
||||
?& !=(0 b)
|
||||
?& !=(a b)
|
||||
|-
|
||||
?| =(0 a)
|
||||
?& !=(0 b)
|
||||
$(a (dec a), b (dec b))
|
||||
== == ==
|
||||
::
|
||||
@ -692,7 +692,7 @@
|
||||
^- @
|
||||
=+ b=0
|
||||
|-
|
||||
?~ a b
|
||||
?~ a b
|
||||
$(a t.a, b +(b))
|
||||
::
|
||||
++ levy
|
||||
@ -942,9 +942,9 @@
|
||||
a (rsh 0 1 a)
|
||||
b (rsh 0 1 b)
|
||||
c +(c)
|
||||
d %+ add d
|
||||
%^ lsh 0 c
|
||||
?& =(0 (end 0 1 a))
|
||||
d %+ add d
|
||||
%^ lsh 0 c
|
||||
?& =(0 (end 0 1 a))
|
||||
=(0 (end 0 1 b))
|
||||
==
|
||||
==
|
||||
@ -959,9 +959,9 @@
|
||||
a (rsh 0 1 a)
|
||||
b (rsh 0 1 b)
|
||||
c +(c)
|
||||
d %+ add d
|
||||
%^ lsh 0 c
|
||||
?| =(0 (end 0 1 a))
|
||||
d %+ add d
|
||||
%^ lsh 0 c
|
||||
?| =(0 (end 0 1 a))
|
||||
=(0 (end 0 1 b))
|
||||
==
|
||||
==
|
||||
@ -1058,7 +1058,7 @@
|
||||
|= [syd=@ key=@]
|
||||
?> (lte (met 5 syd) 1)
|
||||
=+ ^= row
|
||||
|= [a=@ b=@]
|
||||
|= [a=@ b=@]
|
||||
(con (end 5 1 (lsh 0 a b)) (rsh 0 (sub 32 a) b))
|
||||
=+ mow=|=([a=@ b=@] (end 5 1 (mul a b)))
|
||||
=+ len=(met 5 key)
|
||||
@ -1074,7 +1074,7 @@
|
||||
?: =(inx len) goc
|
||||
=+ kop=(cut 5 [inx 1] key)
|
||||
=. kop (mow kop 0xcc9e.2d51)
|
||||
=. kop (row 15 kop)
|
||||
=. kop (row 15 kop)
|
||||
=. kop (mow kop 0x1b87.3593)
|
||||
=. goc (mix kop goc)
|
||||
=. goc (row 13 goc)
|
||||
@ -1182,7 +1182,7 @@
|
||||
::
|
||||
++ pad |=(a=@ =+(b=(met 3 a) ?:((gte b 21) 0 (sub 21 b))))
|
||||
++ enc |=(a=@ux `@ux`(mix (lsh 3 4 a) (tok a)))
|
||||
++ den
|
||||
++ den
|
||||
|= a=@ux ^- (unit ,@ux)
|
||||
=+ b=(rsh 3 4 a)
|
||||
?. =((tok b) (end 3 4 a))
|
||||
@ -1272,9 +1272,9 @@
|
||||
|= (trel ,? a (map a ,@ud))
|
||||
^+ r
|
||||
=+ (~(get by r) q)
|
||||
?: p
|
||||
?: p
|
||||
(~(put by r) q ?~(- 1 +(u.-)))
|
||||
?> ?=(^ -)
|
||||
?> ?=(^ -)
|
||||
?:(=(0 u.-) (~(del by r) q) (~(put by r) q (dec u.-)))
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: section 2cG, floating point ::
|
||||
@ -1415,7 +1415,7 @@
|
||||
=+ n=(^sub (met 0 a) (^add p 1))
|
||||
=+ r=(end 0 n a)
|
||||
(rne p a r n)
|
||||
::
|
||||
::
|
||||
:: the real rnd
|
||||
++ rne |= [p=@u a=@u r=@u n=@u] ^- @u
|
||||
=+ b=(rsh 0 n a)
|
||||
@ -1461,14 +1461,13 @@
|
||||
++ inf |= [b=@u n=[s=? e=@s a=@u]]
|
||||
&(=(e.n (^mul 2 +(b))) =(0 (ira a.n)))
|
||||
|
||||
++ gar |= [b=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
++ gar |= [b=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
^- (unit ,[s=? e=@s a=@u])
|
||||
?: (snan b n) ~|(%floating-nan !!)
|
||||
?: (snan b n) ~|(%floating-nan !!)
|
||||
?: (nan b n) [~ n]
|
||||
?: (nan b m) [~ m]
|
||||
~
|
||||
|
||||
++ pro |= [b=@u p=@u n=[s=? e=@s a=@u]]
|
||||
^- [s=? e=@s a=@u]
|
||||
=+ maxexp=`@s`(^mul 2 +(b))
|
||||
@ -1478,7 +1477,6 @@
|
||||
?: &(=(1 (mod e.n 2)) (^gte e.n minexp))
|
||||
(szer:vl:fl b p s.n) :: flush denorms
|
||||
n
|
||||
|
||||
++ err |= [b=@u p=@u n=[s=? e=@s a=@u]]
|
||||
^- (unit tape)
|
||||
?: (snan b n) [~ "snan"]
|
||||
@ -1488,7 +1486,7 @@
|
||||
~
|
||||
--
|
||||
::::::::::::
|
||||
++ add |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
++ add |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
^- [s=? e=@s a=@u]
|
||||
=+ g=(gar:te:fl b n m)
|
||||
?: ?=(^ g)
|
||||
@ -1511,7 +1509,7 @@
|
||||
=+ e2=(sum:si (sun:si dif2) e.n)
|
||||
(pro:te:fl b p [s=|(s.n s.m) e=e2 a=(lia p a3)])
|
||||
|
||||
++ sub |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
++ sub |= [b=@u p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]]
|
||||
^- [s=? e=@s a=@u]
|
||||
=+ g=(gar:te:fl b n m)
|
||||
?: ?=(^ g)
|
||||
@ -1675,7 +1673,7 @@
|
||||
|
||||
++ bex |= a=@s ^- @rd
|
||||
(bit [s=%.y e=a a=(ari:fl mlen 0)])
|
||||
|
||||
|
||||
++ ipow |= [exp=@s n=@rd]
|
||||
^- @rd
|
||||
?: =(0 (mod exp 2))
|
||||
@ -3558,7 +3556,7 @@
|
||||
::
|
||||
%r
|
||||
?+ hay (z-co q.p.lot)
|
||||
%d
|
||||
%d
|
||||
=+ r=(rlyd q.p.lot)
|
||||
?~ e.r
|
||||
['.' '~' (r-co r)]
|
||||
@ -3605,7 +3603,7 @@
|
||||
=> .(rex ['.' (t-co ((d-co 1) der) ne)])
|
||||
=> .(rex ((d-co 1) nub))
|
||||
?:(syn rex ['-' rex])
|
||||
++ t-co |= [a=tape n=?] ^- tape
|
||||
++ t-co |= [a=tape n=?] ^- tape
|
||||
?: n a
|
||||
?~ a ~|(%empty-frac !!) t.a
|
||||
::
|
||||
@ -3773,12 +3771,12 @@
|
||||
;~ plug
|
||||
;~(pose (cold | hep) (easy &))
|
||||
;~(plug dim:ag ;~(pose ;~(pfix dot ;~(plug zer dim:ag)) (easy [0 0])))
|
||||
;~ pose
|
||||
;~ pfix
|
||||
(just 'e')
|
||||
;~ pose
|
||||
;~ pfix
|
||||
(just 'e')
|
||||
(cook some ;~(plug ;~(pose (cold | hep) (easy &)) dim:ag))
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
==
|
||||
;~ pose
|
||||
@ -3788,7 +3786,7 @@
|
||||
:: (stag %rs (cook ryls voy))
|
||||
==
|
||||
++ royl-cell
|
||||
|= [a=? b=[c=@ d=@ e=@] f=(unit ,[h=? i=@])]
|
||||
|= [a=? b=[c=@ d=@ e=@] f=(unit ,[h=? i=@])]
|
||||
^- [? @ @ @ (unit ,@s)]
|
||||
?~ f
|
||||
[a c.b d.b e.b ~]
|
||||
@ -5004,7 +5002,7 @@
|
||||
--
|
||||
~% %ed + ~
|
||||
|%
|
||||
++ puck :: public key
|
||||
++ puck :: public key
|
||||
~/ %puck
|
||||
|= sk=@I ^- @
|
||||
?: (gth (met 3 sk) 32) !!
|
||||
@ -5015,12 +5013,12 @@
|
||||
(lsh 0 3 (cut 0 [3 (sub b 5)] h))
|
||||
=+ aa=(scam bb a)
|
||||
(etch aa)
|
||||
++ suck :: keypair from seed
|
||||
++ suck :: keypair from seed
|
||||
|= se=@I ^- @uJ
|
||||
=+ pu=(puck se)
|
||||
(can 0 ~[[b se] [b pu]])
|
||||
::
|
||||
++ sign :: certify
|
||||
++ sign :: certify
|
||||
~/ %sign
|
||||
|= [m=@ se=@] ^- @
|
||||
=+ sk=(suck se)
|
||||
@ -5050,7 +5048,7 @@
|
||||
(~(sit fo l) (add r (mul (shaz ha) a)))
|
||||
(can 0 ~[[b (etch rr)] [b ss]])
|
||||
::
|
||||
++ veri :: validate
|
||||
++ veri :: validate
|
||||
~/ %veri
|
||||
|= [s=@ m=@ pk=@] ^- ?
|
||||
?: (gth (div b 4) (met 3 s)) |
|
||||
@ -5070,189 +5068,185 @@
|
||||
++ scr :: scrypt
|
||||
~% %scr + ~
|
||||
|%
|
||||
++ sal |= [x=@ r=@] :: salsa20 hash
|
||||
?> =((mod r 2) 0) :: with r rounds
|
||||
=+ few==>(fe .(a 5))
|
||||
=+ ^= rot
|
||||
|= [a=@ b=@]
|
||||
(mix (end 5 1 (lsh 0 a b)) (rsh 0 (sub 32 a) b))
|
||||
=+ ^= lea
|
||||
|= [a=@ b=@]
|
||||
(net:few (sum:few (net:few a) (net:few b)))
|
||||
=> |% ++ qr :: quarterround
|
||||
|= y=[@ @ @ @ ~]
|
||||
=+ zb=(mix &2.y (rot 7 (sum:few &1.y &4.y)))
|
||||
=+ zc=(mix &3.y (rot 9 (sum:few zb &1.y)))
|
||||
=+ zd=(mix &4.y (rot 13 (sum:few zc zb)))
|
||||
=+ za=(mix &1.y (rot 18 (sum:few zd zc)))
|
||||
~[za zb zc zd]
|
||||
++ rr :: rowround
|
||||
|= [y=(list ,@)]
|
||||
=+ za=(qr ~[&1.y &2.y &3.y &4.y])
|
||||
=+ zb=(qr ~[&6.y &7.y &8.y &5.y])
|
||||
=+ zc=(qr ~[&11.y &12.y &9.y &10.y])
|
||||
=+ zd=(qr ~[&16.y &13.y &14.y &15.y])
|
||||
^- (list ,@) :~
|
||||
&1.za &2.za &3.za &4.za
|
||||
&4.zb &1.zb &2.zb &3.zb
|
||||
&3.zc &4.zc &1.zc &2.zc
|
||||
&2.zd &3.zd &4.zd &1.zd
|
||||
==
|
||||
++ cr :: columnround
|
||||
|= [x=(list ,@)]
|
||||
=+ ^= y %- rr ^- (list ,@) :~
|
||||
&1.x &5.x &9.x &13.x
|
||||
&2.x &6.x &10.x &14.x
|
||||
&3.x &7.x &11.x &15.x
|
||||
&4.x &8.x &12.x &16.x
|
||||
==
|
||||
^- (list ,@) :~
|
||||
&1.y &5.y &9.y &13.y
|
||||
&2.y &6.y &10.y &14.y
|
||||
&3.y &7.y &11.y &15.y
|
||||
&4.y &8.y &12.y &16.y
|
||||
==
|
||||
++ dr :: doubleround
|
||||
|= [x=(list ,@)]
|
||||
(rr (cr x))
|
||||
++ al :: add two lists
|
||||
|= [a=(list ,@) b=(list ,@)]
|
||||
|- ^- (list ,@)
|
||||
?~ a ~ ?~ b ~
|
||||
[i=(sum:few -.a -.b) t=$(a +.a, b +.b)]
|
||||
--
|
||||
=+ xw=(rpp 5 16 x)
|
||||
=+ ^= ow |- ^- (list ,@)
|
||||
?~ r xw
|
||||
$(xw (dr xw), r (sub r 2))
|
||||
(rep 5 (al xw ow))
|
||||
++ sal
|
||||
|= [x=@ r=@] :: salsa20 hash
|
||||
?> =((mod r 2) 0) :: with r rounds
|
||||
=+ few==>(fe .(a 5))
|
||||
=+ ^= rot
|
||||
|= [a=@ b=@]
|
||||
(mix (end 5 1 (lsh 0 a b)) (rsh 0 (sub 32 a) b))
|
||||
=+ ^= lea
|
||||
|= [a=@ b=@]
|
||||
(net:few (sum:few (net:few a) (net:few b)))
|
||||
=> |%
|
||||
++ qr :: quarterround
|
||||
|= y=[@ @ @ @ ~]
|
||||
=+ zb=(mix &2.y (rot 7 (sum:few &1.y &4.y)))
|
||||
=+ zc=(mix &3.y (rot 9 (sum:few zb &1.y)))
|
||||
=+ zd=(mix &4.y (rot 13 (sum:few zc zb)))
|
||||
=+ za=(mix &1.y (rot 18 (sum:few zd zc)))
|
||||
~[za zb zc zd]
|
||||
++ rr :: rowround
|
||||
|= [y=(list ,@)]
|
||||
=+ za=(qr ~[&1.y &2.y &3.y &4.y])
|
||||
=+ zb=(qr ~[&6.y &7.y &8.y &5.y])
|
||||
=+ zc=(qr ~[&11.y &12.y &9.y &10.y])
|
||||
=+ zd=(qr ~[&16.y &13.y &14.y &15.y])
|
||||
^- (list ,@) :~
|
||||
&1.za &2.za &3.za &4.za
|
||||
&4.zb &1.zb &2.zb &3.zb
|
||||
&3.zc &4.zc &1.zc &2.zc
|
||||
&2.zd &3.zd &4.zd &1.zd ==
|
||||
++ cr :: columnround
|
||||
|= [x=(list ,@)]
|
||||
=+ ya=(qr ~[&1.x &5.x &9.x &13.x])
|
||||
=+ yb=(qr ~[&6.x &10.x &14.x &2.x])
|
||||
=+ yc=(qr ~[&11.x &15.x &3.x &7.x])
|
||||
=+ yd=(qr ~[&16.x &4.x &8.x &12.x])
|
||||
^- (list ,@) :~
|
||||
&1.ya &4.yb &3.yc &2.yd
|
||||
&2.ya &1.yb &4.yc &3.yd
|
||||
&3.ya &2.yb &1.yc &4.yd
|
||||
&4.ya &3.yb &2.yc &1.yd ==
|
||||
++ dr :: doubleround
|
||||
|= [x=(list ,@)]
|
||||
(rr (cr x))
|
||||
++ al :: add two lists
|
||||
|= [a=(list ,@) b=(list ,@)]
|
||||
|- ^- (list ,@)
|
||||
?~ a ~ ?~ b ~
|
||||
[i=(sum:few -.a -.b) t=$(a +.a, b +.b)]
|
||||
--
|
||||
=+ xw=(rpp 5 16 x)
|
||||
=+ ^= ow |- ^- (list ,@)
|
||||
?~ r xw
|
||||
$(xw (dr xw), r (sub r 2))
|
||||
(rep 5 (al xw ow))
|
||||
::
|
||||
++ rpp |= [a=bloq b=@ c=@] :: rip w/filler blocks
|
||||
=+ q=(rip a c)
|
||||
=+ w=(lent q)
|
||||
?. =(w b)
|
||||
?. (lth w b) (slag (sub w b) q)
|
||||
^+ q (weld q (reap (sub b (lent q)) 0))
|
||||
q
|
||||
++ rpp
|
||||
|= [a=bloq b=@ c=@] :: rip w/filler blocks
|
||||
=+ q=(rip a c)
|
||||
=+ w=(lent q)
|
||||
?. =(w b)
|
||||
?. (lth w b) (slag (sub w b) q)
|
||||
^+ q (weld q (reap (sub b (lent q)) 0))
|
||||
q
|
||||
::
|
||||
++ xrl |= [a=(list ,@) b=(list ,@)] :: xor lists
|
||||
|- ^- (list ,@)
|
||||
?~ a b ?~ b a
|
||||
[i=(mix -.a -.b) t=$(a +.a, b +.b)]
|
||||
++ bls
|
||||
|= [a=@ b=(list ,@)] :: split to sublists
|
||||
?> =((mod (lent b) a) 0)
|
||||
|- ^- (list (list ,@))
|
||||
?~ b ~
|
||||
[i=(scag a `(list ,@)`b) t=$(b (slag a `(list ,@)`b))]
|
||||
::
|
||||
++ xrm |= [a=(list (list ,@)) b=(list (list ,@))]
|
||||
|- ^- (list (list ,@))
|
||||
?~ a b ?~ b a
|
||||
[i=(xrl -.a -.b) t=$(a +.a, b +.b)]
|
||||
++ slb
|
||||
|= [a=(list (list ,@))]
|
||||
|- ^- (list ,@)
|
||||
?~ a ~
|
||||
(weld `(list ,@)`-.a $(a +.a))
|
||||
::
|
||||
++ bls |= [a=@ b=(list ,@)] :: split to sublists
|
||||
?> =((mod (lent b) a) 0)
|
||||
|- ^- (list (list ,@))
|
||||
?~ b ~
|
||||
[i=(scag a `(list ,@)`b) t=$(b (slag a `(list ,@)`b))]
|
||||
++ sbm
|
||||
|= [r=@ b=(list ,@)] :: scryptBlockMix
|
||||
?> =((lent b) (mul 2 r))
|
||||
=+ [x=(snag (dec (mul 2 r)) b) c=0]
|
||||
=| [ya=(list ,@) yb=(list ,@)]
|
||||
|- ^- (list ,@)
|
||||
?~ b (flop (weld yb ya))
|
||||
=. x (sal (mix x -.b) 8)
|
||||
?~ (mod c 2)
|
||||
$(c +(c), b +.b, ya [i=x t=ya])
|
||||
$(c +(c), b +.b, yb [i=x t=yb])
|
||||
::
|
||||
++ slb |= [a=(list (list ,@))]
|
||||
|- ^- (list ,@)
|
||||
?~ a ~
|
||||
(weld `(list ,@)`-.a $(a +.a))
|
||||
++ srm
|
||||
|= [r=@ b=(list ,@) n=@] :: scryptROMix
|
||||
?> ?& =((lent b) (mul 2 r))
|
||||
=(n (bex (dec (xeb n))))
|
||||
(lth n (bex (mul r 16)))
|
||||
==
|
||||
=+ [v=*(list (list ,@)) c=0]
|
||||
=. v
|
||||
|- ^- (list (list ,@))
|
||||
=+ w=(sbm r b)
|
||||
?: =(c n) (flop v)
|
||||
$(c +(c), v [i=[b] t=v], b w)
|
||||
=+ x=(sbm r (snag (dec n) v))
|
||||
|- ^- (list ,@)
|
||||
?: =(c n) x
|
||||
=+ q=(snag (dec (mul r 2)) x)
|
||||
=+ z=`(list ,@)`(snag (mod q n) v)
|
||||
=+ ^= w |- ^- (list ,@)
|
||||
?~ x ~ ?~ z ~
|
||||
[i=(mix -.x -.z) t=$(x +.x, z +.z)]
|
||||
$(x (sbm r w), c +(c))
|
||||
::
|
||||
++ sbm |= [r=@ b=(list ,@)] :: scryptBlockMix
|
||||
?> =((lent b) (mul 2 r))
|
||||
=+ [x=(snag (dec (mul 2 r)) b) c=0]
|
||||
=| [ya=(list ,@) yb=(list ,@)]
|
||||
|- ^- (list ,@)
|
||||
?~ b (flop (weld yb ya))
|
||||
=. x (sal (mix x -.b) 8)
|
||||
?~ (mod c 2)
|
||||
$(c +(c), b +.b, ya [i=x t=ya])
|
||||
$(c +(c), b +.b, yb [i=x t=yb])
|
||||
++ hmc
|
||||
|= [k=@ t=@] :: HMAC-SHA-256
|
||||
(hml k (met 3 k) t (met 3 t))
|
||||
::
|
||||
++ srm |= [r=@ b=(list ,@) n=@] :: scryptROMix
|
||||
?> ?&
|
||||
=((lent b) (mul 2 r))
|
||||
=(n (bex (dec (xeb n))))
|
||||
(lth n (bex (mul r 16)))
|
||||
==
|
||||
=| v=(list (list ,@))
|
||||
=+ c=0
|
||||
=. v
|
||||
|- ^- (list (list ,@))
|
||||
=+ w=(sbm r b)
|
||||
?: =(c n) (flop v)
|
||||
$(c +(c), v [i=[b] t=v], b w)
|
||||
=+ x=(sbm r (snag (dec n) v))
|
||||
|- ^- (list ,@)
|
||||
?: =(c n) x
|
||||
=+ q=(snag (dec (mul r 2)) x)
|
||||
$(x (sbm r (xrl x (snag (mod q n) v))), c +(c))
|
||||
::
|
||||
++ hmc |= [k=@ t=@] :: HMAC-SHA-256
|
||||
(hml k (met 3 k) t (met 3 t))
|
||||
::
|
||||
++ hml |= [k=@ kl=@ t=@ tl=@] :: w/length
|
||||
=. k (end 3 kl k) =. t (end 3 tl t)
|
||||
=+ b=64
|
||||
=. k ?. (gth kl b) k (shay kl k)
|
||||
=+ ^= q %+ shay (add b tl)
|
||||
(add (lsh 3 b t) (mix k (fil 3 b 0x36)))
|
||||
%+ shay (add b 32)
|
||||
(add (lsh 3 b q) (mix k (fil 3 b 0x5c)))
|
||||
++ hml
|
||||
|= [k=@ kl=@ t=@ tl=@] :: w/length
|
||||
=> .(k (end 3 kl k), t (end 3 tl t))
|
||||
=+ b=64
|
||||
=. k ?. (gth kl b) k (shay kl k)
|
||||
=+ ^= q %+ shay (add b tl)
|
||||
(add (lsh 3 b t) (mix k (fil 3 b 0x36)))
|
||||
%+ shay (add b 32)
|
||||
(add (lsh 3 b q) (mix k (fil 3 b 0x5c)))
|
||||
::
|
||||
++ pbk ~/ %pbk :: PBKDF2-HMAC-SHA256
|
||||
|= [p=@ s=@ c=@ d=@]
|
||||
(pbl p (met 3 p) s (met 3 s) c d)
|
||||
|= [p=@ s=@ c=@ d=@]
|
||||
(pbl p (met 3 p) s (met 3 s) c d)
|
||||
::
|
||||
++ pbl ~/ %pbl :: w/length
|
||||
|= [p=@ pl=@ s=@ sl=@ c=@ d=@]
|
||||
=. p (end 3 pl p) =. s (end 3 sl s)
|
||||
=+ h=32
|
||||
?> ?& (lte d (bex 30)) :: max key length 1GB
|
||||
(lte c (bex 28)) :: max iterations 2^28
|
||||
!=(c 0)
|
||||
==
|
||||
=+ ^= l ?~ (mod d h)
|
||||
(div d h)
|
||||
+((div d h))
|
||||
=+ r=(sub d (mul h (dec l)))
|
||||
=+ [t=0 j=1 k=1]
|
||||
=. t |- ^- @
|
||||
?: (gth j l) t
|
||||
=+ u=(add s (lsh 3 sl (rep 3 (flop (rpp 3 4 j)))))
|
||||
=+ f=0 =. f |- ^- @
|
||||
?: (gth k c) f
|
||||
=+ q=(hml p pl u ?:(=(k 1) (add sl 4) h))
|
||||
$(u q, f (mix f q), k +(k))
|
||||
$(t (add t (lsh 3 (mul (dec j) h) f)), j +(j))
|
||||
(end 3 d t)
|
||||
|= [p=@ pl=@ s=@ sl=@ c=@ d=@]
|
||||
=> .(p (end 3 pl p), s (end 3 sl s))
|
||||
=+ h=32
|
||||
?> ?& (lte d (bex 30)) :: max key length 1GB
|
||||
(lte c (bex 28)) :: max iterations 2^28
|
||||
!=(c 0)
|
||||
==
|
||||
=+ ^= l ?~ (mod d h)
|
||||
(div d h)
|
||||
+((div d h))
|
||||
=+ r=(sub d (mul h (dec l)))
|
||||
=+ [t=0 j=1 k=1]
|
||||
=. t |- ^- @
|
||||
?: (gth j l) t
|
||||
=+ u=(add s (lsh 3 sl (rep 3 (flop (rpp 3 4 j)))))
|
||||
=+ f=0 =. f |- ^- @
|
||||
?: (gth k c) f
|
||||
=+ q=(hml p pl u ?:(=(k 1) (add sl 4) h))
|
||||
$(u q, f (mix f q), k +(k))
|
||||
$(t (add t (lsh 3 (mul (dec j) h) f)), j +(j))
|
||||
(end 3 d t)
|
||||
::
|
||||
++ hsh ~/ %hsh :: scrypt
|
||||
|= [p=@ s=@ n=@ r=@ z=@ d=@]
|
||||
(hsl p (met 3 p) s (met 3 s) n r z d)
|
||||
|= [p=@ s=@ n=@ r=@ z=@ d=@]
|
||||
(hsl p (met 3 p) s (met 3 s) n r z d)
|
||||
::
|
||||
++ hsl ~/ %hsl :: w/length
|
||||
|= [p=@ pl=@ s=@ sl=@ n=@ r=@ z=@ d=@]
|
||||
=| v=(list (list ,@))
|
||||
=. p (end 3 pl p) =. s (end 3 sl s)
|
||||
=+ u=(mul (mul 128 r) z)
|
||||
?> ?& =(n (bex (dec (xeb n)))) :: n is power of 2
|
||||
!=(r 0) !=(z 0)
|
||||
%+ lte :: max 1GB memory
|
||||
(mul (mul 128 r) (dec (add n z)))
|
||||
(bex 30)
|
||||
(lth pl (bex 31))
|
||||
(lth sl (bex 31))
|
||||
==
|
||||
=+ ^= b =+ %^ rpp 3 u
|
||||
(pbl p pl s sl 1 u)
|
||||
%+ turn (bls (mul 128 r) -)
|
||||
|=(a=(list ,@) (rpp 9 (mul 2 r) (rep 3 a)))
|
||||
?> =((lent b) z)
|
||||
=+ ^= q
|
||||
=+ |- ?~ b (flop v)
|
||||
$(b +.b, v [i=(srm r -.b n) t=v])
|
||||
%+ turn `(list (list ,@))`-
|
||||
|=(a=(list ,@) (rpp 3 (mul 128 r) (rep 9 a)))
|
||||
(pbl p pl (rep 3 (slb q)) u 1 d)
|
||||
|= [p=@ pl=@ s=@ sl=@ n=@ r=@ z=@ d=@]
|
||||
=| v=(list (list ,@))
|
||||
=> .(p (end 3 pl p), s (end 3 sl s))
|
||||
=+ u=(mul (mul 128 r) z)
|
||||
?> ?& =(n (bex (dec (xeb n)))) :: n is power of 2
|
||||
!=(r 0) !=(z 0)
|
||||
%+ lte :: max 1GB memory
|
||||
(mul (mul 128 r) (dec (add n z)))
|
||||
(bex 30)
|
||||
(lth pl (bex 31))
|
||||
(lth sl (bex 31))
|
||||
==
|
||||
=+ ^= b =+ (rpp 3 u (pbl p pl s sl 1 u))
|
||||
%+ turn (bls (mul 128 r) -)
|
||||
|=(a=(list ,@) (rpp 9 (mul 2 r) (rep 3 a)))
|
||||
?> =((lent b) z)
|
||||
=+ ^= q
|
||||
=+ |- ?~ b (flop v)
|
||||
$(b +.b, v [i=(srm r -.b n) t=v])
|
||||
%+ turn `(list (list ,@))`-
|
||||
|=(a=(list ,@) (rpp 3 (mul 128 r) (rep 9 a)))
|
||||
(pbl p pl (rep 3 (slb q)) u 1 d)
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: section 2eY, SHA-256 (move me) ::
|
||||
@ -5757,7 +5751,7 @@
|
||||
:: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: section 2fA, miscellaneous funs ::
|
||||
:: ::
|
||||
++ bull :: make %bull type
|
||||
++ bull :: make %bull type
|
||||
|= [bid=twin der=type]
|
||||
^- type
|
||||
?:(|(=(%void der) =(%void s.bid)) %void [%bull bid der])
|
||||
@ -5792,7 +5786,7 @@
|
||||
[%face cog der]
|
||||
::
|
||||
++ bool ^-(type [%fork [%cube 0 %atom %f] [%cube 1 %atom %f]]) :: -:!>(*?)
|
||||
++ flay
|
||||
++ flay
|
||||
~/ %flay
|
||||
|= pok=port
|
||||
^- [p=axis q=type]
|
||||
@ -6031,7 +6025,7 @@
|
||||
++ seed :: hoon/hoon core vase
|
||||
^- vase
|
||||
!!
|
||||
:: ~+ :: trimmed
|
||||
:: ~+ :: trimmed
|
||||
:: !;(*type ..seed)
|
||||
::
|
||||
++ seem |=(toy=typo `type`toy) :: promote typo
|
||||
@ -6101,7 +6095,7 @@
|
||||
~
|
||||
`[(~(peek ut p.vax) %free axe) .*(q.vax [0 axe])]
|
||||
::
|
||||
++ slab
|
||||
++ slab
|
||||
|= [cog=@tas typ=type]
|
||||
!=(~ q:(~(fino ut typ) 0 %free cog))
|
||||
::
|
||||
@ -6137,7 +6131,7 @@
|
||||
|= [sut=type ref=type]
|
||||
^- [? worm]
|
||||
?: (~(has in nes) [sut ref]) [& +>+<]
|
||||
?. (~(nest ut sut) | ref)
|
||||
?. (~(nest ut sut) | ref)
|
||||
:: ~& %nest-failed
|
||||
[| +>+<]
|
||||
[& +>+<(nes (~(put in nes) [sut ref]))]
|
||||
@ -6190,7 +6184,7 @@
|
||||
++ spec :: specialize vase
|
||||
|= vax=vase
|
||||
^- [vase worm]
|
||||
=+ ^= gen ^- twig
|
||||
=+ ^= gen ^- twig
|
||||
?@ q.vax [%wtts [%axil [%atom %$]] [%$ 1]~]
|
||||
?@ -.q.vax [%wtts [%leaf %tas -.q.vax] [%$ 2]~]
|
||||
[%wtts [%axil %cell] [%$ 1]~]
|
||||
@ -6445,7 +6439,7 @@
|
||||
[%cnzz [@ ~]] i.p.gen
|
||||
[%zpcb *] $(gen q.gen)
|
||||
[@ *] =+(neg=open ?:(=(gen neg) [%0 ~] $(gen neg)))
|
||||
[^ *] =+ toe=[$(gen p.gen) $(gen q.gen)]
|
||||
[^ *] =+ toe=[$(gen p.gen) $(gen q.gen)]
|
||||
?:(=(toe [[%0 ~] [%0 ~]]) [%0 ~] [%2 toe])
|
||||
==
|
||||
::
|
||||
@ -6496,7 +6490,7 @@
|
||||
[i.p.gen $(p.gen t.p.gen)]
|
||||
::
|
||||
[%cncb *] [%ktls [%cnzz p.gen] %cnts p.gen q.gen]
|
||||
[%cncl *]
|
||||
[%cncl *]
|
||||
=+ rem=[%cnsg [%$ ~] p.gen q.gen]
|
||||
?. ?=([%zpcb ^ %cnzz @ ~] p.gen) rem
|
||||
=> .(p.gen `[@ ^ @ p=@tas ~]`p.gen)
|
||||
@ -7083,7 +7077,7 @@
|
||||
%type
|
||||
=+ cis=((hard tank) .*(.(sut lum) !=(duck))) :: type bypass
|
||||
:^ ~ %palm
|
||||
[~ ~ ~ ~]
|
||||
[~ ~ ~ ~]
|
||||
[[%leaf '#' 't' '/' ~] cis ~]
|
||||
::
|
||||
%wall
|
||||
@ -8546,7 +8540,7 @@
|
||||
$(i.ruw t.i.ruw, cah [i.i.ruw cah])
|
||||
$(i.ruw t.i.ruw, cah ~, yun [p.i.i.ruw (wod cah yun)])
|
||||
::
|
||||
++ posh !:
|
||||
++ posh !:
|
||||
|= [pre=(unit tyke) pof=(unit ,[p=@ud q=tyke])]
|
||||
^- (unit (list twig))
|
||||
=- ?^(- - ~&(%posh-fail -))
|
||||
@ -8569,7 +8563,7 @@
|
||||
^- (unit tusk)
|
||||
?~ goo `~
|
||||
%+ both
|
||||
?^(i.goo i.goo ?~(pag ~ `u=i.pag))
|
||||
?^(i.goo i.goo ?~(pag ~ `u=i.pag))
|
||||
$(goo t.goo, pag ?~(pag ~ t.pag))
|
||||
::
|
||||
++ poor
|
||||
@ -8997,7 +8991,7 @@
|
||||
;~ pose
|
||||
;~ less (jest '"""')
|
||||
%+ ifix [doq doq]
|
||||
%- star
|
||||
%- star
|
||||
;~ pose
|
||||
;~(pfix bas ;~(pose bas doq kel bix:ab))
|
||||
;~(less doq bas kel prn)
|
||||
@ -9007,7 +9001,7 @@
|
||||
::
|
||||
%- inde %+ ifix
|
||||
[(jest '"""\0a') (jest '\0a"""')]
|
||||
%- star
|
||||
%- star
|
||||
;~ pose
|
||||
;~(pfix bas ;~(pose bas kel bix:ab))
|
||||
;~(less bas kel prn)
|
||||
@ -9422,7 +9416,7 @@
|
||||
%pel [~ %cnts ~(rake ap ros) p.vil]
|
||||
%pat [~ %bcpt ~(rake ap ros) p.vil]
|
||||
%ket [~ ros p.vil]
|
||||
%tis =+ tog=~(hock ap ros)
|
||||
%tis =+ tog=~(hock ap ros)
|
||||
?:(=([%0 ~] tog) ~ [~ %ktts tog p.vil])
|
||||
==
|
||||
::
|
||||
@ -9572,7 +9566,7 @@
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: profiling support; move me ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ doss
|
||||
++ doss
|
||||
$: mon=moan :: sample count
|
||||
hit=(map term ,@ud) :: hit points
|
||||
cut=(map path hump) :: cut points
|
||||
@ -9613,11 +9607,11 @@
|
||||
=+ nax=`(unit path)`?~(t.paz ~ `i.t.paz)
|
||||
=+ hup=`hump`=+(hup=(~(get by cut.day) i.paz) ?^(hup u.hup [*moan ~ ~]))
|
||||
:+ (pi-mope mot mon.hup)
|
||||
?~ lax out.hup
|
||||
=+ hag=(~(get by out.hup) u.lax)
|
||||
?~ lax out.hup
|
||||
=+ hag=(~(get by out.hup) u.lax)
|
||||
(~(put by out.hup) u.lax ?~(hag 1 +(u.hag)))
|
||||
?~ nax inn.hup
|
||||
=+ hag=(~(get by inn.hup) u.nax)
|
||||
?~ nax inn.hup
|
||||
=+ hag=(~(get by inn.hup) u.nax)
|
||||
(~(put by inn.hup) u.nax ?~(hag 1 +(u.hag)))
|
||||
==
|
||||
++ pi-mope :: add sample
|
||||
@ -9792,7 +9786,7 @@
|
||||
== ::
|
||||
++ wire path :: event pretext
|
||||
::::: hacks and tools
|
||||
++ slod
|
||||
++ slod
|
||||
|= sed=slad
|
||||
^- slut
|
||||
|= raw=*
|
||||
@ -9857,7 +9851,7 @@
|
||||
| [%| [%cell typ.vil p.p.hil] p.hil]
|
||||
==
|
||||
::
|
||||
++ slur :: call gate on
|
||||
++ slur :: call gate on
|
||||
|= [gat=vase hil=mill]
|
||||
^- (unit (pair vase worm))
|
||||
=+ sam=(slot 6 gat)
|
||||
@ -9879,7 +9873,7 @@
|
||||
::
|
||||
++ slur-pro :: profiling slur
|
||||
~/ %slur-pro
|
||||
|= [lal=@tas gat=vase hil=mill]
|
||||
|= [lal=@tas gat=vase hil=mill]
|
||||
?+ lal (slur-z gat hil)
|
||||
%a (slur-a gat hil)
|
||||
%b (slur-b gat hil)
|
||||
@ -9949,7 +9943,7 @@
|
||||
[%sick p=[p=@tas q=*]]
|
||||
%- (bond |.([%| p.p.q.caq]))
|
||||
=^ yav p.sew (~(spot wa p.sew) 3 caq)
|
||||
%+ bind (song yav)
|
||||
%+ bind (song yav)
|
||||
|= [hil=mill vel=worm]
|
||||
[%& [%sick hil] vel]
|
||||
::
|
||||
@ -10021,10 +10015,10 @@
|
||||
(slid [%& duc.vil hen] (slix hil))
|
||||
~| [%swim-take-vane lal]
|
||||
=^ vax p.sew (~(slap wa p.sew) rig [%cnzy %take])
|
||||
%^ slur-pro lal vax
|
||||
%^ slur-pro lal vax
|
||||
;: slid
|
||||
[%& pah.vil u.pux]
|
||||
[%& duc.vil hen]
|
||||
[%& pah.vil u.pux]
|
||||
[%& duc.vil hen]
|
||||
(slix (slid [%& [%cube org %atom %tas] org] hil))
|
||||
==
|
||||
?~ pru
|
||||
@ -10075,6 +10069,7 @@
|
||||
|= hap=path ^- @tas
|
||||
?+ hap !!
|
||||
[@ %ames *] %a
|
||||
[@ %boat *] %c
|
||||
[@ %newt *] %a
|
||||
[@ %sync *] %c
|
||||
[@ %term *] %d
|
||||
@ -10129,7 +10124,7 @@
|
||||
:: =. lac |(lac ?=(?(%g %f) p.gum))
|
||||
:: =. lac &(lac !?=(%b p.gum))
|
||||
%+ fire
|
||||
p.gum
|
||||
p.gum
|
||||
?- -.r.gum
|
||||
%pass
|
||||
~? &(!lac !=(%$ p.gum))
|
@ -42,7 +42,7 @@
|
||||
== ::
|
||||
++ move ,[p=duct q=(mold note gift)] :: typed move
|
||||
++ note :: out request $->
|
||||
$% $: %t :: to %time
|
||||
$% $: %b :: to %behn
|
||||
$% [%wait p=@da] ::
|
||||
[%rest p=@da] ::
|
||||
== == == ::
|
@ -1029,9 +1029,7 @@
|
||||
^- miso
|
||||
=+ dir=((hard arch) .^(%cy pax))
|
||||
?~ q.dir [%ins val]
|
||||
=+ for=((hard mark) -:(flop pax))
|
||||
?> =(for p.val)
|
||||
[%mut [for p.q.val .^(%cx pax)] val]
|
||||
[%mut val]
|
||||
::
|
||||
++ file :: simple file load
|
||||
|= pax=path
|
||||
@ -1049,7 +1047,7 @@
|
||||
|= pax=path
|
||||
^- toro
|
||||
?> ?=([* * * *] pax)
|
||||
[i.t.pax [%& [*cart [[t.t.t.pax [%del %$ !>(.^(%cx pax))]] ~]]]]
|
||||
[i.t.pax [%& [*cart [[t.t.t.pax [%del ~]] ~]]]]
|
||||
::
|
||||
++ furl :: unify changes
|
||||
|= [one=toro two=toro]
|
||||
@ -1163,12 +1161,13 @@
|
||||
::
|
||||
++ ofis :: XX broken
|
||||
=- |=(a=cord (rash a fel))
|
||||
=- fel=;~(sfix (boss 64 (plus siw)) (stun 0^2 tis))
|
||||
=< fel=(cook |=(a=@ `@t`(swap 3 a)) (bass 64 .))
|
||||
=- (cook welp ;~(plug (plus siw) (stun 0^2 (cold %0 tis))))
|
||||
^= siw
|
||||
;~ pose
|
||||
dit
|
||||
(cook |=(a=@ (sub a (sub 'A' 10))) (shim 'A' 'Z'))
|
||||
(cook |=(a=@ (sub a (sub 'a' 36))) (shim 'a' 'z'))
|
||||
(cook |=(a=@ (sub a 'A')) (shim 'A' 'Z'))
|
||||
(cook |=(a=@ (sub a 'G')) (shim 'a' 'z'))
|
||||
(cook |=(a=@ (add a 4)) (shim '0' '9'))
|
||||
(cold 62 (just '+'))
|
||||
(cold 63 (just '/'))
|
||||
==
|
||||
@ -2114,13 +2113,13 @@
|
||||
++ mime ,[p=mite q=octs] :: mimetyped data
|
||||
++ mite (list ,@ta) :: mime type
|
||||
++ miso :: ankh delta
|
||||
$% [%del p=cage] :: delete
|
||||
$% [%del ~] :: delete
|
||||
[%ins p=cage] :: insert
|
||||
[%dif p=cage] :: mutate from diff
|
||||
[%mut p=cage q=cage] :: mutate from raw
|
||||
[%mut p=cage] :: mutate from raw
|
||||
== ::
|
||||
++ misu :: computed delta
|
||||
$% [%del p=cage] :: delete
|
||||
$% [%del ~] :: delete
|
||||
[%ins p=cage] :: insert
|
||||
[%dif p=lobe q=cage] :: mutate from diff
|
||||
== ::
|
||||
@ -2322,29 +2321,46 @@
|
||||
[%wont p=sock q=path r=*] :: e2e send message
|
||||
== ::
|
||||
::
|
||||
:::: %behn
|
||||
::
|
||||
++ gift-behn :: out result <-$
|
||||
$% [%mass p=mass] :: memory usage
|
||||
[%wake ~] :: wakey-wakey
|
||||
== ::
|
||||
++ kiss-behn :: in request ->$
|
||||
$% [%rest p=@da] :: cancel alarm
|
||||
[%wait p=@da] :: set alarm
|
||||
[%wake ~] :: timer activate
|
||||
[%wegh ~] :: report memory
|
||||
== ::
|
||||
::
|
||||
:::: %clay
|
||||
::
|
||||
++ khan ::
|
||||
$: fil=(unit (unit cage)) :: XX see khan-to-soba
|
||||
dir=(unit (map ,@ta (unit khan))) ::
|
||||
== ::
|
||||
++ mick (list ,[path (unit mime)])
|
||||
++ mode (list ,[path (unit mime)])
|
||||
++ riff ,[p=desk q=(unit rave)] :: request/desist
|
||||
:::: ::
|
||||
++ gift-clay :: out result <-$
|
||||
$% [%ergo p=@p q=@tas r=@ud s=mick] :: version update
|
||||
$% [%ergo p=@tas q=mode] :: version update
|
||||
[%hill p=(list ,@tas)] :: mount points
|
||||
[%mack p=(unit tang)] :: ack
|
||||
[%mass p=mass] :: memory usage
|
||||
[%mere p=(each (set path) (pair term tang))] :: merge result
|
||||
[%note p=@tD q=tank] :: debug message
|
||||
[%ogre p=@tas] :: delete mount point
|
||||
[%writ p=riot] :: response
|
||||
== ::
|
||||
++ kiss-clay :: in request ->$
|
||||
$% [%info p=@p q=@tas r=nori] :: internal edit
|
||||
$% [%boat ~] :: pier rebooted
|
||||
[%info p=@p q=@tas r=nori] :: internal edit
|
||||
[%init p=@p] :: report install
|
||||
[%into p=@p q=@tas r=khan] :: external edit
|
||||
[%lynx p=@p q=@tas r=(unit ,?)] :: sync to unix
|
||||
[%into p=@tas q=? r=mode] :: external edit
|
||||
[%merg p=@p q=@tas r=@p s=@tas t=germ] :: merge desks
|
||||
[%mont p=@tas q=@p r=@tas s=path] :: mount to unix
|
||||
[%ogre p=$|(@tas beam)] :: delete mount point
|
||||
[%warp p=sock q=riff] :: file request
|
||||
[%wegh ~] :: report memory
|
||||
[%west p=sack q=path r=*] :: network request
|
||||
@ -2587,19 +2603,6 @@
|
||||
[%mack p=(unit tang)] :: message ack
|
||||
== ::
|
||||
::
|
||||
:::: %time
|
||||
::
|
||||
++ gift-time :: out result <-$
|
||||
$% [%mass p=mass] :: memory usage
|
||||
[%wake ~] :: wakey-wakey
|
||||
== ::
|
||||
++ kiss-time :: in request ->$
|
||||
$% [%rest p=@da] :: cancel alarm
|
||||
[%wait p=@da] :: set alarm
|
||||
[%wake ~] :: timer activate
|
||||
[%wegh ~] :: report memory
|
||||
== ::
|
||||
::
|
||||
:::: %arvo
|
||||
::
|
||||
++ gift-arvo :: out result <-$
|
||||
@ -2609,7 +2612,7 @@
|
||||
gift-eyre
|
||||
gift-ford
|
||||
gift-gall
|
||||
gift-time
|
||||
gift-behn
|
||||
==
|
||||
++ kiss-arvo :: in request ->$
|
||||
$? kiss-ames
|
||||
@ -2618,25 +2621,25 @@
|
||||
kiss-eyre
|
||||
kiss-ford
|
||||
kiss-gall
|
||||
kiss-time
|
||||
kiss-behn
|
||||
==
|
||||
++ note-arvo :: out request $->
|
||||
$? [@tas %meta vase]
|
||||
$% [%a kiss-ames]
|
||||
[%b kiss-behn]
|
||||
[%c kiss-clay]
|
||||
[%d kiss-dill]
|
||||
[%e kiss-eyre]
|
||||
[%f kiss-ford]
|
||||
[%g kiss-gall]
|
||||
[%t kiss-time]
|
||||
== ==
|
||||
++ sign-arvo :: in result $<-
|
||||
$% [%a gift-ames]
|
||||
[%b gift-behn]
|
||||
[%c gift-clay]
|
||||
[%d gift-dill]
|
||||
[%e gift-eyre]
|
||||
[%f gift-ford]
|
||||
[%g gift-gall]
|
||||
[%t gift-time]
|
||||
==
|
||||
--
|
@ -1 +0,0 @@
|
||||
|=([^ [input=path output=path ~] ~] kiln-cp/[input output])
|
@ -1,16 +0,0 @@
|
||||
:: this mark is used to receive incoming oauth2 tokens that we use to poke our %gall server
|
||||
::
|
||||
:::: /hook/door/do-auth/mar
|
||||
::
|
||||
/? 310
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter arm
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot authcode/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter am
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot secret/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
@ -8,5 +8,5 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=(list term) ~]
|
||||
==
|
||||
:+ %hood-reload-desk %base
|
||||
:+ %helm-reload-desk %base
|
||||
arg
|
@ -8,4 +8,4 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[[who=@p myl=@t ~] ~]
|
||||
==
|
||||
[%hood-invite who myl]
|
||||
[%helm-invite who myl]
|
12
cat/hood/label.hoon
Normal file
12
cat/hood/label.hoon
Normal file
@ -0,0 +1,12 @@
|
||||
::
|
||||
:::: /hoon/label/hood/cat
|
||||
::
|
||||
/? 314
|
||||
::
|
||||
::::
|
||||
!:
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=[syd=desk lab=@tas ~] ~]
|
||||
==
|
||||
:- %kiln-label
|
||||
[syd lab]:arg
|
@ -8,7 +8,7 @@
|
||||
|= $: [now=@da eny=@uvI byk=beak]
|
||||
[arg=$?([dap=term ~] [who=ship dap=term ~]) ~]
|
||||
==
|
||||
:- %hood-link
|
||||
:- %drum-link
|
||||
?~ +.arg
|
||||
[p.byk dap.arg]
|
||||
[who.arg dap.arg]
|
@ -8,4 +8,4 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=~ ~]
|
||||
==
|
||||
[%hood-mass ~]
|
||||
[%helm-mass ~]
|
@ -8,5 +8,5 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[[syd=@tas her=@p sud=@tas gem=?([?(%auto germ) ~] ~)] ~]
|
||||
==
|
||||
:- %hood-merge
|
||||
:- %kiln-merge
|
||||
[syd her sud ?~(gem %auto -.gem)]
|
12
cat/hood/mount.hoon
Normal file
12
cat/hood/mount.hoon
Normal file
@ -0,0 +1,12 @@
|
||||
::
|
||||
:::: /hoon/mount/hood/cat
|
||||
::
|
||||
/? 314
|
||||
::
|
||||
::::
|
||||
!:
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=[pax=path pot=@tas ~] ~]
|
||||
==
|
||||
:- %kiln-mount
|
||||
[pax pot]:arg
|
1
cat/hood/mv.hoon
Normal file
1
cat/hood/mv.hoon
Normal file
@ -0,0 +1 @@
|
||||
|=([^ [input=path output=path ~] ~] kiln-mv/[input output])
|
@ -8,5 +8,5 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=[desk (list term)] ~]
|
||||
==
|
||||
:- %hood-reload-desk
|
||||
:- %helm-reload-desk
|
||||
arg
|
@ -8,5 +8,5 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=(list term) ~]
|
||||
==
|
||||
:- %hood-reload
|
||||
:- %helm-reload
|
||||
arg
|
@ -8,4 +8,4 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=~ ~]
|
||||
==
|
||||
[%hood-reset ~]
|
||||
[%helm-reset ~]
|
@ -8,7 +8,7 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=[@ $|(~ [@ ~])] ~]
|
||||
==
|
||||
:- %hood-start
|
||||
:- %drum-start
|
||||
?> ((sane %tas) -.arg)
|
||||
?@ +.arg [%home -.arg]
|
||||
?> ((sane %tas) +<.arg)
|
@ -8,5 +8,5 @@
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[arg=[syd=@tas her=@p sud=@tas ~] ~]
|
||||
==
|
||||
:- %hood-sync
|
||||
:- %kiln-sync
|
||||
[syd her sud]:arg
|
12
cat/hood/unmount.hoon
Normal file
12
cat/hood/unmount.hoon
Normal file
@ -0,0 +1,12 @@
|
||||
::
|
||||
:::: /hoon/mount/hood/cat
|
||||
::
|
||||
/? 314
|
||||
::
|
||||
::::
|
||||
!:
|
||||
|= $: [now=@da eny=@uvI bec=beak]
|
||||
[[mon=$|(term [span path]) ~] ~]
|
||||
==
|
||||
:- %kiln-unmount
|
||||
mon
|
@ -9,5 +9,5 @@
|
||||
|= $: [now=@da eny=@ bec=beak]
|
||||
[~ ~]
|
||||
==
|
||||
~& %hood-verb
|
||||
~& %helm-verb
|
||||
[%helm-verb ~]
|
@ -23,10 +23,10 @@
|
||||
[%g %gall]
|
||||
[%f %ford]
|
||||
[%a %ames]
|
||||
[%b %behn]
|
||||
[%c %clay]
|
||||
[%d %dill]
|
||||
[%e %eyre]
|
||||
[%t %time]
|
||||
==
|
||||
|- ^+ all
|
||||
?~ vay all
|
@ -14,20 +14,20 @@
|
||||
==
|
||||
^- (sole-result (cask begs))
|
||||
%+ sole-lo
|
||||
[%& %hood-begin "your ship: ~"]
|
||||
[%& %helm-begin "your ship: ~"]
|
||||
%+ sole-go fed:ag
|
||||
|= his=@p
|
||||
%+ sole-lo
|
||||
[%& %hood-ticket "your ticket: ~"]
|
||||
[%& %helm-ticket "your ticket: ~"]
|
||||
%+ sole-go fed:ag
|
||||
|= tic=@p
|
||||
%+ sole-lo
|
||||
[%& %hood-entropy "some entropy: "]
|
||||
[%& %helm-entropy "some entropy: "]
|
||||
%+ sole-go (boss 256 (more gon qit))
|
||||
|= yen=@t
|
||||
=+ ney=(shax yen)
|
||||
%+ sole-yo `tank`[%leaf "entropy check: {(scow %p `@p`(mug ney))}"]
|
||||
%+ sole-so %hood-begin
|
||||
%+ sole-so %helm-begin
|
||||
:* his
|
||||
tic
|
||||
ney
|
@ -131,12 +131,12 @@
|
||||
^- (list ,[p=@tas q=@tas])
|
||||
:~ [%$ %zuse]
|
||||
[%a %ames]
|
||||
[%b %behn]
|
||||
[%c %clay]
|
||||
[%d %dill]
|
||||
[%e %eyre]
|
||||
[%f %ford]
|
||||
[%g %gall]
|
||||
[%t %time]
|
||||
==
|
||||
|= [p=@tas q=@tas]
|
||||
=+ way=`path`(welp top /[q])
|
@ -21,10 +21,12 @@
|
||||
:: :: ::
|
||||
:::: :: ::
|
||||
:: :: ::
|
||||
++ hood-unix ::
|
||||
$: syd=desk ::
|
||||
syn=(unit bean) ::
|
||||
++ hood-mount ::
|
||||
$: pax=path ::
|
||||
pot=term ::
|
||||
== ::
|
||||
++ hood-unmount ::
|
||||
$|(term [span path]) ::
|
||||
++ hood-sync ::
|
||||
$: syd=desk ::
|
||||
her=ship ::
|
||||
@ -55,7 +57,8 @@
|
||||
++ card ::
|
||||
$% [%exec wire @p beak (unit silk)] ::
|
||||
[%info wire @p @tas nori] ::
|
||||
[%lynx wire @p @tas (unit ,?)] ::
|
||||
[%mont wire @tas @p @tas path] ::
|
||||
[%ogre wire $|(@tas beam)] ::
|
||||
[%merg wire @p @tas @p @tas germ] ::
|
||||
[%poke wire dock pear] ::
|
||||
[%warp wire sock riff] ::
|
||||
@ -76,9 +79,23 @@
|
||||
^+ +>
|
||||
?~(+< +> $(+< t.+<, +> (emit i.+<)))
|
||||
::
|
||||
++ poke-unix ::
|
||||
|= hood-unix
|
||||
abet:(emit %lynx /kiln our syd syn)
|
||||
++ poke-mount
|
||||
|= hood-mount
|
||||
=+ bem=(tome pax)
|
||||
?~ bem
|
||||
=+ "can't mount bad path: {<pax>}"
|
||||
abet:(spam leaf/- ~)
|
||||
abet:(emit %mont /mount pot p.u.bem q.u.bem (flop s.u.bem))
|
||||
::
|
||||
++ poke-unmount
|
||||
|= mon=hood-unmount
|
||||
?^ mon
|
||||
=+ bem=(tome mon)
|
||||
?~ bem
|
||||
=+ "can't unmount bad path: {<mon>}"
|
||||
abet:(spam leaf/- ~)
|
||||
abet:(emit %ogre /unmount-beam [[p q %ud 0] s]:u.bem)
|
||||
abet:(emit %ogre /unmount-point mon)
|
||||
::
|
||||
++ poke-sync ::
|
||||
|= hos=hood-sync
|
||||
@ -118,6 +135,11 @@
|
||||
%+ furl (fray output)
|
||||
(foal output -:(flop input) %noun .^(%cx input))
|
||||
::
|
||||
++ poke-label
|
||||
|= [syd=desk lab=@tas]
|
||||
=+ pax=/(scot %p our)/[syd]/[lab]
|
||||
(do-info "labeled {(spud pax)}" [syd %| lab])
|
||||
::
|
||||
++ poke-schedule
|
||||
|= [where=path tym=@da eve=@t]
|
||||
=. where (welp where /sched)
|
||||
@ -217,8 +239,7 @@
|
||||
=. +>.$
|
||||
%- spam
|
||||
?: ?=(%& -.mes)
|
||||
~
|
||||
:: [leaf/"sync succeeded from {<sud>} on {<her>} to {<syd>}" ~]
|
||||
[leaf/"sync succeeded from {<sud>} on {<her>} to {<syd>}" ~]
|
||||
?+ p.p.mes
|
||||
:* leaf/"sync failed from {<sud>} on {<her>} to {<syd>}"
|
||||
leaf/"please manually merge the desks with"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user