Core transform library
A standard library written in sUTL itself: 44 declarations for mapping, filtering, combining, sorting, traversing, and testing MLSNBN values.
The library is written in its own language.
Each entry is an ordinary declaration with a name, a transform-t, and optional requirements. compilelib follows those requirements transitively and constructs only the library needed by a caller.
The live examples below fetch the distribution and compile their dependencies inside the isolated browser worker before evaluation.
Try core transforms
Interactive core-library example: JavaScript is required to compile and run it.
Interactive core-library example: JavaScript is required to compile and run it.
Interactive core-library example: JavaScript is required to compile and run it.
Interactive core-library example: JavaScript is required to compile and run it.
44 declarations
There are 41 reusable core transforms and three historical test helpers. Expand any declaration to inspect its original JSON.
mapApply a transform to every item in a list. 0 dependencies
Full declaration: map_core_emlynoregan_com
Requires: none
{
"name": "map_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"map-t": "^@.t",
"t": {
"'": [
"&&",
"^@.accum",
[
{
"!": "^@.map-t"
}
]
]
},
"accum": []
}
}
reverseReverse a list using a recursive pure-sUTL transform. 1 dependency
Full declaration: reverse_core_emlynoregan_com
Requires: reverse_core_emlynoregan_com
{
"name": "reverse_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": "^@.list",
"true": {
"'": [
"&&",
{
"!": "^*.reverse_core_emlynoregan_com",
"list": [
"&tail",
"^@.list"
]
},
[
"&head",
"^@.list"
]
]
},
"false": {
"'": []
}
},
"requires": [
"reverse_core_emlynoregan_com"
]
}
headPure-sUTL transform. 0 dependencies
Full declaration: head_core_emlynoregan_com
Requires: none
{
"name": "head_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"&head",
"^@.list"
]
}
tailPure-sUTL transform. 0 dependencies
Full declaration: tail_core_emlynoregan_com
Requires: none
{
"name": "tail_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"&tail",
"^@.list"
]
}
removenullsRemove null items from a list. 0 dependencies
Full declaration: removenulls_core_emlynoregan_com
Requires: none
{
"name": "removenulls_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": [],
"t": {
"'": {
"&": "if",
"cond": {
"'": [
"&!=",
"^@.item",
null
]
},
"true": {
"'": [
"&&",
"^@.accum",
"^@.item"
]
},
"false": {
"'": "^@.accum"
}
}
}
}
}
countRecursively count values in nested lists. 1 dependency
Full declaration: count_core_emlynoregan_com
Requires: count_core_emlynoregan_com
{
"name": "count_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": {
"'": {
"&": "=",
"a": "list",
"b": {
"&": "type",
"value": "^@.obj"
}
}
},
"true": {
"'": {
"&": "reduce",
"list": "^@.obj",
"accum": 0,
"t": {
"'": {
"&": "+",
"a": {
"!": "^*.count_core_emlynoregan_com",
"obj": "^@.item"
},
"b": "^@.accum"
}
}
}
},
"false": 1
},
"requires": [
"count_core_emlynoregan_com"
]
}
addmapsMerge two maps, with values from the second taking precedence. 1 dependency
Full declaration: addmaps_core_emlynoregan_com
Requires: zip
{
"name": "addmaps_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "makemap",
"value": {
"&": "zip",
"list": [
[
"&&",
{
"&": "keys",
"map": "^@.map1"
},
{
"&": "keys",
"map": "^@.map2"
}
],
[
"&&",
{
"&": "values",
"map": "^@.map1"
},
{
"&": "values",
"map": "^@.map2"
}
]
]
}
},
"requires": [
"zip"
]
}
mapgetSelect a map value using a dynamically supplied key. 0 dependencies
Full declaration: mapget_core_emlynoregan_com
Requires: none
{
"name": "mapget_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"^@",
"map",
[
"^@",
"key"
]
]
}
keys2mapTurn a list of strings into a set-like map. 1 dependency
Full declaration: keys2map_core_emlynoregan_com
Requires: map_core_emlynoregan_com
{
"name": "keys2map_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "makemap",
"value": {
"!": "^*.map_core_emlynoregan_com",
"list": "^@.list",
"t": {
"'": [
"^@.item",
true
]
}
}
},
"requires": [
"map_core_emlynoregan_com"
]
}
filterKeep list items accepted by a supplied transform. 0 dependencies
Full declaration: filter_core_emlynoregan_com
Requires: none
{
"name": "filter_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": [],
"t": {
"'": [
"&&",
"^@.accum",
{
"&": "if",
"cond": {
"'": {
"''": "^@.filter-t"
}
},
"true": [
"^@.item"
],
"false": []
}
]
}
}
}
testsHistorical helper used by the library's own test declarations. 3 dependencies
Full declaration: tests_tst_emlynoregan_com
Requires: map_core_emlynoregan_com test_tst_emlynoregan_com removenulls_core_emlynoregan_com
{
"name": "tests_tst_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.removenulls_core_emlynoregan_com",
"list": {
"!": "^*.map_core_emlynoregan_com",
"list": "^@.tests",
"t": {
"'": {
"!": "^*.test_tst_emlynoregan_com",
"test-t": "^@.item.test-t",
"name": "^@.item.name"
}
}
}
},
"requires": [
"map_core_emlynoregan_com",
"test_tst_emlynoregan_com",
"removenulls_core_emlynoregan_com"
]
}
testHistorical helper used by the library's own test declarations. 0 dependencies
Full declaration: test_tst_emlynoregan_com
Requires: none
{
"name": "test_tst_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": "^@.test-t",
"true": null,
"false": "^@.name"
}
}
asserttrueHistorical helper used by the library's own test declarations. 0 dependencies
Full declaration: asserttrue_tst_emlynoregan_com
Requires: none
{
"name": "asserttrue_tst_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": {
"'": {
"&": "=",
"a": "^@.test-t",
"b": true
}
},
"true": null,
"false": "fails"
}
}
isinlistTest whether a list contains a value. 2 dependencies
Full declaration: isinlist_core_emlynoregan_com
Requires: hasitems_core_emlynoregan_com filter_core_emlynoregan_com
{
"name": "isinlist_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.hasitems_core_emlynoregan_com",
"list": {
"!": "^*.filter_core_emlynoregan_com",
"list": "^@.list",
"filter-t": {
"'": {
"&": "=",
"a": "^@.item",
"b": {
"''": "^@.item"
}
}
}
}
},
"requires": [
"hasitems_core_emlynoregan_com",
"filter_core_emlynoregan_com"
]
}
removekeysPure-sUTL transform. 4 dependencies
Full declaration: removekeys_core_emlynoregan_com
Requires: zip map_core_emlynoregan_com mapget_core_emlynoregan_com subtractarrs_core_emlynoregan_com
{
"name": "removekeys_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "makemap",
"value": {
"&": "zip",
"list": [
{
"!": "^*.subtractarrs_core_emlynoregan_com",
"arr1": {
"&": "keys",
"map": "^@.map"
},
"arr2": "^@.keys"
},
{
"!": "^*.map_core_emlynoregan_com",
"list": {
"!": "^*.subtractarrs_core_emlynoregan_com",
"arr1": {
"&": "keys",
"map": "^@.map"
},
"arr2": "^@.keys"
},
"t": {
"'": {
"!": "^*.mapget_core_emlynoregan_com",
"map": {
":": {
"''": "^@.map"
}
},
"key": "^@.item"
}
}
}
]
}
},
"requires": [
"zip",
"map_core_emlynoregan_com",
"mapget_core_emlynoregan_com",
"subtractarrs_core_emlynoregan_com"
]
}
subtractarrsPure-sUTL transform. 2 dependencies
Full declaration: subtractarrs_core_emlynoregan_com
Requires: isinlist_core_emlynoregan_com filter_core_emlynoregan_com
{
"name": "subtractarrs_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.filter_core_emlynoregan_com",
"list": "^@.arr1",
"filter-t": {
"'": {
"&": "!",
"b": {
"!": "^*.isinlist_core_emlynoregan_com",
"list": {
"''": "^@.arr2"
},
"item": "^@.item"
}
}
}
},
"requires": [
"isinlist_core_emlynoregan_com",
"filter_core_emlynoregan_com"
]
}
pipelineApply a sequence of transforms in order. 1 dependency
Full declaration: pipeline_core_emlynoregan_com
Requires: reduce_core_emlynoregan_com
{
"name": "pipeline_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list-t",
"t": {
"'": {
"!": "^@.item",
"p": "^@.accum"
}
}
},
"requires": [
"reduce_core_emlynoregan_com"
]
}
hasitemsPure-sUTL transform. 1 dependency
Full declaration: hasitems_core_emlynoregan_com
Requires: hasitems_core_emlynoregan_com
{
"name": "hasitems_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": {
"'": {
"&": "=",
"a": "list",
"b": {
"&": "type",
"value": "^@.list"
}
}
},
"true": {
"'": {
"&": "if",
"cond": {
"'": {
"&": ">",
"a": {
"&": "len",
"list": "^@.list"
},
"b": 0
}
},
"true": {
"'": {
"&": "if",
"cond": {
"'": {
"!": "^*.hasitems_core_emlynoregan_com",
"list": {
"''": {
"&": "head",
"b": "^@.list"
}
}
}
},
"true": true,
"false": {
"'": {
"!": "^*.hasitems_core_emlynoregan_com",
"list": {
"''": {
"&": "tail",
"b": "^@.list"
}
}
}
}
}
},
"false": false
}
},
"false": {
"&": "!=",
"a": "^@.list",
"b": null
}
},
"requires": [
"hasitems_core_emlynoregan_com"
]
}
zipTranspose a list of lists. 1 dependency
Full declaration: zip_core_emlynoregan_com
Requires: foldone_core_emlynoregan_com
{
"name": "zip_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": [],
"t": {
"'": {
"!": "^*.foldone_core_emlynoregan_com",
"lists": "^@.accum",
"list": "^@.item"
}
}
},
"requires": [
"foldone_core_emlynoregan_com"
]
}
foldonePure-sUTL transform. 2 dependencies
Full declaration: foldone_core_emlynoregan_com
Requires: head_core_emlynoregan_com tail_core_emlynoregan_com
{
"name": "foldone_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.head_core_emlynoregan_com",
"list": {
"&": "reduce",
"accum": [
[],
"^@.lists"
],
"list": "^@.list",
"t": {
"'": [
[
"&&",
"^@.accum.0",
[
[
"&&",
{
"&": "if",
"cond": {
"'": {
"&": "len",
"list": "^@.accum.1"
}
},
"true": {
"!": "^*.head_core_emlynoregan_com",
"list": "^@.accum.1"
},
"false": []
},
[
"^@.item"
]
]
]
],
{
"!": "^*.tail_core_emlynoregan_com",
"list": "^@.accum.1"
}
]
}
}
},
"requires": [
"head_core_emlynoregan_com",
"tail_core_emlynoregan_com"
]
}
splitmapPure-sUTL transform. 2 dependencies
Full declaration: splitmap_core_emlynoregan_com
Requires: map_core_emlynoregan_com mapget_core_emlynoregan_com
{
"name": "splitmap_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.map_core_emlynoregan_com",
"list": {
"&": "keys",
"map": "^@.map"
},
"t": {
"'": {
"&": "makemap",
"value": [
[
"^@.item",
{
"!": "^*.mapget_core_emlynoregan_com",
"map": {
"''": "^@.map"
},
"key": "^@.item"
}
]
]
}
}
},
"requires": [
"map_core_emlynoregan_com",
"mapget_core_emlynoregan_com"
]
}
removenovaluemapsPure-sUTL transform. 3 dependencies
Full declaration: removenovaluemaps_core_emlynoregan_com
Requires: filter_core_emlynoregan_com splitmap_core_emlynoregan_com head_core_emlynoregan_com
{
"name": "removenovaluemaps_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"!": "^*.filter_core_emlynoregan_com",
"list": {
"!": "^*.splitmap_core_emlynoregan_com",
"map": "^@.map"
},
"filter-t": {
"'": {
"&": "!=",
"a": {
"!": "^*.head_core_emlynoregan_com",
"list": {
"&": "values",
"map": "^@.item"
}
},
"b": null
}
}
},
"requires": [
"filter_core_emlynoregan_com",
"splitmap_core_emlynoregan_com",
"head_core_emlynoregan_com"
]
}
removenullattribsPure-sUTL transform. 3 dependencies
Full declaration: removenullattribs_core_emlynoregan_com
Requires: removenovaluemaps_core_emlynoregan_com reduce_core_emlynoregan_com addmaps_core_emlynoregan_com
{
"name": "removenullattribs_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"accum": {},
"list": {
"!": "^*.removenovaluemaps_core_emlynoregan_com",
"map": "^@.map"
},
"t": {
"'": {
"!": "^*.addmaps_core_emlynoregan_com",
"map1": "^@.accum",
"map2": "^@.item"
}
}
},
"requires": [
"removenovaluemaps_core_emlynoregan_com",
"reduce_core_emlynoregan_com",
"addmaps_core_emlynoregan_com"
]
}
removedupstrarrPure-sUTL transform. 1 dependency
Full declaration: removedupstrarr_core_emlynoregan_com
Requires: zip
{
"language": "sUTL0",
"name": "removedupstrarr_core_emlynoregan_com",
"transform-t": {
"&": "keys",
"map": {
"&": "makemap",
"value": {
"&": "zip",
"list": [
"^@.list",
"^@.list"
]
}
}
},
"requires": [
"zip"
]
}
quicksortSort a list using a supplied comparison transform. 2 dependencies
Full declaration: quicksort_core_emlynoregan_com
Requires: quicksort_core_emlynoregan_com qsfilter_core_emlynoregan_com
{
"language": "sUTL0",
"name": "quicksort_core_emlynoregan_com",
"transform-t": {
"&": "if",
"cond": {
"'": "^@.list"
},
"true": {
"'": [
"&&",
{
"!": "^*.quicksort_core_emlynoregan_com",
"list": {
"!": "^*.qsfilter_core_emlynoregan_com",
"list": "^@.list",
"left": true,
"sortkey": "^@.sortkey"
}
},
[
{
"&": "head",
"b": "^@.list"
}
],
{
"!": "^*.quicksort_core_emlynoregan_com",
"list": {
"!": "^*.qsfilter_core_emlynoregan_com",
"list": "^@.list",
"left": false,
"sortkey": "^@.sortkey"
}
}
]
},
"false": []
},
"requires": [
"quicksort_core_emlynoregan_com",
"qsfilter_core_emlynoregan_com"
]
}
qsfilterPure-sUTL transform. 1 dependency
Full declaration: qsfilter_core_emlynoregan_com
Requires: filter_core_emlynoregan_com
{
"language": "sUTL0",
"name": "qsfilter_core_emlynoregan_com",
"transform-t": {
"!": "^*.filter_core_emlynoregan_com",
"list": {
"&": "tail",
"b": "^@.list"
},
"head": {
"&": "head",
"b": "^@.list"
},
"filter-t": {
"'": {
"!": [
{
"&": "if",
"cond": {
"'": "^@.left"
},
"true": {
"'": {
"'": "&<"
}
},
"false": {
"'": {
"'": "&>="
}
}
},
{
"!": [
"&&",
{
"'": "^%"
},
[
"^@.item"
],
"^@.keypath"
]
},
{
"!": [
"&&",
{
"'": "^%"
},
[
"^@.head"
],
"^@.keypath"
]
}
]
}
}
},
"requires": [
"filter_core_emlynoregan_com"
]
}
idlisttomapIndex a list of objects by values at a supplied path. 1 dependency
Full declaration: idlisttomap_core_emlynoregan_com
Requires: map_core_emlynoregan_com
{
"name": "idlisttomap_core_emlynoregan_com",
"transform-t": {
"&": "makemap",
"value": {
"!": "^*.map_core_emlynoregan_com",
"list": "^@.list",
"t": {
"'": [
{
"!": [
"&&",
{
"'": "^%"
},
[
"^@.item"
],
"^@.keypath"
]
},
"^@.item"
]
}
}
},
"requires": [
"map_core_emlynoregan_com"
]
}
joinJoin strings with ordinary and final separators. 0 dependencies
Full declaration: join_core_emlynoregan_com
Requires: none
{
"name": "join_core_emlynoregan_com",
"transform-t": [
"^%",
{
"!": {
"'": {
"&": "if",
"cond": {
"'": "^@.list"
},
"false": null,
"true": {
"'": {
"&": "reduce",
"list": "^@.list",
"accum": {
"index": 0,
"result": ""
},
"t": {
"'": {
"&": "if",
"cond": {
"'": [
"&=",
"^@.accum.index",
0
]
},
"true": {
"'": {
"index": 1,
"result": "^@.item"
}
},
"false": {
"'": {
"&": "if",
"cond": {
"'": [
"&=",
"^@.listlen",
[
"&+",
"^@.accum.index",
1
]
]
},
"true": {
"'": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": [
"&+",
"^@.accum.result",
"^@.lastseparator",
"^@.item"
]
}
},
"false": {
"'": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": [
"&+",
"^@.accum.result",
"^@.separator",
"^@.item"
]
}
}
}
}
}
}
}
}
}
},
"separator": {
"&": "if",
"cond": {
"'": "^@.separator"
},
"true": {
"'": "^@.separator"
},
"false": ", "
},
"lastseparator": {
"&": "if",
"cond": {
"'": "^@.lastseparator"
},
"true": {
"'": "^@.lastseparator"
},
"false": {
"'": {
"&": "if",
"cond": {
"'": "^@.separator"
},
"true": {
"'": "^@.separator"
},
"false": " and "
}
}
},
"listlen": {
"&": "len",
"list": "^@.list"
}
},
"result"
]
}
sliceSelect a bounded section of a list. 0 dependencies
Full declaration: slice_core_emlynoregan_com
Requires: none
{
"name": "slice_core_emlynoregan_com",
"transform-t": {
"!": {
"'": {
"!": {
"'": [
"^%",
{
"&": "reduce",
"list": "^@.list",
"accum": {
"index": 0,
"result": []
},
"t": {
"'": {
"&": "if",
"cond": {
"'": [
"&&&",
[
"&>=",
"^@.accum.index",
"^@.start"
],
[
"&<",
"^@.accum.index",
"^@.stop"
]
]
},
"true": {
"'": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": [
"&&",
"^@.accum.result",
"^@.item"
]
}
},
"false": {
"'": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": "^@.accum.result"
}
}
}
}
},
"result"
]
},
"start": {
"!": "^@.fixarg",
"arg": "^@.start",
"defaultarg": 0
},
"stop": {
"!": "^@.fixarg",
"arg": "^@.stop",
"defaultarg": {
"&": "len",
"list": "^@.list"
}
}
}
},
"fixarg": {
"'": {
"&": "if",
"cond": {
"'": "^@.arg"
},
"true": {
"'": {
"&": "if",
"cond": {
"'": [
"&<",
"^@.arg",
0
]
},
"true": {
"'": [
"&+",
{
"&": "len",
"list": "^@.list"
},
"^@.arg"
]
},
"false": {
"'": "^@.arg"
}
}
},
"false": "^@.defaultarg"
}
}
}
}
coalesceSelect the first non-null value. 0 dependencies
Full declaration: coalesce_core_emlynoregan_com
Requires: none
{
"language": "sUTL0",
"name": "coalesce_core_emlynoregan_com",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": null,
"t": {
"'": {
"&": "if",
"cond": {
"'": [
"&!=",
"^@.accum",
null
]
},
"true": {
"'": "^@.accum"
},
"false": {
"'": "^@.item"
}
}
}
}
}
switchChoose a transform by matching a value. 1 dependency
Full declaration: switch_core_emlynoregan_com
Requires: isinlist
{
"name": "switch_core_emlynoregan_com",
"transform-t": [
"^%",
{
"&": "reduce",
"list": "^@.cases",
"accum": {
"found": false,
"result": null
},
"t": {
"'": {
"&": "if",
"cond": {
"'": "^@.accum.found"
},
"true": {
"'": "^@.accum"
},
"false": {
"'": {
"&": "if",
"cond": {
"'": [
"&&&",
[
"&=",
{
"&": "type",
"value": "^@.item"
},
"list"
],
[
"&=",
{
"&": "len",
"list": "^@.item"
},
2
]
]
},
"true": {
"'": {
"&": "if",
"cond": {
"'": [
"&=",
{
"&": "type",
"value": "^@.item.0"
},
"list"
]
},
"true": {
"'": {
"&": "if",
"cond": {
"'": {
"!": "^*.isinlist",
"list": "^@.item.0",
"item": "^@.value"
}
},
"true": {
"'": {
"found": true,
"result": "^@.item.1"
}
},
"false": {
"'": "^@.accum"
}
}
},
"false": {
"'": {
"&": "if",
"cond": {
"'": [
"&=",
"^@.item.0",
"^@.value"
]
},
"true": {
"'": {
"found": true,
"result": "^@.item.1"
}
},
"false": {
"'": "^@.accum"
}
}
}
}
},
"false": {
"'": {
"found": true,
"result": "^@.item"
}
}
}
}
}
}
},
"result"
],
"requires": [
"isinlist"
]
}
whenPure-sUTL transform. 0 dependencies
Full declaration: when_core_emlynoregan_com
Requires: none
{
"name": "when_core_emlynoregan_com",
"transform-t": [
"^%",
{
"&": "reduce",
"list": "^@.cases",
"accum": {
"found": false,
"result": null
},
"t": {
"'": {
"&": "if",
"cond": {
"'": "^@.accum.found"
},
"true": {
"'": "^@.accum"
},
"false": {
"'": {
"&": "if",
"cond": {
"'": [
"&&&",
[
"&=",
{
"&": "type",
"value": "^@.item"
},
"list"
],
[
"&=",
{
"&": "len",
"list": "^@.item"
},
2
]
]
},
"true": {
"'": {
"&": "if",
"cond": {
"'": {
"!": {
"!": "^@.item.0"
}
}
},
"true": {
"'": {
"found": true,
"result": {
"!": "^@.item.1"
}
}
},
"false": {
"'": "^@.accum"
}
}
},
"false": {
"'": {
"found": true,
"result": {
"!": "^@.item"
}
}
}
}
}
}
}
},
"result"
]
}
isdictPure-sUTL transform. 0 dependencies
Full declaration: isdict_core_emlynoregan_com
Requires: none
{
"name": "isdict_core_emlynoregan_com",
"transform-t": [
"&=",
{
"&": "type",
"value": "^@.item"
},
"map"
]
}
islistPure-sUTL transform. 0 dependencies
Full declaration: islist_core_emlynoregan_com
Requires: none
{
"name": "islist_core_emlynoregan_com",
"transform-t": [
"&=",
{
"&": "type",
"value": "^@.item"
},
"list"
]
}
issimplePure-sUTL transform. 2 dependencies
Full declaration: issimple_core_emlynoregan_com
Requires: isdict_core islist_core
{
"name": "issimple_core_emlynoregan_com",
"transform-t": [
"&!",
[
"&||",
{
"&": "isdict_core"
},
{
"&": "islist_core"
}
]
],
"requires": [
"isdict_core",
"islist_core"
]
}
newdiffPure-sUTL transform. 7 dependencies
Full declaration: newdiff_core_emlynoregan_com
Requires: hasitems isdict islist switch map_core isinlist newdiff_core
{
"name": "newdiff_core_emlynoregan_com",
"transform-t": {
"!": {
":": {
"!": {
":": {
"&": "if",
"cond": {
":": {
"!": "^@.keepvalue"
}
},
"true": {
":": "^@.value"
}
}
},
"value": {
"&": "switch",
"value": {
"&": "type",
"value": "^@.new"
},
"cases": [
[
"map",
{
"&": "if",
"cond": {
"'": {
"&": "isdict",
"item": "^@.old"
}
},
"true": {
"'": {
"&": "makemap",
"value": {
"&": "map_core",
"list": {
"&": "keys",
"map": "^@.new"
},
"t": {
":": {
"&": "if",
"cond": {
":": {
"&": "isinlist",
"list": {
"&": "keys",
"map": "^@.old"
}
}
},
"true": {
"'": {
"&": "if",
"cond": {
":": [
"&=",
[
"^%",
"^@.new",
"^@.item"
],
[
"^%",
"^@.old",
"^@.item"
]
]
},
"true": null,
"false": {
":": {
"!": {
":": {
"&": "if",
"cond": {
":": {
"!": "^@.keepvalue"
}
},
"true": {
":": [
"^@.item",
"^@.value"
]
}
}
},
"value": {
"&": "newdiff_core",
"old": [
"^%",
"^@.old",
"^@.item"
],
"new": [
"^%",
"^@.new",
"^@.item"
]
}
}
}
}
},
"false": {
":": [
"^@.item",
[
"^%",
"^@.new",
"^@.item"
]
]
}
}
}
}
}
},
"false": {
":": "^@.new"
}
}
],
[
"list",
{
"!": {
":": {
"&": "if",
"cond": {
":": {
"&": "hasitems"
}
},
"true": {
":": "^@.list"
},
"false": []
}
},
"list": {
"&": "if",
"cond": {
"'": {
"&": "islist",
"item": "^@.old"
}
},
"true": {
"'": [
"^%",
{
"&": "reduce",
"list": "^@.new",
"accum": {
"index": 0,
"result": []
},
"t": {
":": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": [
"&&",
"^@.accum.result",
[
{
"!": {
":": {
"&": "if",
"cond": {
":": {
"!": "^@.keepvalue"
}
},
"true": {
":": "^@.value"
}
}
},
"value": {
"&": "newdiff_core",
"old": [
"^%",
"^@.old",
"^@.accum.index"
],
"new": "^@.item"
}
}
]
]
}
}
},
"result"
]
},
"false": {
":": "^@.new"
}
}
}
],
{
"&": "if",
"cond": {
":": [
"&=",
"^@.new",
"^@.old"
]
},
"false": {
":": "^@.new"
}
}
]
}
}
},
"keepvalue": {
":": [
"&||",
"^@.value",
[
"&!",
{
"&": "isinlist",
"item": {
"&": "type"
},
"list": [
"null",
"map",
"list"
]
}
]
]
}
},
"requires": [
"hasitems",
"isdict",
"islist",
"switch",
"map_core",
"isinlist",
"newdiff_core"
]
}
applynewdiffPure-sUTL transform. 5 dependencies
Full declaration: applynewdiff_core_emlynoregan_com
Requires: applynewdiff when removedupstrarr map_core longest
{
"name": "applynewdiff_core_emlynoregan_com",
"transform-t": {
"!": {
":": {
"&": "when",
"cases": [
[
{
":": [
"&=",
null,
"^@.diff"
]
},
{
":": "^@.old"
}
],
[
{
":": [
"&!=",
"^@.oldtype",
"^@.difftype"
]
},
{
":": "^@.diff"
}
],
[
{
":": [
"&=",
"^@.difftype",
"map"
]
},
{
":": {
"!": {
":": {
"&": "makemap",
"value": {
"&": "map_core",
"list": "^@.keys",
"t": {
":": [
"^@.item",
{
"&": "applynewdiff",
"old": [
"^@",
"old",
"^@.item"
],
"diff": [
"^@",
"diff",
"^@.item"
]
}
]
}
}
}
},
"keys": {
"&": "removedupstrarr",
"list": [
"&&",
{
"&": "keys",
"map": "^@.old"
},
{
"&": "keys",
"map": "^@.diff"
}
]
}
}
}
],
[
{
":": [
"&=",
"^@.difftype",
"list"
]
},
{
":": {
"!": {
":": [
"^%",
{
"&": "reduce",
"accum": {
"index": 0,
"result": []
},
"list": "^@.longestlist",
"t": {
":": {
"index": [
"&+",
"^@.accum.index",
1
],
"result": [
"&&",
"^@.accum.result",
{
"&": "applynewdiff",
"old": [
"^@",
"old",
"^@.accum.index"
],
"diff": [
"^@",
"diff",
"^@.accum.index"
]
}
]
}
}
},
"result"
]
},
"longestlist": {
"&": "longest",
"list": [
"^@.old",
"^@.diff"
]
}
}
}
],
{
":": "^@.diff"
}
]
}
},
"oldtype": {
"&": "type",
"value": "^@.old"
},
"difftype": {
"&": "type",
"value": "^@.diff"
}
},
"requires": [
"applynewdiff",
"when",
"removedupstrarr",
"map_core",
"longest"
]
}
combineCombine higher-order transforms. 0 dependencies
Full declaration: combine_core_emlynoregan_com
Requires: none
{
"name": "combine_core_emlynoregan_com",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": null,
"t": {
":": {
"&": "if",
"cond": {
":": "^@.accum"
},
"false": {
":": "^@.item"
},
"true": {
":": {
"&": "makemap",
"value": [
[
"!!",
{
"&": "makemap",
"value": [
[
":",
"^@.item"
]
]
}
],
[
"s",
"^@.accum"
]
]
}
}
}
}
}
}
declcombinePure-sUTL transform. 2 dependencies
Full declaration: declcombine_core_emlynoregan_com
Requires: combine keys2map
{
"name": "declcombine_core_emlynoregan_com",
"transform-t": {
"transform-t": {
"&": "combine",
"list": "&@.list.*.transform-t"
},
"requires": {
"&": "keys",
"map": {
"&": "keys2map",
"list": {
"!": {
"&": "reduce",
"list": "&@.list.*.requires",
"accum": {
":": [
"&&"
]
},
"t": {
":": [
"&&",
"^@.accum",
"^@.item"
]
}
}
}
}
}
},
"requires": [
"combine",
"keys2map"
]
}
maxPure-sUTL transform. 1 dependency
Full declaration: max_core_emlynoregan_com
Requires: map_core
{
"name": "max_core_emlynoregan_com",
"transform-t": {
"&": "reduce",
"accum": 0,
"t": {
":": {
"!": {
":": {
"&": "if",
"cond": {
":": [
"&>=",
"^@.accum",
"^@.item"
]
},
"true": {
":": "^@.accum"
},
"false": {
":": "^@.item"
}
}
}
}
}
},
"requires": [
"map_core"
]
}
lenmaxPure-sUTL transform. 1 dependency
Full declaration: lenmax_core_emlynoregan_com
Requires: map_core
{
"name": "lenmax_core_emlynoregan_com",
"transform-t": {
"&": "reduce",
"accum": 0,
"t": {
":": {
"!": {
":": {
"&": "if",
"cond": {
":": [
"&>=",
"^@.accum",
"^@.itemlen"
]
},
"true": {
":": "^@.accum"
},
"false": {
":": "^@.itemlen"
}
}
},
"itemlen": {
"&": "len",
"list": "^@.item"
}
}
}
},
"requires": [
"map_core"
]
}
longestPure-sUTL transform. 0 dependencies
Full declaration: longest_core_emlynoregan_com
Requires: none
{
"name": "longest_core_emlynoregan_com",
"transform-t": {
"&": "reduce",
"accum": [],
"t": {
":": {
"&": "if",
"cond": {
":": [
"&>",
{
"&": "len",
"list": "^@.item"
},
{
"&": "len",
"list": "^@.accum"
}
]
},
"true": {
"'": "^@.item"
},
"false": {
"'": "^@.accum"
}
}
}
}
}
traverseWalk nested MLSNBN structures. 3 dependencies
Full declaration: traverse_core_emlynoregan_com
Requires: switch coalesce traverse_core_emlynoregan_com
{
"language": "sUTL0",
"name": "traverse_core_emlynoregan_com",
"transform-t": {
"!": {
":": {
"&": "switch",
"value": {
"&": "type",
"value": "^@.source"
},
"cases": [
[
"map",
{
"&": "makemap",
"value": {
"&": "reduce",
"list": {
"&": "keys",
"map": "^@.source"
},
"accum": [],
"t": {
":": {
"!": {
":": [
"&&",
"^@.accum",
[
[
"^@.item",
{
"&": "traverse_core_emlynoregan_com",
"source": "^@.transformedvalue"
}
]
]
]
},
"transformedvalue": {
"!": "^@.traverse-t",
"key": "^@.item",
"value": [
"^@",
"source",
"^@.item"
]
}
}
}
}
}
],
[
"list",
[
"^%",
{
"&": "reduce",
"list": "^@.source",
"accum": {
"index": 0,
"result": []
},
"t": {
":": {
"index": [
"&+",
"^@.index",
1
],
"result": {
"!": {
":": [
"&&",
"^@.accum.result",
[
{
"&": "traverse_core_emlynoregan_com",
"source": "^@.transformedvalue"
}
]
]
},
"transformedvalue": {
"!": "^@.traverse-t",
"key": "^@.index",
"value": "^@.item"
}
}
}
}
},
"result"
]
],
{
"!": "^@.traverse-t",
"value": "^@.source"
}
]
}
},
"traverse-tx": {
"&": "coalesce",
"list": [
"^@.traverse-t",
"^@.t"
]
}
},
"requires": [
"switch",
"coalesce",
"traverse_core_emlynoregan_com"
]
}
filttravPure-sUTL transform. 3 dependencies
Full declaration: filttrav_core_emlynoregan_com
Requires: switch coalesce filttrav_core_emlynoregan_com
{
"language": "sUTL0",
"name": "filttrav_core_emlynoregan_com",
"transform-t": {
"!": {
":": {
"&": "switch",
"value": {
"&": "type",
"value": "^@.source"
},
"cases": [
[
"map",
{
"&": "makemap",
"value": {
"&": "reduce",
"list": {
"&": "keys",
"map": "^@.source"
},
"accum": [],
"t": {
":": {
"!": {
":": {
"&": "if",
"cond": {
":": "^@.keepvalue"
},
"true": {
":": [
"&&",
"^@.accum",
[
[
"^@.item",
{
"&": "filttrav_core_emlynoregan_com",
"source": [
"^@",
"source",
"^@.item"
]
}
]
]
]
},
"false": {
":": "^@.accum"
}
}
},
"keepvalue": {
"!": "^@.filter-t",
"key": "^@.item",
"value": [
"^@",
"source",
"^@.item"
]
}
}
}
}
}
],
[
"list",
[
"^%",
{
"&": "reduce",
"list": "^@.source",
"accum": {
"index": 0,
"result": []
},
"t": {
":": {
"index": [
"&+",
"^@.index",
1
],
"result": {
"!": {
":": {
"&": "if",
"cond": {
":": "^@.keepvalue"
},
"true": {
":": [
"&&",
"^@.accum.result",
{
"&": "filttrav_core_emlynoregan_com",
"source": "^@.item"
}
]
},
"false": {
":": "^@.accum.result"
}
}
},
"keepvalue": {
"!": "^@.filter-t",
"key": "^@.index",
"value": "^@.item"
}
}
}
}
},
"result"
]
],
"^@.source"
]
}
},
"filter-t": {
"&": "coalesce",
"list": [
"^@.filter-t",
"^@.t"
]
}
},
"requires": [
"switch",
"coalesce",
"filttrav_core_emlynoregan_com"
]
}