sUTL core library, part 5

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.

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

Core library contents

Source

Adapted from the sUTL source material.

Back to sUTL · Software & Agents · All topics

View page as JSON