sUTL core library, part 1
Named reusable transforms, with full declarations and explicit dependency lists.
sUTL · Guide · Reference · Examples
These are declarations from the core distribution. Compile their named requirements against the complete distribution; an isolated declaration may depend on others. Historical language: "sUTL0" labels are retained as archived input, accepted by the current language. See declarations and libraries.
map_core_emlynoregan_com
{
"name": "map_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"map-t": "^@.t",
"t": {
"'": [
"&&",
"^@.accum",
[
{
"!": "^@.map-t"
}
]
]
},
"accum": []
}
}
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"
]
}
head_core_emlynoregan_com
{
"name": "head_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"&head",
"^@.list"
]
}
tail_core_emlynoregan_com
{
"name": "tail_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"&tail",
"^@.list"
]
}
removenulls_core_emlynoregan_com
{
"name": "removenulls_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": [],
"t": {
"'": {
"&": "if",
"cond": {
"'": [
"&!=",
"^@.item",
null
]
},
"true": {
"'": [
"&&",
"^@.accum",
"^@.item"
]
},
"false": {
"'": "^@.accum"
}
}
}
}
}
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"
]
}
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"
]
}
mapget_core_emlynoregan_com
{
"name": "mapget_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": [
"^@",
"map",
[
"^@",
"key"
]
]
}
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"
]
}
filter_core_emlynoregan_com
{
"name": "filter_core_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "reduce",
"list": "^@.list",
"accum": [],
"t": {
"'": [
"&&",
"^@.accum",
{
"&": "if",
"cond": {
"'": {
"''": "^@.filter-t"
}
},
"true": [
"^@.item"
],
"false": []
}
]
}
}
}
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"
]
}
test_tst_emlynoregan_com
{
"name": "test_tst_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": "^@.test-t",
"true": null,
"false": "^@.name"
}
}
asserttrue_tst_emlynoregan_com
{
"name": "asserttrue_tst_emlynoregan_com",
"language": "sUTL0",
"transform-t": {
"&": "if",
"cond": {
"'": {
"&": "=",
"a": "^@.test-t",
"b": true
}
},
"true": null,
"false": "fails"
}
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
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"
]
}
Source
Adapted from the sUTL source material.