{"id":"word--thing","name":"thing","owner":"yeho","package":"language","kind":"keyword","signature":"thing","description":"Declare plain value data","context":"Start with thing for coordinates, settings, records, messages, and other data that should behave like a value.","parameters":[],"returns":"","members":[],"tags":["complete-program","cpu","data","keyword","yeho"],"updated":"2026-09-09","source":{"repository":"yeho","path":"docs/language/language-core.md §3.1; tests/compiler/kyber/thing-runtime/start.yh"},"status":"stable","notes":["thing is preferred over the deprecated dobox alias.","Things can contain other things, which is how larger data maps stay understandable."],"examples":[{"id":"complete","title":"Plain data memory address","description":"Start with thing for coordinates, settings, records, messages, and other data that should behave like a value.","code":"thing point\n{\n    int x\n    int y\n}\n\nSetBoth(point memoryAddress target, int x, int y)\n{\n    target.x = x\n    target.y = y\n}\n\npoint value = point()\nSetBoth(value, 8, 13)\n\nif value.x == 8 and value.y == 13\n{\n    Console.Log(\"plain-data-memory-address-ok\")\n}\n\n\n","manifest":"package = \"tests.compiler.kyber.plainDataMemoryAddress\"\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/plain-data-memory-address/start.yh","sha256":"c1f3a11ae2ab2002fa89003da95eaa8e86bccdaa7e8f859ba08e36316f7a4c5b","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=word--thing","json":"https://demonhunterlabs.com/reference/items/word--thing.json","markdown":"https://demonhunterlabs.com/reference/text/word--thing.md"}
