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

Core library contents

Source

Adapted from the sUTL source material.

Back to sUTL · Software & Agents · All topics

View page as JSON