on master help sign in
urge
commit36bed3ad4561966d3c57afc2713e2f5c37b9d060 authordrbeefsupreme <drbeefsupreme@discordja.net> dateThu 8 Apr 2021, 15:13 (6 years ago) parent2b9ccde
1 file changed+3−37
arvo/clay/data-types.md+3−37
arvo/clay/data-types.md+3−37
@@ -529,48 +529,14 @@ blob, and `r` is the delta.
529529`%direct` is the case where we simply have the data directly. `q` is the data.
530530These almost always come from the creation of a file.
531531
532−#### `++udon`, abstract delta
533532
534−```hoon
535− ++ udon :: abstract delta
536− $: p=umph :: preprocessor
537− $= q :: patch
538− $% [%a p=* q=*] :: trivial replace
539− [%b p=udal] :: atomic indel
540− [%c p=(urge)] :: list indel
541− [%d p=upas q=upas] :: tree edit
542− == ::
543− == ::
544−```
545−
546−This is an abstract change to a file. This is a superset of what would
547−normally be called diffs. Diffs usually refer to changes in lines of
548−text while we have the ability to do more interesting deltas on
549−arbitrary data structures.
550−
551−`p` is any preprocessor instructions.
552−
553−`%a` refers to the trival delta of a complete replace of old data with
554−new data.
555−
556−`%b` refers to changes in an opaque atom on the block level. This has
557−very limited usefulness, and is not used at the moment.
558−
559−`%c` refers to changes in a list of data. This is often lines of text,
560−which is your classic diff. We, however, will work on any list of data.
561−
562−`%d` refers to changes in a tree of data. This is general enough to
563−describe changes to any hoon [noun](/docs/glossary/noun/), but often more special-purpose delta
564−should be created for different content types. This is not used at the
565−moment, and may in fact be unimplemented.
566−
567−#### `++urge`, list change
533+#### `+urge`, list change
568534
569535```hoon
570− ++ urge |*(a=_,* (list (unce a))) :: list change
536+ ++ urge |*(a=mold (list (unce a))) :: list change
571537```
572538
573−This is a parametrized type for list changes. For example, `(urge ,@t)`
539+This is a parametrized type for list changes. For example, `(urge @t)`
574540is a list change for lines of text.
575541
576542#### `++unce`, change part of a list.