sUTL
Data all the way down

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.

Compile and run

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.

Complete distribution

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"
  ]
}