{"id":"word--as","name":"as","owner":"yeho","package":"language","kind":"keyword","signature":"as","description":"Cast to a named type","context":"Prefer designs that already know their types. Use is/as at admitted dynamic boundaries and keep failure handling explicit.","parameters":[],"returns":"","members":[],"tags":["cpu","keyword","language","logic","yeho"],"updated":"2026-09-09","source":{"repository":"yeho","path":"parser_expressions.cpp parseComparison; semantic/expr.cpp"},"status":"experimental","notes":["Complete class/reference flow is oracle-only today, so this is not a general Kyber dynamic-object promise.","The target after is or as is currently a named type."],"examples":[{"id":"complete","title":"Complete program","description":"Use a checked class boundary before reading the pilot-specific callsign.","code":"class Actor { }\nclass Pilot extends Actor { text callsign = \"Nova\" }\nActor actor = Pilot()\nif actor is Pilot\n{\n    Pilot pilot = actor as Pilot\n    Console.Log(pilot.callsign)\n}\n","tags":["cpu","language"],"run":"cpu-oracle","expected":null,"verifyRun":false,"manifest":"manifestVersion = \"2\"\npackage = \"api.example.word__as\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n","verification":"type checked","sha256":"f504fd785ff83c5ff3c656bc3da4f004cc4f0dcdcff18ec2a9789a9794c7a0a5","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=word--as","json":"https://demonhunterlabs.com/reference/items/word--as.json","markdown":"https://demonhunterlabs.com/reference/text/word--as.md"}
