Richard Bos wrote:
On its target, yes. But ZCode is only the machine code of the ZMachine. Infocom's actual legible code was in ZIL, which is much more like a variant of Lisp than like imperative languages like Inform and TSAL.
Speaking as a non-programmer who can usually more-or-less follow the logic of programs by reading source code, despite being totally hopeless at actually writing it myself...
To me it looks like ZIL and Inform share an object-oriented approach, where objects have their own routines outlining how they react to different verbs. This means Inform seems to have a lot more in common with ZIL than with TSAL
Yes, the underlying world model of Inform shares a lot with that of the ZMachine - of necessity. Remains the fact that both Inform and TSAL are imperative, and ZIL isn't, making Inform partly similar to both - and, of course, the fact that whatever the languages are like, without exposure to TSAL it's unlikely Graham would ever have even thought of creating Inform.
In any case, I don't think Inform could
have been based on ZIL, because AFAIK that wasn't known outside ex-Infocom circles in 1993. I remember the publication of part of its manual being a bit of a sensation on the newsgroups, and I certainly wasn't around for the start of Inform. But yes, you are of course right that the design of the ZMachine had, of necessity, a great influence on the data model of Inform. Don't confuse the data model with the language paradigm, though; they are separate issues in a system design.
(where the verbs all have routines describing how they act on different objects. Not to mention TSAL's weird insistence on using assembly-language-style relative jumps instead of proper IF...THEN...ELSE statements! What's that all about?)
That's about old-fashioned, low-level languages on a mainframe. Nobody these days would design any language like that, but in those days corners had to be cut.
Out of curiosity, does anyone know what sort of language Graham Nelson's two Galaxy's Edge games
were written in? Was it more like Inform or TSAL? Or something else? (And how much is he embarrassed by that
I wouldn't know... we should show it to him <g>.
As for the language, certainly not Inform, since that wasn't published until 1993 officially, and presumably begun at most a year earlier. Certainly not TSAL, either; that was never available outside the Phoenix mainframe until Adam, David and Graham started the "Phoenix re-creation" project.
Presumably it was Basic. Let's see if I can find a disc or tape image somewhere. It doesn't seem to be commonly available on any of the BBC sites I've found, but I haven't been looking at BBC games for more than a month or two.