Advent of Code on the Z-Machine
Key topics
The article discusses implementing Advent of Code solutions on the Z-Machine, a virtual machine for interactive fiction, sparking discussion on related retro computing topics and alternative approaches to solving coding challenges.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
1h
Peak period
5
3-4h
Avg / period
2
Based on 20 loaded comments
Key moments
- 01Story posted
Nov 11, 2025 at 6:34 AM EST
about 2 months ago
Step 01 - 02First comment
Nov 11, 2025 at 7:45 AM EST
1h after posting
Step 02 - 03Peak activity
5 comments in 3-4h
Hottest window of the conversation
Step 03 - 04Latest activity
Nov 11, 2025 at 5:48 PM EST
about 2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
https://en.wikipedia.org/wiki/Sandia_Base
https://en.wikipedia.org/wiki/Z-Division
Is there any evidence of this? The standard guide to ZIL (written as an in-house document at Infocom for new programmers [1]) presents it very much as if people would be writing it directly. It's also not that low level, only slightly more low level than Inform 6.
[1] https://archive.org/details/Learning_ZIL_Steven_Eric_Meretzk...
Sometimes during game development they'd make use of MDL macros that were not available in ZIL, and they'd then have to either macroexpand manually, or hard-code those macros as language features into their ZIL compiler (because ZIL is not quite a Lisp and does not have support for custom macros).
Again, this is the understanding I've pieced together in my head from various sources. I don't have the full picture! Maybe I should try to get in touch with the people who were there to ask them...
ZILCH (Infocom's compiler) provided all the functions of MDL, _plus_ a bunch of new ones that manipulated data structures which were then used to generate assembly code for the Z-machine.
One of those new functions, ROUTINE, accepted code written in a domain-specific language resembling a stripped-down MDL, which was then translated into Z-machine instructions. But that domain-specific language isn't synonymous with ZIL: other functions that were inarguably part of ZIL, like OBJECT and SYNTAX, are not part of that domain-specific language.
IMO, the only reasonable definition of ZIL is "the language accepted by a ZIL compiler", which (depending on whether you look at ZILCH or ZILF) is either a superset of MDL or an overlapping set.
[1] https://www.linusakesson.net/dialog/index.php
I didn't know about Dialog when I wrote this article (learned of it just yesterday!) but unless life gets in the way I will explore it in a future article.
https://www.linusakesson.net/dialog/craverly/craverly_side_b...
https://www.linusakesson.net/dialog/craverly/index.php
I understand the appeal of Dialog -- Inform 7 can be really awkward for traditional programming constructs -- but I think I'd rather write ZIL if I'm going back to the usual control structures and OOP-style messaging.
https://github.com/Dialog-IF/dialog
[1]: https://davidyat.es/2024/12/23/aoc-2024-part2/#day-6-python-...
(used at Sandia for inertial confinement fusion)
[1] https://youtu.be/lix-vr_AF38?t=3m12s
[2] https://lod.org
https://en.wikipedia.org/wiki/CHIP-8