Although I’m not interested in the Inform 7 language itself, there are a lot of features of the I7 suite that I do like: extensive debugging tools, output into a form that doesn’t require a separate interpreter, a very nice GUI, and so on. Since I7 is ultimately a veneer or preprocessor around the I6 complier, is it possible (and painless) to wrap a substantial set of I6 files into an I7 project and continue development with the I7 tools but without using the I7 language?
You can put as much I6 code as you want into an I7 project. Just wrap it like this:
Include (- I6 code goes here -).
See Chapter 27, starting at §27.14, for details on how to incorporate I6 code into I7 projects.
However, the I7 IDE supports I6 projects directly. Check out the File -> Inform 6 -> New Project menu option.
One thing that might not be obvious is that, if your I6 project uses multiple files, you need to tell the I7 IDE about it via the Inspectors window (Window -> Show Inspectors). One of the inspectors is a list of project files with + and - buttons to add/remove files.
Thanks, but are we talking about the same IDE? I’m using version 6M62, but I don’t have a File > Inform 7 or Windows > Show Inspectors option.
The IDEs on different platforms are maintained separately by different people. I think the I6 features are only available on OS X, which is effectively the reference implementation; they aren’t yet in the Gnome version, at least.
That would explain it. I do most of my development on a Windows box, but I occasionally use Mac OS X and Ubuntu; at the very least, I can run the initial conversion or compile the final version to a stand-alone html page on one of those machines.
I didn’t realize that the other platforms don’t implement I6 projects.
It’s also possible to create a minimal I7 project, release with an interpreter, and then perform some surgery on the resulting files to have the website play an arbitrary zcode file. See this thread.
You can do this for glulx games as well. See the “If you’re not using Inform 7 at all” section here.
I tried that earlier, but there are some interface issues and fairly nasty parser tricks involved in this project that require some hand-holding. Besides, I would like to continue developing in the I7 IDE if possible.