Inform is a design system and programming language, and while they share the same name, Inform 6 and Inform 7 have different approaches to syntax and design principles. The main relation is that Inform 7 uses Inform 6 to compile into glulx or z-code, by mapping syntax onto Inform 6 structures behind the scenes.
Inform 6 Edit
Inform 6 (I6) was released in 1996 as a complete recoding of the Inform Compiler, and has grown to be a stable product over the years. It's a classic programming language, much in the same way TADS is, with a clear C-like syntax. Unlike TADS, I6 compiles for the Z-machine, which was the engine used to run Infocom's classic IF titles. This means that I6 games can be run on a very wide variety of platforms thanks to third-party interpreters. Later versions can also compile to Glulx, which is another engine developed to address the shortcomings of the Z-machine.
Inform 7 Edit
The beta release of Inform 7 was announced on April 30, 2006, and presented as a radical new approach to writing Interactive Fiction. It uses declarative language, that can for the most part be read as english, to manipulate a world model built upon relational algebra. It has a custom-built IDE, flavors of which is available for MicroSoft Windows, Mac OS X and Linux.
AIF Libraries Edit
Several attempts have been made at writing libraries (or extensions, in Inform parlance) for supporting AIF concepts in Inform 7. Two of these are being actively developed and maintained today:
Inform 7 have extensive documentation available in the IDE; here are some other good sources of documentation.
- The Inform Designer's Manual, Fourth Edition (DM4): Intended for use with Inform 6, but large segments are applicable to other systems. Chapter VIII: The Craft of Adventure delves into generic puzzle and story design.
- The Inform 7 Handbook by Jim Aikin: An alternative introduction to I7 organized in a different way than the standard manual.
- Inform 7 for Programmers, by Ron Newcomb: An introduction to I7, seen from the mind of a programmer. Contains useful examples on how to accomplish programming tasks that are not intuitive to the natural language approach in I7.