Merge remote-tracking branch 'cgyarvin/cc-release' into cc-release

This commit is contained in:
C. Guy Yarvin 2016-10-29 16:18:55 -07:00
commit a6bf96e44f
16 changed files with 491 additions and 511 deletions

View File

@ -515,7 +515,7 @@
%+ weld %+ weld
(turn q.hit |=({a/@t b/@t} "{(trip a)}: {(trip b)}")) (turn q.hit |=({a/@t b/@t} "{(trip a)}: {(trip b)}"))
:- i="" :- i=""
t=(turn `wain`?~(r.hit ~ (lore:differ q.u.r.hit)) trip) t=(turn `wain`?~(r.hit ~ (lore:lines:clay q.u.r.hit)) trip)
== ==
:: ::
++ dy-show-span-noun ++ dy-show-span-noun

View File

@ -184,7 +184,7 @@
++ poke-write-plan-account (wrap poke-plan-account):from-write ++ poke-write-plan-account (wrap poke-plan-account):from-write
++ poke-write-tree (wrap poke-tree):from-write ++ poke-write-tree (wrap poke-tree):from-write
++ poke-write-wipe (wrap poke-wipe):from-write ++ poke-write-wipe (wrap poke-wipe):from-write
++ poke-will (wrap poke-will):from-helm ++ poke-wyll (wrap poke-wyll):from-helm
++ quit-drum-phat (wrap quit-phat):from-drum ++ quit-drum-phat (wrap quit-phat):from-drum
++ reap-drum-phat (wrap reap-phat):from-drum ++ reap-drum-phat (wrap reap-phat):from-drum
++ woot-helm (wrap take-woot):from-helm ++ woot-helm (wrap take-woot):from-helm

View File

@ -1369,7 +1369,7 @@
now.hid now.hid
(sy /fora-post eyre+pax ~) (sy /fora-post eyre+pax ~)
:- %mor :~ :- %mor :~
[%fat text+(lore:differ txt) [%url [ra-base-hart `pax ~] `fra]] [%fat text+(lore:lines:clay txt) [%url [ra-base-hart `pax ~] `fra]]
[%app %tree (crip "forum post: '{(trip hed)}'")] [%app %tree (crip "forum post: '{(trip hed)}'")]
== ==
== ==
@ -1410,7 +1410,7 @@
now.hid now.hid
(sy /comment eyre+pax ~) (sy /comment eyre+pax ~)
:- %mor :~ :- %mor :~
[%fat text+(lore:differ txt) [%url [ra-base-hart `pax ~] `fra]] [%fat text+(lore:lines:clay txt) [%url [ra-base-hart `pax ~] `fra]]
[%app %tree (crip "comment on /{nam}")] [%app %tree (crip "comment on /{nam}")]
== ==
== ==

View File

@ -79,7 +79,7 @@
== :: == ::
++ door :: foreign contact ++ door :: foreign contact
$: wod/road :: connection to $: wod/road :: connection to
wyl/will :: inferred mirror wyl/wyll :: inferred mirror
caq/clot :: symmetric key state caq/clot :: symmetric key state
== :: == ::
++ dove {p/@ud q/(map @ud @)} :: count 13-blocks ++ dove {p/@ud q/(map @ud @)} :: count 13-blocks
@ -113,13 +113,13 @@
++ road :: secured oneway route ++ road :: secured oneway route
$: exp/@da :: expiration date $: exp/@da :: expiration date
lun/(unit lane) :: route to friend lun/(unit lane) :: route to friend
lew/will :: will of friend lew/wyll :: wyll of friend
== :: == ::
++ skin ?($none $open $fast $full) :: encoding stem ++ skin ?($none $open $fast $full) :: encoding stem
++ sufi :: domestic host ++ sufi :: domestic host
$: hoy/(list ship) :: hierarchy $: hoy/(list ship) :: hierarchy
val/wund :: private keys val/wund :: private keys
law/will :: server will law/wyll :: server wyll
seh/(map hand {p/ship q/@da}) :: key cache seh/(map hand {p/ship q/@da}) :: key cache
hoc/(map ship door) :: neighborhood hoc/(map ship door) :: neighborhood
== :: == ::
@ -564,9 +564,9 @@
:: section 4aA, identity logic :: :: section 4aA, identity logic ::
:: ::
|% |%
++ grip :: extend will ++ grip :: extend wyll
|= {wet/will law/will} |= {wet/wyll law/wyll}
^- will ^- wyll
?~ wet law ?~ wet law
?: =(wet law) law ?: =(wet law) law
?^ t.wet ?^ t.wet
@ -576,7 +576,7 @@
?~ q.p.q.i.wet ?~ q.p.q.i.wet
?>((meld i.wet i.law) [i.wet law]) ?>((meld i.wet i.law) [i.wet law])
=+ rul=(sein r.p.q.i.wet) =+ rul=(sein r.p.q.i.wet)
|- ^- will |- ^- wyll
?: ?& =(rul r.p.q.i.law) ?: ?& =(rul r.p.q.i.law)
=(p.p.q.i.law u.q.p.q.i.wet) =(p.p.q.i.law u.q.p.q.i.wet)
== ==
@ -584,7 +584,7 @@
?>(?=(^ t.law) $(law t.law)) ?>(?=(^ t.law) $(law t.law))
:: ::
++ meld :: verify connect ++ meld :: verify connect
|= {new/deed old/deed} |= {new/deyd old/deyd}
^- $& ^- $&
?> (melt new old) ?> (melt new old)
?> .= (shaf %meld (sham q.new)) ?> .= (shaf %meld (sham q.new))
@ -592,7 +592,7 @@
%& %&
:: ::
++ melt :: proper connect ++ melt :: proper connect
|= {new/deed old/deed} |= {new/deyd old/deyd}
^- ? ^- ?
=+ rac=(clan r.p.q.new) =+ rac=(clan r.p.q.new)
?& =(r.new r.old) :: match fake ?& =(r.new r.old) :: match fake
@ -608,20 +608,20 @@
== ==
:: ::
++ pare :: shorten against ++ pare :: shorten against
|= {fou/will law/will} |= {fou/wyll law/wyll}
:: ~& [%pare-fou fou] :: ~& [%pare-fou fou]
:: ~& [%pare-law law] :: ~& [%pare-law law]
^- will ^- wyll
=+ [ouf=(flop fou) wal=(flop law)] =+ [ouf=(flop fou) wal=(flop law)]
%- flop %- flop
|- ^- will |- ^- wyll
?~ ouf wal ?~ ouf wal
?~ wal ~ ?~ wal ~
?. =(i.wal i.ouf) ouf ?. =(i.wal i.ouf) ouf
$(wal t.wal, ouf t.ouf) $(wal t.wal, ouf t.ouf)
:: ::
++ pier !: :: initial deed ++ pier !: :: initial deyd
|= wed/deed |= wed/deyd
^- $& ^- $&
?> =+ rac=(clan r.p.q.wed) ?> =+ rac=(clan r.p.q.wed)
=+ loy=(haul:test r.q.wed) =+ loy=(haul:test r.q.wed)
@ -633,7 +633,7 @@
%& %&
:: ::
++ real :: validate ++ real :: validate
|= {mac/mace law/will} |= {mac/mace law/wyll}
?> ?& |- ^- ? ?> ?& |- ^- ?
?~ mac & ?~ mac &
?> ?& ?=(^ law) ?> ?& ?=(^ law)
@ -653,9 +653,9 @@
?: (gth mar p.i.mac) ~ ?: (gth mar p.i.mac) ~
$(mac t.mac) $(mac t.mac)
:: ::
++ rick :: will at life ++ rick :: wyll at life
|= {mar/life lag/ship law/will} |= {mar/life lag/ship law/wyll}
^- (unit will) ^- (unit wyll)
?~ law ~ ?~ law ~
?: =(mar p.p.q.i.law) [~ law] ?: =(mar p.p.q.i.law) [~ law]
?: (gth mar p.p.q.i.law) ~ ?: (gth mar p.p.q.i.law) ~
@ -976,7 +976,7 @@
|_ {our/ship saf/sufi} :: per server |_ {our/ship saf/sufi} :: per server
++ born :: born:as:go ++ born :: born:as:go
|= {now/@da her/@p tic/@pG ges/gens pub/pass} :: register user |= {now/@da her/@p tic/@pG ges/gens pub/pass} :: register user
^- {(unit will) _+>} ^- {(unit wyll) _+>}
?. =(our (sein her)) [~ +>.$] ?. =(our (sein her)) [~ +>.$]
=+ nes=sen =+ nes=sen
=+ ryt=(end 6 1 (shaf %tick (mix her (shax sec:ex:q.nes)))) =+ ryt=(end 6 1 (shaf %tick (mix her (shax sec:ex:q.nes))))
@ -1011,7 +1011,7 @@
?~(lew.wod.dur 0 p.p.q.i.lew.wod.dur) ?~(lew.wod.dur 0 p.p.q.i.lew.wod.dur)
:: ::
++ deng ++ deng
|= law/will |= law/wyll
%_(+> lew.wod.dur (grip law lew.wod.dur)) %_(+> lew.wod.dur (grip law lew.wod.dur))
:: ::
++ griz :: griz:lax:as:go ++ griz :: griz:lax:as:go
@ -1168,8 +1168,8 @@
=^ tuy +>.$ =^ tuy +>.$
?:(=(~ lew.wod.dur) [*code +>.$] (griz now)) ?:(=(~ lew.wod.dur) [*code +>.$] (griz now))
=+ yig=sen =+ yig=sen
:: =+ bil=`will`(pare wyl.dur law.saf) :: XX not set :: =+ bil=`wyll`(pare wyl.dur law.saf) :: XX not set
=+ bil=law.saf :: XX send whole will =+ bil=law.saf :: XX send whole wyll
=+ hom=(jam ham) =+ hom=(jam ham)
?: =(~ lew.wod.dur) ?: =(~ lew.wod.dur)
:- %open :- %open
@ -1231,9 +1231,9 @@
|- ^- (list ship) |- ^- (list ship)
(saxo our) (saxo our)
:: ::
++ yew :: best will for ++ yew :: best wyll for
|= her/ship |= her/ship
^- will ^- wyll
=+ gel=(~(get by hoc.saf) her) =+ gel=(~(get by hoc.saf) her)
?^ gel ?^ gel
lew.wod.u.gel lew.wod.u.gel
@ -1241,7 +1241,7 @@
-- :: --as:go -- :: --as:go
:: ::
++ ha !: :: adopt new license ++ ha !: :: adopt new license
|= {our/ship mac/mace wil/will} |= {our/ship mac/mace wil/wyll}
^- town ^- town
?> !=(~ mac) ?> !=(~ mac)
?> ?=(^ wil) ?> ?=(^ wil)
@ -1339,7 +1339,7 @@
%^ ~(ha go ton.fox) %^ ~(ha go ton.fox)
our our
`mace`[[0 rig] ~] `mace`[[0 rig] ~]
`will`[[(sign:as:loy *@ (shaf %self (sham syp))) syp fak] ~] `wyll`[[(sign:as:loy *@ (shaf %self (sham syp))) syp fak] ~]
fak.ton fak.ton
fak fak
== ==
@ -1356,7 +1356,7 @@
?: &(!fak !fim) !! :: not fake & bad fig ?: &(!fak !fim) !! :: not fake & bad fig
=+ mac=`mace`[[0 sec:ex:loy] ~] =+ mac=`mace`[[0 sec:ex:loy] ~]
=+ syp=`step`[`bray`[0 ~ her now] [%en %czar ~] pub:ex:loy] =+ syp=`step`[`bray`[0 ~ her now] [%en %czar ~] pub:ex:loy]
=+ ded=`deed`[(sign:as:loy *@ (shaf %self (sham syp))) syp fak] =+ ded=`deyd`[(sign:as:loy *@ (shaf %self (sham syp))) syp fak]
=+ buq=`buck`[mac [ded ~]] =+ buq=`buck`[mac [ded ~]]
=: ton.fox (~(ha go ton.fox) her buq) =: ton.fox (~(ha go ton.fox) her buq)
zac.fox (~(put by zac.fox) her *corn) zac.fox (~(put by zac.fox) her *corn)
@ -1588,7 +1588,7 @@
:: ::
$full $full
:: ~& %chew-full :: ~& %chew-full
=+ mex=((hard {p/{p/life q/life} q/will r/@}) (cue msg)) =+ mex=((hard {p/{p/life q/life} q/wyll r/@}) (cue msg))
=. diz (deng:diz q.mex) =. diz (deng:diz q.mex)
=+ wug=cluy:diz =+ wug=cluy:diz
?> =(q.p.mex p.wug) ?> =(q.p.mex p.wug)
@ -1599,7 +1599,7 @@
:: ::
$open $open
:: ~& %chew-open :: ~& %chew-open
=+ mex=((hard {p/{$~ q/life} q/will r/@}) (cue msg)) =+ mex=((hard {p/{$~ q/life} q/wyll r/@}) (cue msg))
=. diz (deng:diz q.mex) =. diz (deng:diz q.mex)
=+ wug=cluy:diz =+ wug=cluy:diz
?> =(q.p.mex p.wug) ?> =(q.p.mex p.wug)
@ -2151,19 +2151,19 @@
^- (unit (unit cage)) ^- (unit (unit cage))
?~ tyl ~ ?~ tyl ~
?: ?=({$name $~} tyl) ?: ?=({$name $~} tyl)
=+ wul=$(tyl [%will ~]) =+ wul=$(tyl [%wyll ~])
``[%noun !>(?~(wul (scot %p his) (gnow his q.q.q:((hard deed) -.u.wul))))] ``[%noun !>(?~(wul (scot %p his) (gnow his q.q.q:((hard deyd) -.u.wul))))]
?: ?=({$gcos $~} tyl) ?: ?=({$gcos $~} tyl)
=+ wul=$(tyl [%will ~]) =+ wul=$(tyl [%wyll ~])
?~(wul ~ ``[%noun !>(`gcos`q.q.q:((hard deed) -.u.wul))]) ?~(wul ~ ``[%noun !>(`gcos`q.q.q:((hard deyd) -.u.wul))])
=+ gys=(~(us go ton.fox) our) =+ gys=(~(us go ton.fox) our)
?~ gys ~ ?~ gys ~
?. =(our his) ?. =(our his)
?: ?=({$will $~} tyl) ?: ?=({$wyll $~} tyl)
=+ fod=(~(get by hoc.saf.u.gys) his) =+ fod=(~(get by hoc.saf.u.gys) his)
?~ fod ~ ?~ fod ~
%+ bind (rick mar his lew.wod.u.fod) %+ bind (rick mar his lew.wod.u.fod)
|=(a/will `[%noun !>(a)]) |=(a/wyll `[%noun !>(a)])
?: ?=({$tick $~} tyl) ?: ?=({$tick $~} tyl)
?. =(our (sein his)) ~ ?. =(our (sein his)) ~
``[%noun !>((end 6 1 (shaf %tick (mix his (shax sec:ex:q:sen:u.gys)))))] ``[%noun !>((end 6 1 (shaf %tick (mix his (shax sec:ex:q:sen:u.gys)))))]
@ -2175,8 +2175,8 @@
``[%noun !>(`buck`[u.muc u.luw])] ``[%noun !>(`buck`[u.muc u.luw])]
?: ?=({$code $~} tyl) ?: ?=({$code $~} tyl)
``[%noun !>((end 6 1 (shaf %pass (shax sec:ex:q:sen:u.gys))))] ``[%noun !>((end 6 1 (shaf %pass (shax sec:ex:q:sen:u.gys))))]
?: ?=({$will $~} tyl) ?: ?=({$wyll $~} tyl)
(bind (rick mar our law.saf.u.gys) |=(a/will `[%noun !>(a)])) (bind (rick mar our law.saf.u.gys) |=(a/wyll `[%noun !>(a)]))
~ ~
:: ::
++ temp ++ temp

View File

@ -11,8 +11,11 @@
:: ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|= pit/vase |= pit/vase
=, ^differ =, ^clay
=, differ =, clay
=, differ:^clay
=, differ:clay
=, lines:clay
=> |% => |%
++ aeon @ud :: version number ++ aeon @ud :: version number
:: ::
@ -52,7 +55,7 @@
:: ::
++ care ?($u $v $w $x $y $z) ++ care ?($u $v $w $x $y $z)
:: ::
:: Keeps track of subscibers. :: Keeps track of subscribers.
:: ::
:: A map of requests to a set of all the subscribers who should be notified :: A map of requests to a set of all the subscribers who should be notified
:: when the request is filled/updated. :: when the request is filled/updated.

View File

@ -1115,7 +1115,7 @@
{$txt $robots $~} {$txt $robots $~}
:- ~ :- ~
%^ resp 200 text+/plain %^ resp 200 text+/plain
%- role:differ %- role:lines:clay
:~ 'User-agent: *' :~ 'User-agent: *'
'Disallow: ' 'Disallow: '
== ==

View File

@ -3,8 +3,6 @@
!? 164 !? 164
:::: ::::
|= pit/vase |= pit/vase
=, ^differ
=, differ
=, gall =, gall
=> =~ => =~
:: structures :: structures
@ -1748,9 +1746,9 @@
-- --
:: ::
++ pact-hoon :: .hoon special case ++ pact-hoon :: .hoon special case
|= {a/@t b/(urge cord)} ^- @t |= {a/@t b/(urge:differ:^clay cord)} ^- @t
~| %lurk-hoon ~| %lurk-hoon
(role (lurk (lore a) b)) (role:lines:clay (lurk:differ:clay (lore:lines:clay a) b))
:: ::
++ pact :: patch ++ pact :: patch
|= {cof/cafe kas/silk kos/silk} |= {cof/cafe kas/silk kos/silk}

View File

@ -4253,6 +4253,14 @@
=+ zac=(lust i.q.tub p.tub) =+ zac=(lust i.q.tub p.tub)
[zac [~ i.q.tub [zac t.q.tub]]] [zac [~ i.q.tub [zac t.q.tub]]]
:: ::
++ perk :: parse cube fork
|* a/(pole @tas)
?~ a fail
;~ pose
(cold -.a (jest -.a))
$(a +.a)
==
::
++ pick :: rule for ++each ++ pick :: rule for ++each
|* {a/rule b/rule} |* {a/rule b/rule}
;~ pose ;~ pose
@ -6447,7 +6455,7 @@
%moot moot %moot moot
%mull mull %mull mull
%nest nest %nest nest
%perk perk %peel peel
%play play %play play
%peek peek %peek peek
%repo repo %repo repo
@ -6960,7 +6968,7 @@
?^ zem ?^ zem
:+ %& [`axe lon] :+ %& [`axe lon]
[%| (peg 2 p.u.zem) [[sut(p.q %gold) q.u.zem] ~ ~]] [%| (peg 2 p.u.zem) [[sut(p.q %gold) q.u.zem] ~ ~]]
=+ pec=(perk way p.q.sut) =+ pec=(peel way p.q.sut)
?. sam.pec lose ?. sam.pec lose
?: con.pec $(sut p.sut, axe (peg axe 3)) ?: con.pec $(sut p.sut, axe (peg axe 3))
$(sut (peek(sut p.sut) way 2), axe (peg axe 6)) $(sut (peek(sut p.sut) way 2), axe (peg axe 6))
@ -7611,17 +7619,6 @@
== == == ==
-- --
:: ::
++ perk
|= {way/vial met/?($gold $iron $lead $zinc)}
^- {sam/? con/?}
?: ?=($gold met) [& &]
?- way
$both [| |]
$free [& &]
$read [?=($zinc met) |]
$rite [?=($iron met) |]
==
::
++ peek ++ peek
~/ %peek ~/ %peek
|= {way/?($read $rite $both $free) axe/axis} |= {way/?($read $rite $both $free) axe/axis}
@ -7636,7 +7633,7 @@
{$cell *} ?:(=(2 now) ^$(sut p.sut, axe lat) ^$(sut q.sut, axe lat)) {$cell *} ?:(=(2 now) ^$(sut p.sut, axe lat) ^$(sut q.sut, axe lat))
{$core *} {$core *}
?. =(3 now) %noun ?. =(3 now) %noun
=+ pec=(perk way p.q.sut) =+ pec=(peel way p.q.sut)
%= ^$ %= ^$
axe lat axe lat
sut sut
@ -7657,6 +7654,17 @@
* $(sut repo) * $(sut repo)
== ==
:: ::
++ peel
|= {way/vial met/?($gold $iron $lead $zinc)}
^- {sam/? con/?}
?: ?=($gold met) [& &]
?- way
$both [| |]
$free [& &]
$read [?=($zinc met) |]
$rite [?=($iron met) |]
==
::
++ play ++ play
~/ %play ~/ %play
=> .(vet |) => .(vet |)

View File

@ -17,6 +17,7 @@
:: ::
|= pit/vase |= pit/vase
=, crypto =, crypto
=, ^jael
=, jael =, jael
:: :::: :: ::::
:::: # models :: data structures :::: # models :: data structures

View File

@ -44,7 +44,43 @@
:: :::: :: ::::
++ clay ++ clay
|% |%
++ foo %bar :: ::
:::: ### differ^clay^models :: hunt-mcilroy diff
:: ::::
++ differ ^?
|%
++ udal :: atomic change (%b)
$: p/@ud :: blockwidth
q/(list {p/@ud q/(unit {p/@ q/@})}) :: indels
== ::
++ udon :: abstract delta
$: p/umph :: preprocessor
$= q :: patch
$% {$a p/* q/*} :: trivial replace
{$b p/udal} :: atomic indel
{$c p/(urge)} :: list indel
{$d p/upas q/upas} :: tree edit
== == ::
++ umph :: change filter
$@ $? $a :: no filter
$b :: jamfile
$c :: LF text
== ::
$% {$d p/@ud} :: blocklist
== ::
++ unce :: change part
|* a/mold ::
$% {$& p/@ud} :: skip[copy]
{$| p/(list a) q/(list a)} :: p -> q[chunk]
== ::
++ upas :: tree change (%d)
$^ {p/upas q/upas} :: cell
$% {$0 p/axis} :: copy old
{$1 p/*} :: insert new
{$2 p/axis q/udon} :: mutate!
== ::
++ urge |*(a/mold (list (unce a))) :: list change
--
-- --
:: :: :: ::
:::: ## dill^models :: console :::: ## dill^models :: console
@ -82,8 +118,8 @@
:: :: :: ::
:::: ### public^jael^models :: certificates :::: ### public^jael^models :: certificates
:: :::: :: ::::
:: the urbit meta-certificate (++will) is a sequence :: the urbit meta-certificate (++wyll) is a sequence
:: of certificates (++cert). each cert in a will :: of certificates (++cert). each cert in a wyll
:: revokes and replaces the previous cert. the :: revokes and replaces the previous cert. the
:: version number of a ship is a ++life. :: version number of a ship is a ++life.
:: ::
@ -94,6 +130,7 @@
:: bit is set, the new life of this ship may have :: bit is set, the new life of this ship may have
:: lost information that the old life had. :: lost information that the old life had.
:: ::
++ ares (unit {p/term q/(list tank)}) :: possible error
++ arms (map chip (pair @ta @t)) :: stated identity ++ arms (map chip (pair @ta @t)) :: stated identity
++ bull :: cert metadata ++ bull :: cert metadata
$: dad/ship :: parent $: dad/ship :: parent
@ -107,11 +144,13 @@
$had :: fictitious name $had :: fictitious name
$mid :: middle name $mid :: middle name
== :: == ::
++ coop (unit ares) :: e2e ack
++ deed :: certificate deed ++ deed :: certificate deed
$: doc/bull :: metadata $: doc/bull :: metadata
pub/pass :: public key pub/pass :: public key
== :: == ::
++ farm (map ship will) :: pki dump set ++ farm (map ship will) :: pki dump set
++ hand @uvH :: 128-bit hash
++ life @ud :: ship version ++ life @ud :: ship version
++ mind {who/ship lyf/life} :: key identifier ++ mind {who/ship lyf/life} :: key identifier
++ name (pair @ta @t) :: ascii / unicode ++ name (pair @ta @t) :: ascii / unicode
@ -184,7 +223,7 @@
:: change tasks are designed to match high-level :: change tasks are designed to match high-level
:: operations - for instance, we have %burn, %mint, :: operations - for instance, we have %burn, %mint,
:: and %move, not just a single delta operation. :: and %move, not just a single delta operation.
:: more of these operations will probably be added, :: more of these operations wyll probably be added,
:: and invariants enforced at transaction end. :: and invariants enforced at transaction end.
:: ::
:: subscriptions are also user-focused - for instance, :: subscriptions are also user-focused - for instance,
@ -269,43 +308,6 @@
{$west p/ship q/path r/*} :: remote request {$west p/ship q/path r/*} :: remote request
== :: == ::
-- --
:: ::
:::: ## differ^models :: hunt-mcilroy diff
:: ::::
++ differ
^? |%
++ udal :: atomic change (%b)
$: p/@ud :: blockwidth
q/(list {p/@ud q/(unit {p/@ q/@})}) :: indels
== ::
++ udon :: abstract delta
$: p/umph :: preprocessor
$= q :: patch
$% {$a p/* q/*} :: trivial replace
{$b p/udal} :: atomic indel
{$c p/(urge)} :: list indel
{$d p/upas q/upas} :: tree edit
== == ::
++ umph :: change filter
$@ $? $a :: no filter
$b :: jamfile
$c :: LF text
== ::
$% {$d p/@ud} :: blocklist
== ::
++ unce :: change part
|* a/mold ::
$% {$& p/@ud} :: skip[copy]
{$| p/(list a) q/(list a)} :: p -> q[chunk]
== ::
++ upas :: tree change (%d)
$^ {p/upas q/upas} :: cell
$% {$0 p/axis} :: copy old
{$1 p/*} :: insert new
{$2 p/axis q/udon} :: mutate!
== ::
++ urge |*(a/mold (list (unce a))) :: list change
--
-- --
:: :::: :: ::::
:::: # engines :: engines :::: # engines :: engines
@ -330,7 +332,337 @@
:: :::: :: ::::
++ clay ++ clay
|% |%
++ foo %bar :: ::
:::: ### differ^clay^engines :: hunt-mcilroy diff
:: ::::
++ differ ^?
=, differ:^clay
=, lines
|%
:: :: ++berk:differ:clay
++ berk :: invert diff patch
|* bur/(urge)
|- ^+ bur
?~ bur ~
:_ $(bur t.bur)
?- -.i.bur
$& i.bur
$| [%| q.i.bur p.i.bur]
==
:: :: ++diff:differ:clay
++ diff :: generate patch
|= pum/umph
|= {old/* new/*} ^- udon
:- pum
?+ pum ~|(%unsupported !!)
$a [%d (nude old new)]
$b =+ [hel=(cue ((hard @) old)) hev=(cue ((hard @) new))]
[%d (nude hel hev)]
$c =+ [hel=(lore ((hard @) old)) hev=(lore ((hard @) new))]
[%c (lusk hel hev (loss hel hev))]
==
:: :: ++loss:differ:clay
++ loss :: longest subsequence
~% %loss ..is ~
|* {hel/(list) hev/(list)}
|- ^+ hev
=+ ^= sev
=+ [inx=0 sev=*(map _i.-.hev (list @ud))]
|- ^+ sev
?~ hev sev
=+ guy=(~(get by sev) i.hev)
%= $
hev t.hev
inx +(inx)
sev (~(put by sev) i.hev [inx ?~(guy ~ u.guy)])
==
=| gox/{p/@ud q/(map @ud {p/@ud q/_hev})}
=< abet
=< main
|%
:: :: ++abet:loss:differ:
++ abet :: subsequence
^+ hev
?: =(0 p.gox) ~
(flop q:(need (~(get by q.gox) (dec p.gox))))
:: :: ++hink:loss:differ:
++ hink :: extend fits top
|= {inx/@ud goy/@ud} ^- ?
?| =(p.gox inx)
(lth goy p:(need (~(get by q.gox) inx)))
==
:: :: ++lonk:loss:differ:
++ lonk :: extend fits bottom
|= {inx/@ud goy/@ud} ^- ?
?| =(0 inx)
(gth goy p:(need (~(get by q.gox) (dec inx))))
==
:: :: ++luna:loss:differ:
++ luna :: extend
|= {inx/@ud goy/@ud}
^+ +>
%_ +>.$
gox
:- ?:(=(inx p.gox) +(p.gox) p.gox)
%+ ~(put by q.gox) inx
:+ goy
(snag goy hev)
?:(=(0 inx) ~ q:(need (~(get by q.gox) (dec inx))))
==
:: :: ++merg:loss:differ:
++ merg :: merge all matches
|= gay/(list @ud)
^+ +>
=+ ^= zes
=+ [inx=0 zes=*(list {p/@ud q/@ud})]
|- ^+ zes
?: |(?=($~ gay) (gth inx p.gox)) zes
?. (lonk inx i.gay) $(gay t.gay)
?. (hink inx i.gay) $(inx +(inx))
$(inx +(inx), gay t.gay, zes [[inx i.gay] zes])
|- ^+ +>.^$
?~(zes +>.^$ $(zes t.zes, +>.^$ (luna i.zes)))
:: :: ++main:loss:differ:
++ main ::
=+ hol=hel
|- ^+ +>
?~ hol +>
=+ guy=(~(get by sev) i.hol)
$(hol t.hol, +> (merg (flop `(list @ud)`?~(guy ~ u.guy))))
--
:: :: ++lump:differ:clay
++ lump :: apply patch
|= {don/udon src/*}
^- *
?+ p.don ~|(%unsupported !!)
$a
?+ -.q.don ~|(%unsupported !!)
$a q.q.don
$c (lurk ((hard (list)) src) p.q.don)
$d (lure src p.q.don)
==
::
$c
=+ dst=(lore ((hard @) src))
%- role
?+ -.q.don ~|(%unsupported !!)
::
:: XX these hards should not be needed; udon
:: should be parameterized
::
$a ((hard (list @t)) q.q.don)
$c ((hard (list @t)) (lurk `(list *)`dst p.q.don))
==
==
:: :: ++lure:differ:clay
++ lure :: apply tree diff
|= {a/* b/upas}
^- *
?^ -.b
[$(b -.b) $(b +.b)]
?+ -.b ~|(%unsupported !!)
$0 .*(a [0 p.b])
$1 .*(a [1 p.b])
==
:: :: ++limp:differ:clay
++ limp :: invert patch
|= don/udon ^- udon
:- p.don
?+ -.q.don ~|(%unsupported !!)
$a [%a q.q.don p.q.don]
$c [%c (berk p.q.don)]
$d [%d q.q.don p.q.don]
==
:: :: ++hump:differ:clay
++ hump :: general prepatch
|= {pum/umph src/*} ^- *
?+ pum ~|(%unsupported !!)
$a src
$b (cue ((hard @) src))
$c (lore ((hard @) src))
==
:: :: ++husk:differ:clay
++ husk :: unprepatch
|= {pum/umph dst/*} ^- *
?+ pum ~|(%unsupported !!)
$a dst
$b (jam dst)
$c (role ((hard (list @)) dst))
==
:: :: ++lurk:differ:clay
++ lurk :: apply list patch
|* {hel/(list) rug/(urge)}
^+ hel
=+ war=`_hel`~
|- ^+ hel
?~ rug (flop war)
?- -.i.rug
$&
%= $
rug t.rug
hel (slag p.i.rug hel)
war (weld (flop (scag p.i.rug hel)) war)
==
::
$|
%= $
rug t.rug
hel =+ gur=(flop p.i.rug)
|- ^+ hel
?~ gur hel
?>(&(?=(^ hel) =(i.gur i.hel)) $(hel t.hel, gur t.gur))
war (weld q.i.rug war)
==
==
:: :: ++lusk:differ:clay
++ lusk :: lcs to list patch
|* {hel/(list) hev/(list) lcs/(list)}
=+ ^= rag
^- {$%({$& p/@ud} {$| p/_lcs q/_lcs})}
[%& 0]
=> .(rag [p=rag q=*(list _rag)])
=< abet =< main
|%
:: :: ++abet:lusk:differ:
++ abet ::
=. q.rag ?:(=([& 0] p.rag) q.rag [p.rag q.rag])
(flop q.rag)
:: :: ++done:lusk:differ:
++ done ::
|= new/_p.rag
^+ rag
?- -.p.rag
$| ?- -.new
$| [[%| (weld p.new p.p.rag) (weld q.new q.p.rag)] q.rag]
$& [new [p.rag q.rag]]
==
$& ?- -.new
$| [new ?:(=(0 p.p.rag) q.rag [p.rag q.rag])]
$& [[%& (add p.p.rag p.new)] q.rag]
==
==
:: :: ++main:lusk:differ:
++ main ::
|- ^+ +
?~ hel
?~ hev
?>(?=($~ lcs) +)
$(hev t.hev, rag (done %| ~ [i.hev ~]))
?~ hev
$(hel t.hel, rag (done %| [i.hel ~] ~))
?~ lcs
+(rag (done %| (flop hel) (flop hev)))
?: =(i.hel i.lcs)
?: =(i.hev i.lcs)
$(lcs t.lcs, hel t.hel, hev t.hev, rag (done %& 1))
$(hev t.hev, rag (done %| ~ [i.hev ~]))
?: =(i.hev i.lcs)
$(hel t.hel, rag (done %| [i.hel ~] ~))
$(hel t.hel, hev t.hev, rag (done %| [i.hel ~] [i.hev ~]))
--
:: :: ++nude:differ:clay
++ nude :: tree change
=< |= {a/* b/*} ^- {p/upas q/upas}
[p=(tred a b) q=(tred b a)]
|%
:: :: ++axes:nude:differ:
++ axes :: locs of nouns
|= {a/@ b/*} ^- (map * axis)
=+ c=*(map * axis)
|- ^- (map * axis)
=> .(c (~(put by c) b a))
?@ b
c
%- ~(uni by c)
%- ~(uni by $(a (mul 2 a), b -.b))
$(a +((mul 2 a)), b +.b)
:: :: ++tred:nude:differ:
++ tred :: diff a->b
|= {a/* b/*} ^- upas
=| c/(unit *)
=+ d=(axes 1 a)
|- ^- upas
=> .(c (~(get by d) b))
?~ c
?@ b
[%1 b]
=+ e=^-(upas [$(b -.b) $(b +.b)])
?- e
{{$1 *} {$1 *}} [%1 [p.p.e p.q.e]]
* e
==
[%0 u.c]
--
--
:: ::
:::: ### lines^clay^engines :: unix line files
:: ::::
++ lines ^?
|%
:: :: ++lore:lines:clay
++ lore :: atom to line list
~% %lore ..is ~
|= lub/@
=| tez/(list @t)
|- ^+ tez
=+ ^= wor
=+ [meg=0 i=0]
|- ^- {meg/@ i/@ end/@f}
=+ gam=(cut 3 [i 1] lub)
?: =(0 gam)
[meg i %.y]
?: =(10 gam)
[meg i %.n]
$(meg (cat 3 meg gam), i +(i))
?: end.wor
(flop ^+(tez [meg.wor tez]))
?: =(0 lub) (flop tez)
$(lub (rsh 3 +(i.wor) lub), tez [meg.wor tez])
:: :: ++lune:lines:clay
++ lune :: cord by unix line
~% %lune ..is ~
|= txt/@t
?~ txt
^- (list @t) ~
=+ [byt=(rip 3 txt) len=(met 3 txt)]
=| {lin/(list @t) off/@}
^- (list @t)
%- flop
|- ^+ lin
?: =(off len)
~| %noeol !!
?: =((snag off byt) 10)
?: =(+(off) len)
[(rep 3 (scag off byt)) lin]
%= $
lin [(rep 3 (scag off byt)) lin]
byt (slag +(off) byt)
len (sub len +(off))
off 0
==
$(off +(off))
:: :: ++nule:lines:clay
++ nule :: lines to unix cord
~% %nule ..is ~
|= lin/(list @t)
^- @t
%+ can 3
%+ turn lin
|= t/@t
[+((met 3 t)) (cat 3 t 10)]
:: :: ++role:differ:clay
++ role :: line list to atom
|= tez/(list @t)
=| {our/@ i/@ud}
|- ^- @
?~ tez
our
?: =(%$ i.tez)
$(i +(i), tez t.tez, our (cat 3 our 10))
?: =(0 i)
$(i +(i), tez t.tez, our i.tez)
$(i +(i), tez t.tez, our (cat 3 (cat 3 our 10) i.tez))
--
-- --
:: :: :: ::
:::: # dill^engines :: console :::: # dill^engines :: console
@ -368,328 +700,6 @@
++ foo %bar ++ foo %bar
-- --
:: :: :: ::
:::: ## differ^engines :: hunt-mcilroy diff
:: ::::
++ differ
=, ^differ
^? |%
:: :: ++berk:differ
++ berk :: invert diff patch
|* bur/(urge)
|- ^+ bur
?~ bur ~
:_ $(bur t.bur)
?- -.i.bur
$& i.bur
$| [%| q.i.bur p.i.bur]
==
:: :: ++diff:differ
++ diff :: generate patch
|= pum/umph
|= {old/* new/*} ^- udon
:- pum
?+ pum ~|(%unsupported !!)
$a [%d (nude old new)]
$b =+ [hel=(cue ((hard @) old)) hev=(cue ((hard @) new))]
[%d (nude hel hev)]
$c =+ [hel=(lore ((hard @) old)) hev=(lore ((hard @) new))]
[%c (lusk hel hev (loss hel hev))]
==
:: :: ++loss:differ
++ loss :: longest subsequence
~% %loss ..is ~
|* {hel/(list) hev/(list)}
|- ^+ hev
=+ ^= sev
=+ [inx=0 sev=*(map _i.-.hev (list @ud))]
|- ^+ sev
?~ hev sev
=+ guy=(~(get by sev) i.hev)
%= $
hev t.hev
inx +(inx)
sev (~(put by sev) i.hev [inx ?~(guy ~ u.guy)])
==
=| gox/{p/@ud q/(map @ud {p/@ud q/_hev})}
=< abet
=< main
|%
:: :: ++abet:loss:differ
++ abet :: subsequence
^+ hev
?: =(0 p.gox) ~
(flop q:(need (~(get by q.gox) (dec p.gox))))
:: :: ++hink:loss:differ
++ hink :: extend fits top
|= {inx/@ud goy/@ud} ^- ?
?| =(p.gox inx)
(lth goy p:(need (~(get by q.gox) inx)))
==
:: :: ++lonk:loss:differ
++ lonk :: extend fits bottom
|= {inx/@ud goy/@ud} ^- ?
?| =(0 inx)
(gth goy p:(need (~(get by q.gox) (dec inx))))
==
:: :: ++luna:loss:differ
++ luna :: extend
|= {inx/@ud goy/@ud}
^+ +>
%_ +>.$
gox
:- ?:(=(inx p.gox) +(p.gox) p.gox)
%+ ~(put by q.gox) inx
[goy (snag goy hev) ?:(=(0 inx) ~ q:(need (~(get by q.gox) (dec inx))))]
==
:: :: ++merg:loss:differ
++ merg :: merge all matches
|= gay/(list @ud)
^+ +>
=+ ^= zes
=+ [inx=0 zes=*(list {p/@ud q/@ud})]
|- ^+ zes
?: |(?=($~ gay) (gth inx p.gox)) zes
?. (lonk inx i.gay) $(gay t.gay)
?. (hink inx i.gay) $(inx +(inx))
$(inx +(inx), gay t.gay, zes [[inx i.gay] zes])
|- ^+ +>.^$
?~(zes +>.^$ $(zes t.zes, +>.^$ (luna i.zes)))
:: :: ++main:loss:differ
++ main ::
=+ hol=hel
|- ^+ +>
?~ hol +>
=+ guy=(~(get by sev) i.hol)
$(hol t.hol, +> (merg (flop `(list @ud)`?~(guy ~ u.guy))))
--
:: :: ++lore:differ
++ lore :: atom to line list
~% %lore ..is ~
|= lub/@
=| tez/(list @t)
|- ^+ tez
=+ ^= wor
=+ [meg=0 i=0]
|- ^- {meg/@ i/@ end/@f}
=+ gam=(cut 3 [i 1] lub)
?: =(0 gam)
[meg i %.y]
?: =(10 gam)
[meg i %.n]
$(meg (cat 3 meg gam), i +(i))
?: end.wor
(flop ^+(tez [meg.wor tez]))
?: =(0 lub) (flop tez)
$(lub (rsh 3 +(i.wor) lub), tez [meg.wor tez])
:: :: ++role:differ
++ role :: line list to atom
|= tez/(list @t)
=| {our/@ i/@ud}
|- ^- @
?~ tez
our
?: =(%$ i.tez)
$(i +(i), tez t.tez, our (cat 3 our 10))
?: =(0 i)
$(i +(i), tez t.tez, our i.tez)
$(i +(i), tez t.tez, our (cat 3 (cat 3 our 10) i.tez))
:: :: ++lune:differ
++ lune :: cord by unix line
~% %lune ..is ~
|= txt/@t
?~ txt
^- (list @t) ~
=+ [byt=(rip 3 txt) len=(met 3 txt)]
=| {lin/(list @t) off/@}
^- (list @t)
%- flop
|- ^+ lin
?: =(off len)
~| %noeol !!
?: =((snag off byt) 10)
?: =(+(off) len)
[(rep 3 (scag off byt)) lin]
%= $
lin [(rep 3 (scag off byt)) lin]
byt (slag +(off) byt)
len (sub len +(off))
off 0
==
$(off +(off))
:: :: ++nule:differ
++ nule :: lines to unix cord
~% %nule ..is ~
|= lin/(list @t)
^- @t
%+ can 3
%+ turn lin
|= t/@t
[+((met 3 t)) (cat 3 t 10)]
:: :: ++lump:differ
++ lump :: apply patch
|= {don/udon src/*}
^- *
?+ p.don ~|(%unsupported !!)
$a
?+ -.q.don ~|(%unsupported !!)
$a q.q.don
$c (lurk ((hard (list)) src) p.q.don)
$d (lure src p.q.don)
==
::
$c
=+ dst=(lore ((hard @) src))
%- role
?+ -.q.don ~|(%unsupported !!)
::
:: XX these hards should not be needed; udon
:: should be parameterized
::
$a ((hard (list @t)) q.q.don)
$c ((hard (list @t)) (lurk `(list *)`dst p.q.don))
==
==
:: :: ++lure:differ
++ lure :: apply tree diff
|= {a/* b/upas}
^- *
?^ -.b
[$(b -.b) $(b +.b)]
?+ -.b ~|(%unsupported !!)
$0 .*(a [0 p.b])
$1 .*(a [1 p.b])
==
:: :: ++limp:differ
++ limp :: invert patch
|= don/udon ^- udon
:- p.don
?+ -.q.don ~|(%unsupported !!)
$a [%a q.q.don p.q.don]
$c [%c (berk p.q.don)]
$d [%d q.q.don p.q.don]
==
:: :: ++hump:differ
++ hump :: general prepatch
|= {pum/umph src/*} ^- *
?+ pum ~|(%unsupported !!)
$a src
$b (cue ((hard @) src))
$c (lore ((hard @) src))
==
:: :: ++husk:differ
++ husk :: unprepatch
|= {pum/umph dst/*} ^- *
?+ pum ~|(%unsupported !!)
$a dst
$b (jam dst)
$c (role ((hard (list @)) dst))
==
:: :: ++lurk:differ
++ lurk :: apply list patch
|* {hel/(list) rug/(urge)}
^+ hel
=+ war=`_hel`~
|- ^+ hel
?~ rug (flop war)
?- -.i.rug
$&
%= $
rug t.rug
hel (slag p.i.rug hel)
war (weld (flop (scag p.i.rug hel)) war)
==
::
$|
%= $
rug t.rug
hel =+ gur=(flop p.i.rug)
|- ^+ hel
?~ gur hel
?>(&(?=(^ hel) =(i.gur i.hel)) $(hel t.hel, gur t.gur))
war (weld q.i.rug war)
==
==
:: :: ++lusk:differ
++ lusk :: lcs to list patch
|* {hel/(list) hev/(list) lcs/(list)}
=+ ^= rag
^- {$%({$& p/@ud} {$| p/_lcs q/_lcs})}
[%& 0]
=> .(rag [p=rag q=*(list _rag)])
=< abet =< main
|%
:: :: ++abet:lusk:differ
++ abet ::
=. q.rag ?:(=([& 0] p.rag) q.rag [p.rag q.rag])
(flop q.rag)
:: :: ++done:lusk:differ
++ done ::
|= new/_p.rag
^+ rag
?- -.p.rag
$| ?- -.new
$| [[%| (weld p.new p.p.rag) (weld q.new q.p.rag)] q.rag]
$& [new [p.rag q.rag]]
==
$& ?- -.new
$| [new ?:(=(0 p.p.rag) q.rag [p.rag q.rag])]
$& [[%& (add p.p.rag p.new)] q.rag]
==
==
:: :: ++main:lusk:differ
++ main ::
|- ^+ +
?~ hel
?~ hev
?>(?=($~ lcs) +)
$(hev t.hev, rag (done %| ~ [i.hev ~]))
?~ hev
$(hel t.hel, rag (done %| [i.hel ~] ~))
?~ lcs
+(rag (done %| (flop hel) (flop hev)))
?: =(i.hel i.lcs)
?: =(i.hev i.lcs)
$(lcs t.lcs, hel t.hel, hev t.hev, rag (done %& 1))
$(hev t.hev, rag (done %| ~ [i.hev ~]))
?: =(i.hev i.lcs)
$(hel t.hel, rag (done %| [i.hel ~] ~))
$(hel t.hel, hev t.hev, rag (done %| [i.hel ~] [i.hev ~]))
--
:: :: ++nude:differ
++ nude :: tree change
=< |= {a/* b/*} ^- {p/upas q/upas}
[p=(tred a b) q=(tred b a)]
|%
:: :: ++axes:nude:differ
++ axes :: locs of nouns
|= {a/@ b/*} ^- (map * axis)
=+ c=*(map * axis)
|- ^- (map * axis)
=> .(c (~(put by c) b a))
?@ b
c
%- ~(uni by c)
%- ~(uni by $(a (mul 2 a), b -.b))
$(a +((mul 2 a)), b +.b)
:: :: ++tred:nude:differ
++ tred :: diff a->b
|= {a/* b/*} ^- upas
=| c/(unit *)
=+ d=(axes 1 a)
|- ^- upas
=> .(c (~(get by d) b))
?~ c
?@ b
[%1 b]
=+ e=^-(upas [$(b -.b) $(b +.b)])
?- e
{{$1 *} {$1 *}} [%1 [p.p.e p.q.e]]
* e
==
[%0 u.c]
--
--
:: ::
:::: ## number^engines :: misc number theory :::: ## number^engines :: misc number theory
:: :::: :: ::::
++ number ++ number
@ -2575,14 +2585,6 @@
?~ myn ~ ?~ myn ~
?: =(~ t.myn) (trip i.myn) ?: =(~ t.myn) (trip i.myn)
(weld (trip i.myn) `tape`['/' $(myn t.myn)]) (weld (trip i.myn) `tape`['/' $(myn t.myn)])
:: :: ++perk:markup
++ perk :: parse cube fork
|* a/(pole @tas)
?~ a fail
;~ pose
(cold -.a (jest -.a))
$(a +.a)
==
:: :: ++poja:markup :: :: ++poja:markup
++ poja :: parse JSON ++ poja :: parse JSON
=< |=(a/cord `(unit json)`(rush a apex)) =< |=(a/cord `(unit json)`(rush a apex))
@ -3090,13 +3092,24 @@
:: ::
++ parsf :: make parser from: ++ parsf :: make parser from:
|^ |* a/(pole _;/(*{$^(rule tape)})) :: ;"chars{rule}chars" |^ |* a/(pole _;/(*{$^(rule tape)})) :: ;"chars{rule}chars"
=- (cook - (bill (norm a))) =- (cook - (boil (norm a)))
|* (list) |* (list)
?~ +< ~ ?~ +< ~
?~ t i ?~ t i
[i $(+< t)] [i $(+< t)]
:: ::
:: .= (boil ~[[& dim] [| ", "] [& dim]]:ag)
:: ;~(plug dim ;~(pfix com ace ;~(plug dim (easy)))):ag
::
++ boil
|* (list (each rule tape))
?~ +< (easy ~)
?: ?=($| -.i) ;~(pfix (jest (crip p.i)) $(+< t))
%+ cook |*({* *} [i t]=+<)
;~(plug p.i $(+< t))
::
:: .= (norm [;"{n}, {n}"]:n=dim:ag) ~[[& dim] [| ", "] [& dim]]:ag :: .= (norm [;"{n}, {n}"]:n=dim:ag) ~[[& dim] [| ", "] [& dim]]:ag
::
++ norm ++ norm
|* (pole _;/(*{$^(rule tape)})) |* (pole _;/(*{$^(rule tape)}))
?~ +< ~ ?~ +< ~
@ -3108,15 +3121,6 @@
?~ +.rul [%| p=rul] ?~ +.rul [%| p=rul]
?@ &2.rul [%| p=;;(tape rul)] ?@ &2.rul [%| p=;;(tape rul)]
[%& p=rul] [%& p=rul]
::
:: .= (bill ~[[& dim] [| ", "] [& dim]]:ag)
:: ;~(plug dim ;~(pfix com ace ;~(plug dim (easy)))):ag
++ bill
|* (list (each rule tape))
?~ +< (easy ~)
?: ?=($| -.i) ;~(pfix (jest (crip p.i)) $(+< t))
%+ cook |*({* *} [i t]=+<)
;~(plug p.i $(+< t))
-- --
:: ::
++ taco :: atom to octstream ++ taco :: atom to octstream
@ -3686,7 +3690,7 @@
++ boat (map (pair bone wire) (trel bean ship path)) :: outgoing subs ++ boat (map (pair bone wire) (trel bean ship path)) :: outgoing subs
++ boon :: fort output ++ boon :: fort output
$% {$beer p/ship} :: gained ownership $% {$beer p/ship} :: gained ownership
{$bier p/ship q/deed} :: unsigned deed {$bier p/ship q/deyd} :: unsigned deyd
{$cake p/sock q/soap r/coop s/duct} :: e2e message result {$cake p/sock q/soap r/coop s/duct} :: e2e message result
{$coke p/sock q/soap r/cape s/duct} :: message result {$coke p/sock q/soap r/cape s/duct} :: message result
{$mead p/lane q/rock} :: accept packet {$mead p/lane q/rock} :: accept packet
@ -3711,7 +3715,7 @@
== == :: == == ::
++ bray {p/life q/(unit life) r/ship s/@da} :: our parent us now ++ bray {p/life q/(unit life) r/ship s/@da} :: our parent us now
++ brow {p/@da q/@tas} :: browser version ++ brow {p/@da q/@tas} :: browser version
++ buck {p/mace q/will} :: all security data ++ buck {p/mace q/wyll} :: all security data
++ cake {p/sock q/skin r/@} :: top level packet ++ cake {p/sock q/skin r/@} :: top level packet
++ cape :: end-to-end result ++ cape :: end-to-end result
$? $good :: delivered $? $good :: delivered
@ -3760,7 +3764,7 @@
cip/(each @if @is) :: client IP cip/(each @if @is) :: client IP
cum/(map @tas *) :: custom dirt cum/(map @tas *) :: custom dirt
== :: == ::
++ deed {p/@ q/step r/?} :: sig stage fake? ++ deyd {p/@ q/step r/?} :: sig stage fake?
++ dome :: project state ++ dome :: project state
$: ank/ankh :: state $: ank/ankh :: state
let/@ud :: top id let/@ud :: top id
@ -3769,7 +3773,7 @@
== :: == ::
++ dore :: foreign contact ++ dore :: foreign contact
$: wod/road :: connection to $: wod/road :: connection to
wyl/will :: inferred mirror wyl/wyll :: inferred mirror
caq/clot :: symmetric key state caq/clot :: symmetric key state
== :: == ::
++ dove {p/@ud q/(map @ud @)} :: count hash 13-blocks ++ dove {p/@ud q/(map @ud @)} :: count hash 13-blocks
@ -3804,7 +3808,7 @@
{$pawn p/(unit @t)} :: 128-bit ship {$pawn p/(unit @t)} :: 128-bit ship
== :: == ::
++ govt path :: country+postcode ++ govt path :: country+postcode
++ hand @uvH :: hash of code ++ hand @uvH :: 128-bit hash
++ hart {p/? q/(unit @ud) r/host} :: http sec+port+host ++ hart {p/? q/(unit @ud) r/host} :: http sec+port+host
++ hate {p/purl q/@p r/moth} :: semi-cooked request ++ hate {p/purl q/@p r/moth} :: semi-cooked request
++ heir {p/@ud q/mess r/(unit love)} :: status+headers+data ++ heir {p/@ud q/mess r/(unit love)} :: status+headers+data
@ -3924,11 +3928,11 @@
++ page (cask *) :: untyped cage ++ page (cask *) :: untyped cage
++ pail ?($none $warm $cold) :: connection status ++ pail ?($none $warm $cold) :: connection status
++ pipe :: secure channel ++ pipe :: secure channel
$: out/(unit (pair hand bill)) :: outbound key $: out/(unit (pair hand bill:^jael)) :: outbound key
inn/(map hand bill) :: inbound keys inn/(map hand bill:^jael) :: inbound keys
cur/(unit life) :: their version cur/(unit life) :: their version
sax/(list ship) :: their ancestry sax/(list ship) :: their ancestry
pub/wyll :: their public keys pub/will:^jael :: their public keys
== :: == ::
++ 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
@ -3971,7 +3975,7 @@
++ road :: secured oneway route ++ road :: secured oneway route
$: exp/@da :: expiration date $: exp/@da :: expiration date
lun/(unit lane) :: route to friend lun/(unit lane) :: route to friend
lew/will :: will of friend lew/wyll :: wyll of friend
== :: == ::
++ rock @uvO :: packet ++ rock @uvO :: packet
++ rout {p/(list host) q/path r/oryx s/path} :: http route (new) ++ rout {p/(list host) q/path r/oryx s/path} :: http route (new)
@ -3986,7 +3990,7 @@
++ sufi :: domestic host ++ sufi :: domestic host
$: hoy/(list ship) :: hierarchy $: hoy/(list ship) :: hierarchy
val/wund :: private keys val/wund :: private keys
law/will :: server will law/wyll :: server wyll
seh/(map hand {p/ship q/@da}) :: key cache seh/(map hand {p/ship q/@da}) :: key cache
hoc/(map ship dore) :: neighborhood hoc/(map ship dore) :: neighborhood
== :: == ::
@ -4057,10 +4061,10 @@
++ woof $@ $know :: udon transform ++ woof $@ $know :: udon transform
{$chan (list {$@(@ud {p/@ud q/@ud})})} :: {$chan (list {$@(@ud {p/@ud q/@ud})})} ::
++ wund (list {p/life q/ring r/acru}) :: mace in action ++ wund (list {p/life q/ring r/acru}) :: mace in action
++ will (list deed) :: certificate ++ wyll (list deyd) :: certificate
++ zuse %310 :: hoon+zuse kelvin ++ zuse %310 :: hoon+zuse kelvin
:: :: :: ::
:::: :::: this will become `%york`, vane structures. :::: :::: this wyll become `%york`, vane structures.
:: :: :: ::
++ gift-ames :: out result <-$ ++ gift-ames :: out result <-$
$% {$drop $~} :: drop packet $% {$drop $~} :: drop packet
@ -4109,7 +4113,7 @@
++ kiss-xmas :: in request ->$ ++ kiss-xmas :: in request ->$
$% {$hear p/lane q/@} :: $% {$hear p/lane q/@} ::
{$mess p/ship q/path r/*} :: send message {$mess p/ship q/path r/*} :: send message
{$gear p/farm q/(map life ring)} :: general update {$gear p/farm:^jael q/(map life ring)} :: general update
{$wake $~} :: {$wake $~} ::
== :: == ::
++ card-xmas :: out cards ++ card-xmas :: out cards
@ -4122,7 +4126,7 @@
$: $j :: to %jael $: $j :: to %jael
$% {$line p/ship q/@da r/code} :: $% {$line p/ship q/@da r/code} ::
{$link p/ship q/@da r/code} :: {$link p/ship q/@da r/code} ::
{$meet p/farm} :: {$meet p/farm:^jael} ::
{$view p/ship} :: {$view p/ship} ::
{$west p/ship q/path r/*} :: to %gall {$west p/ship q/path r/*} :: to %gall
== == == :: == == == ::
@ -4196,36 +4200,6 @@
{$west p/sack q/path r/@ud s/*} :: network request {$west p/sack q/path r/@ud s/*} :: network request
== :: == ::
:: ::
:::: %jael
::
++ arms (map chip (pair @ta @t)) :: stated identity
++ bill (pair @da @) :: expiring value
++ bull :: cert metadata
$: dad/@p :: parent
dob/? :: & clean, | dirty
nym/arms :: identity strings
== ::
++ cert (tale deyd) :: signed deed
++ chip :: standard identity
$? $giv :: given name
$sur :: surname
$had :: handle
$mid :: middle name
== ::
++ deyd :: certificate deed
$: doc/bull :: metadata
pub/pass :: public key
== ::
++ farm (map ship wyll) :: pki dump set
++ wyll (map life cert) :: certificate
++ mind {who/@p lyf/@ud} :: key identifier
++ site (list @ta) :: [%com %yahoo %www ~]
++ tale :: urbit-signed *
|* typ/mold ::
$: dat/typ :: data
syg/(map ship (pair life @)) :: signatures
== ::
::
:::: ::::
:: ::
++ blew {p/@ud q/@ud} :: columns rows ++ blew {p/@ud q/@ud} :: columns rows
@ -4479,11 +4453,6 @@
== :: == ::
-- --
:: ::
::::
::
++ jael
--
::
:::: %arvo :::: %arvo
:: ::
++ gift-arvo :: out result <-$ ++ gift-arvo :: out result <-$
@ -4522,6 +4491,6 @@
{$e gift-eyre} {$e gift-eyre}
{$f gift-ford} {$f gift-ford}
{$g gift:gall} {$g gift:gall}
{$j gift:jael} {$j gift:^jael}
== ==
-- --

View File

@ -197,8 +197,8 @@
:- [%flog /deset %vega (weld top `path`/two)] :- [%flog /deset %vega (weld top `path`/two)]
~ ~
:: ::
++ poke-will :: hear certificate ++ poke-wyll :: hear certificate
|= wil/(unit will) |= wil/(unit wyll)
?> ?=(^ bur) ?> ?=(^ bur)
?> ?=(^ wil) ?> ?=(^ wil)
=< abet =< abet

View File

@ -118,7 +118,7 @@
{$poke wire dock pear} :: app RPC {$poke wire dock pear} :: app RPC
{$next wire p/ring} :: update private key {$next wire p/ring} :: update private key
{$tick wire p/@pG q/@p} :: save ticket {$tick wire p/@pG q/@p} :: save ticket
{$knew wire p/ship q/will} :: learn will (old pki) {$knew wire p/ship q/wyll} :: learn wyll (old pki)
== :: == ::
++ pear :: ++ pear ::
$% {$email mail tape wall} :: send email $% {$email mail tape wall} :: send email
@ -137,7 +137,7 @@
++ move (pair bone card) :: user-level move ++ move (pair bone card) :: user-level move
:: ::
++ transaction :: logged poke ++ transaction :: logged poke
$% {$report her/@p wyl/will} $% {$report her/@p wyl/wyll}
{$release gal/@ud sta/@ud} {$release gal/@ud sta/@ud}
{$release-ships (list ship)} {$release-ships (list ship)}
{$claim aut/passcode her/@p} {$claim aut/passcode her/@p}
@ -679,15 +679,15 @@
%+ foal (welp pax /jam-crub) %+ foal (welp pax /jam-crub)
[%jam-crub !>((en:crub:crypto pas (jam `part`+:abet)))] [%jam-crub !>((en:crub:crypto pas (jam `part`+:abet)))]
:: ::
++ poke-rekey :: extend will ++ poke-rekey :: extend wyll
|= $~ |= $~
=< abet =< abet
?> |(=(our src) =([~ src] boss)) :: privileged ?> |(=(our src) =([~ src] boss)) :: privileged
:: (emit /rekey %next sec:ex:(pit:nu:crub 512 (shaz (mix %next (shaz eny))))) :: (emit /rekey %next sec:ex:(pit:nu:crub 512 (shaz (mix %next (shaz eny)))))
~& %rekey-stub . ~& %rekey-stub .
:: ::
++ poke-report :: report will ++ poke-report :: report wyll
|= {her/@p wyl/will} :: |= {her/@p wyl/wyll} ::
=< abet =< abet
=. log-transaction (log-transaction %report +<) =. log-transaction (log-transaction %report +<)
?> =(src src) :: self-authenticated ?> =(src src) :: self-authenticated

View File

@ -37,13 +37,13 @@
== ==
== ==
++ txt ++ txt
(lore:differ own) (lore:lines:clay own)
-- --
++ grab ++ grab
|% :: convert from |% :: convert from
++ mime |=({p/mite q/octs} q.q) ++ mime |=({p/mite q/octs} q.q)
++ noun @t :: clam from %noun ++ noun @t :: clam from %noun
++ txt role:differ ++ txt role:lines:clay
-- --
++ grad %txt ++ grad %txt
-- --

View File

@ -8,14 +8,14 @@
|% |%
++ mime [/text/x-markdown (taco mud)] ++ mime [/text/x-markdown (taco mud)]
++ txt ++ txt
(lore:differ mud) (lore:lines:clay mud)
-- --
++ grab ++ grab
|% |%
++ mime |=({p/mite q/octs} q.q) ++ mime |=({p/mite q/octs} q.q)
++ noun @t ++ noun @t
++ txt role:differ ++ txt role:lines:clay
-- --
++ grad %txt ++ grad %txt
++ garb /down ++ garb /down
-- --

View File

@ -2,10 +2,10 @@
:::: /hoon/txt-diff/mar :::: /hoon/txt-diff/mar
:: ::
/? 310 /? 310
|_ txt-diff/(urge:^differ cord) |_ txt-diff/(urge:differ:^clay cord)
:: ::
++ grab :: convert from ++ grab :: convert from
|% |%
++ noun (urge:^differ cord) :: clam from %noun ++ noun (urge:differ:^clay cord) :: make from %noun
-- --
-- --

View File

@ -3,8 +3,9 @@
:: ::
/? 310 /? 310
!: !:
=, ^differ =, differ:^clay
=, differ =, differ:clay
=, lines:clay
=, markup =, markup
|_ txt/wain |_ txt/wain
:: ::