Remix.run Logo
katspaugh 8 hours ago

So Zork was written in Lisp? It had to be!

---

<ROUTINE V-ADVENT ()

  <TELL "A hollow voice says \"Fool.\"" CR>>
agiacalone 8 hours ago | parent | next [-]

MDL, actually, which was derived from LISP.

https://en.wikipedia.org/wiki/MDL_(programming_language)

drob518 7 hours ago | parent [-]

I’m curious why they chose MDL rather than Lisp for it. Sure, it would have been ancient MACLISP or whatever, but why not leverage what was already in wide use at MIT at the time?

WorldMaker 5 hours ago | parent | next [-]

MDL is what was in wide use at MIT at the time, the PDP-10 era. The M in MDL is sometimes "MIT" in the various backronyms of what it stood for. (Mostly it was apparently just short for "muddle", a self-deprecating description.)

(Also, to be technically correct, these source files aren't even MDL, they are a further descendant called ZIL [Zork Implementation Language].)

staplung 5 hours ago | parent | prev | next [-]

MDL is also from MIT and supposedly stood for More Datatypes than Lisp. According to wikipedia "MDL provides several enhancements to classic Lisp. It supports several built-in data types, including lists, strings and arrays, and user-defined data types. It offers multithreaded expression evaluation and coroutines."

Seems that most of it's novelties were eventually added into LISP proper.

jjtheblunt 6 hours ago | parent | prev [-]

maybe they just made a mini-lisp and called it MDL?

drob518 5 hours ago | parent [-]

It’s very Lispy, but it’s not strictly Lisp. Why, for instance, use “<“ and “>” to surround various forms but not others? If they were to make a mini-Lisp, I’d expect something more like Gnu Emacs Lisp, something that’s obviously a Lisp, but heavily influenced by the Lisps of the day. I’ve found a few old MDL manuals linked from Wikipedia, but none of them have any sort of “Here’s why we created MDL” section that I could find.

DonHopkins 3 hours ago | parent [-]

MDL is Grue Emacs Lisp ;)

leoc 7 hours ago | parent | prev | next [-]

From one perspective ADVENT is just SHRDLU turned inside out, after all. (Though of course from another perspective it's a fancier WUMPUS.)

('ADVENT' is https://en.wikipedia.org/wiki/Colossal_Cave_Adventure , for anyone who isn't familar.)

leoc an hour ago | parent | next [-]

(This is not an original observation, to be clear: see eg. https://nickm.com/if/riddle_machines.html )

WillAdams 4 hours ago | parent | prev [-]

A nice overview of the source code for that is:

http://literateprogramming.com/adventure.pdf

m463 2 hours ago | parent | prev | next [-]

I remember playing it and finding a bunch of listings

  There is an enormous stack of line-printer paper here.  It is barely
  readable and totally unintelligible.
and:

  <DEFINE FEEL-FREE (LOSER)
    <TELL "FEEL FREE, CHOMPER!">
    <MEMQ ......
  The rest is, alas, unintelligible (as were the implementers).
arnonejoe 8 hours ago | parent | prev [-]

I read a while back it’s a language called zil based on MDL.

https://the-rosebush.com/2025/07/studies-of-zil-part-2-how-d...