{"id":"word--is","name":"is","owner":"yeho","package":"language","kind":"keyword","signature":"is","description":"Test 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__is\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n","verification":"type checked","sha256":"32576bd0caf30a6601771b8efc9bf8a446caff758c07bf2b7e04b9bc69187cfa","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=word--is","json":"https://demonhunterlabs.com/reference/items/word--is.json","markdown":"https://demonhunterlabs.com/reference/text/word--is.md"}
