{"schema":"https://ver.cy/schemas/card/1.0.0","id":"vr.tr.higher-order-function","code":"thing-q1474542","url":"https://ver.cy/models/thing/q1474542/","name":"higher-order function","alternateNames":["map","fixed-point combinator","functional square root","parser combinator","half-exponential function"],"kind":"thing","status":"published","version":"0.2.0-wave.4","language":"en","classifiers":{"family":"Thing Registry","category":"Cross-cutting context","entryKind":"thing","plane":"XCT","domain":["XCT.QLT"],"industry":[],"navPath":"","tags":[],"facets":{}},"whatItIs":"In programming and mathematics, a higher-order function is a function that takes one or more functions as arguments, returns a function as its result, or both; the registry aliases name examples such as map, parser combinators and fixed-point combinators. Higher-order functions are a core idea of functional programming, letting behaviour be passed around and composed, and they contrast with ordinary functions that only take and return plain values.","purpose":"Let an agent explain the higher-order function, relay its idea, examples and uses from computer-science sources, describe the examples its aliases name, and distinguish it from a first-order function and from a plain value.","scope":{"in":[],"out":[],"boundaries":[]},"distinguishingFeatures":["Operates on functions","Core to functional programming","Enables composition","Contrasts with first-order"],"structure":{"bundles":[{"id":"understand","name":"Understand","description":"What it is.","layers":[{"id":"definition","name":"Definition","description":"Definition.","findings":[{"id":"definition-finding","name":"Definition","description":"Definition.","questions":[{"text":"What is a higher-order function, and how does it differ from a first-order function?","kind":"definition"},{"text":"Is the question about programming or mathematics?","kind":"boundary"}]}]},{"id":"examples","name":"Examples","description":"Examples.","findings":[{"id":"examples-finding","name":"Examples","description":"Examples.","questions":[{"text":"What are map, parser combinators and fixed-point combinators?","kind":"definition"},{"text":"Which entry fits the specific example?","kind":"action"}]}]}]},{"id":"idea","name":"Idea","description":"Idea.","layers":[{"id":"arguments","name":"Arguments","description":"Functions as arguments.","findings":[{"id":"arguments-finding","name":"Arguments","description":"Arguments.","questions":[{"text":"How does a higher-order function take functions as arguments?","kind":"provenance"},{"text":"Which references are standard?","kind":"provenance"}]}]},{"id":"returns","name":"Returns","description":"Returning functions.","findings":[{"id":"returns-finding","name":"Returns","description":"Returns.","questions":[{"text":"How does a higher-order function return a function?","kind":"provenance"},{"text":"Which sources are cited?","kind":"provenance"}]}]}]},{"id":"uses","name":"Uses","description":"Uses.","layers":[{"id":"composition","name":"Composition","description":"Composition.","findings":[{"id":"composition-finding","name":"Composition","description":"Composition.","questions":[{"text":"How do higher-order functions enable composition and reuse?","kind":"provenance"},{"text":"Which sources are cited?","kind":"provenance"}]}]},{"id":"patterns","name":"Patterns","description":"Patterns.","findings":[{"id":"patterns-finding","name":"Patterns","description":"Patterns.","questions":[{"text":"What common patterns use higher-order functions?","kind":"provenance"},{"text":"Which entry fits the pattern?","kind":"action"}]}]}]},{"id":"context","name":"Context","description":"Context.","layers":[{"id":"functional","name":"Functional","description":"Functional programming.","findings":[{"id":"functional-finding","name":"Functional","description":"Functional.","questions":[{"text":"Why are higher-order functions central to functional programming?","kind":"provenance"},{"text":"Which sources are cited?","kind":"provenance"}]}]},{"id":"math","name":"Math","description":"Mathematics.","findings":[{"id":"math-finding","name":"Math","description":"Math.","questions":[{"text":"How does the mathematical notion of a functional relate?","kind":"provenance"},{"text":"Is the sense correctly identified?","kind":"boundary"}]}]}]}]},"agentConduct":{"may":["Write and explain higher-order functions such as map, filter and fold.","Refactor code with them where it improves clarity."],"mustNot":["Pass untrusted functions or callbacks into privileged code.","Confuse higher-order with first-order functions.","Introduce code that silently swallows errors through callbacks.","Present clever abstractions that obscure safety-critical logic."],"requiresHuman":["Changing shared production code."]},"ethics":{"considerations":["Obscure code makes faults harder to find.","Clear teaching helps learners."],"affectedParties":["Developers","Users of the software","Learners"]},"owners":{"steward":"Nobody: a concept held in common.","roles":[],"masterSystems":[]},"relations":[{"target":"Q15810910","type":"parent","note":"registry parent class"},{"target":"function","type":"related","note":"in registry terms"},{"target":"first-order function","type":"related"},{"target":"functional programming","type":"related"},{"target":"function composition","type":"related"}],"interaction":{"identity":{"applicability":"required","items":["Vercy registry: vr.tr.higher-order-function","Wikidata: Q1474542 (https://www.wikidata.org/wiki/Q1474542)"]},"properties":{"applicability":"not-applicable","items":["takes or returns: functions note","field: functional programming and mathematics note","registry parent: function note"]},"recognition":{"applicability":"optional","items":["A function that takes or returns functions","map, parser combinator, fixed-point combinator","A first-order function takes and returns only plain values","Not a visible object; a function in code or mathematics that operates on other functions."]},"capabilities":{"applicability":"required","items":["explain the idea","relay examples and uses","describe named examples","distinguish it from first-order functions"]},"hazards":{"applicability":"required","items":["Confusing with first-order functions","Confusing the function with its result","Overstating performance cost"]},"interfaces":{"applicability":"required","items":["Programming language semantics"]},"context":{"applicability":"required","items":["Taking or returning functions to compose behaviour.","map and filter","combinators","function-returning functions"]}},"sources":[{"title":"Wikidata item Q1474542: higher-order function","url":"https://www.wikidata.org/wiki/Q1474542","note":"identity and sense of the item"},{"title":"Wikipedia: Higher-order function","url":"https://en.wikipedia.org/wiki/Higher-order_function","note":"general description of the item"}],"openQuestions":["Should specific combinators be separate entries?","How should the idea be shown simply?","How should the math sense relate to the code sense?"],"resources":{"spec":"/models/things/publications/thing-q1474542/spec.json"},"provenance":{"origin":"thing registry research (pass 2)","builtFrom":["models/things/publications/thing-q1474542/spec.json"],"providers":["Claude"],"researchStatus":"unreviewed","generatedAt":"2026-09-14T03:40:18Z","builder":"tools/build_cards.py@1.0.0"},"completeness":{"sections":{"classifiers":"filled","whatItIs":"filled","purpose":"filled","distinguishingFeatures":"filled","structure":"filled","agentConduct":"filled","ethics":"filled","owners":"filled","relations":"filled","interaction.identity":"filled","interaction.properties":"not-applicable","interaction.recognition":"filled","interaction.capabilities":"filled","interaction.hazards":"filled","interaction.interfaces":"filled","interaction.context":"filled","sources":"filled"},"notes":{"_gate":"Published through the thing publication gate 1.0 on 2026-10-06T19:51:54+00:00: completeness 1.00; sense: Wikidata description; 2 live sources; review by codex: pass","interaction.properties":"Plane XCT: no invented physical properties."},"score":1.0}}