{"id":"language--function-values","name":"Function values, lambdas, and local functions","owner":"yeho","package":"language","kind":"language","signature":"function of ParamType to ReturnType\nfunction(Type name) -> Type { ... }","description":"Yeho has reserved syntax for typed function values and function(...) lambdas, but the feature is not in the Kyber product path.","context":"Use ordinary named top-level functions in product code. Explore function values only through the explicit comparison oracle.","parameters":[],"returns":"","members":[],"tags":["complete-program","cpu","function","functions","language","of","to","yeho"],"updated":"2026-09-09","source":{"repository":"yeho","path":"advanced-features-2026.1.json; conformance lambdas-local-functions"},"status":"generated-cpp-only","notes":["Lambdas and local functions are generated-C++ only.","Generic functions are unavailable."],"examples":[{"id":"complete","title":"Function pointer call","description":"Use ordinary named top-level functions in product code. Explore function values only through the explicit comparison oracle.","code":"Twice(int value) returns int\n{\n    return value * 2\n}\n\nAddThree(int value) returns int\n{\n    return value + 3\n}\n\nfunction of int to int callback = Twice\nint doubled = callback(21)\ncallback = AddThree\nint shifted = callback(doubled)\n\nif shifted == 45\n{\n    Console.Log(\"function-pointer-ok\")\n}\n\n\n","manifest":"package = \"tests.compiler.kyber.functionPointerCall\"\nversion = \"0.1.0\"\nbackend = \"kyber\"\nosTarget = \"windows\"\narchTarget = \"x64\"\nselfContainedApp = false\n\n\n\n","tags":["cpu","complete-program"],"verification":"type checked","run":"cpu-oracle","source":"tests/compiler/kyber/function-pointer-call/start.yh","sha256":"df54aaf865100b9b29cfe7517c4e9213d9e84eaf64316be2585bcbfb0cc2b7cf","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=language--function-values","json":"https://demonhunterlabs.com/reference/items/language--function-values.json","markdown":"https://demonhunterlabs.com/reference/text/language--function-values.md"}
