Inform 7 v10.1.0 is now open-source

Before, I had just run a quick and dirty bash script to try compiling with the Friends of I7 extensions, and had only a crude view of the output. But now I’ve modified my extension smoketester to compile with v10.

Of the 414 extensions in the Friends repo, 298 compile under 6M62. (There are likely some that fail only because they need a table defined or an object of some particular kind. The smoketester adds the appropriate thing for a few extensions, but likely not all.)

In v10, 160 compile. As noted before, a large number of these are because of I6 Inclusions. Some reasons I haven’t mentioned yet:

  • The Standard Rules’ sections have different names and half of what used to be in the Standard Rules is now in Basic Inform, so things replacing sections of the Standard Rules mostly fail
  • In 6M62, if you said Include Version 10 of Awesome Extension by Brilliant Author that meant version 10 or higher. In v10’s semantic version numbering world, it means something whose major version number is 10: you’ll get the highest numbered version satisfying that criterion that’s in the extension dir in the project’s materials dir if there is one, then in External, then in Internal. So there are several things that would likely compile with just the version numbers of their inclusions updated.
  • A bunch of compilation attempts cause segfaults.
  • In 6M62, an I7 substitution within an I6 inclusion could directly invoke a phrase, i.e., with To decide what number is foo: [...], you could use (+ foo +). Seems you can no longer do this. The error message says “these brackets can only be used with constant values”, but it looks like variable names are ok.

I’ll try to say more about what doesn’t compile under v10 that did compile under 6M62 (and why) tomorrow.

6 Likes