ZILF 0.9 released

Version 0.9 of ZILF is here! Highlights include easier setup for non-Windows platforms, compatibility with the unearthed Infocom source, and lots of bug fixes.

Get it at zilf.io.


Thank for developing a Linux Arm version. The binaries for zilf and zapf worked right off the bat on my RPi 4. It is nice that “mono” is no longer necessary. I have read the release notes on the repository site. You have been busy adding enhancements, making it more compatible with Inform games and fixing bugs.

Very nice.



Awesome, glad to have confirmation that it works on ARM.


Will you be releasing new documentation? The Zil document isn’t bad, but I prefer a reference guide to complement the incremental learning method

@Jeff_Nyman has been writing some tutorials: ZIL Retro - Repository for Learning ZIL and ZILF

For reference material, there’s:

  • ZILCourse.pdf, an Infocom document written by Marc Blank, which Jeff found and uploaded to the repo linked from that thread (not to be confused with Learning ZIL, written by Steve Meretzky)
  • The MDL Programming Language: MDL is both the “top level” language of ZIL, in which macros are written and from which all the definition functions like ROUTINE are called, and the inspiration for the “inner” language in which routines themselves are written
  • ZILF’s compiler integration tests, library tests, and sample games: if you just want to know how to use some named thing, grepping the ZILF source code will generally turn up at least one tested example

These resources and more are linked from the wiki at http://faq.zilf.io, which would also be a good place for assembling ZILF-specific reference material, but I don’t think I’ll be able to do much of that myself in the near future.


As a note on Jesse’s first point, I’m actively updating the ZIL Retro repository. Specifically around building up the Cloak of Darkness example.

My documentation is admittedly really rough looking right now but I’m doing a first pass and then I’ll be refining the material. I’m thinking then I’ll try to build up some examples from the Infocom material. I’m also trying to intersperse quotes from the Learning ZIL guide as well.


Two quick questions:

  • Does/will ZILF support mixed-case commands and variables? Right now I feel like MY CODE IS SHOUTING AT ME.
  • This thread doesn’t have the brightly-colored and bolded ‘ZIL’ tag, so it doesn’t show up in searches for that. …huh. I guess that’s a statement, not a question.
  1. Does anyone know what page I go to if I want to see threads I’m tracking? I can’t seem to locate it.

Okay, that’s a third question. No wait -

Like MDL, ZILF distinguishes between upper and lower case (at least when compiling code from a file).

There’s a command line option to change that, but you’ll have to pass it every time you compile: zilf -ci foo.zil

This option may be changed or removed in the future, because it’s an ugly hack that contradicts both the specification of MDL and the spirit of Lisp – the right way to do it would be to have separate controls for how atoms are read and printed instead of how they’re compared.

Hm. I guess I asked the wrong question, then. Because I like that it supports mixed case. What I guess I was really asking is to not have to TYPE ALL OF MY COMMANDS IN ALL CAPS. It’s hard on my Shift key finger.

-ci will let you type your code in lowercase, which I think is what you want…

Other than that, I’d just recommend using caps lock. :wink: