1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-29 05:24:57 +03:00

Minor redraft

This commit is contained in:
Graham Nelson 2022-08-09 09:45:46 +01:00
parent ebb1b5abaf
commit b03e4bef44

View file

@ -31,7 +31,13 @@ now provides all of that more easily. In particular:
from the old concept of "template files" and "template code".
- The old Standard Rules extension has been divided in two: one half called
Basic Inform, which sets up the language itself, and another containing
the world model and its actions, still called the Standard Rules.
the world model and its actions, still called the Standard Rules. Basic
projects can be compiled which do not use the Standard Rules at all, and
have no command loop.
- The new Inter architecture allows for multiple possible compilation targets,
and in particular Inform source text can now be compiled to C instead of
I6 code, though only at the command line (the apps do not use C).
See the documentation on [calling Inform from C](https://ganelson.github.io/inform/inform7/M-cifc.html).
Inform release notes have historically also included brief release notes on new
features and bug fixes in the apps for Windows, MacOS and Linux. But those have
@ -73,17 +79,18 @@ since [version 9.3](9-3.md).
different mechanism in `inter`. Most of the time users will never notice
the difference, and in any case `Include (- ... -)` is an expert-level
feature really only intended for complex extensions. However, there are
a handful of differences, mostly to do with antiquated syntax:
- `for` loops written the old-fashioned way, with semicolons instead of
I6's preferred colons in the header, are not allowed. Changing the
semicolons to colons fixes any problems.
- With `inform6`, local variable names are allowed to coincide with statement
a handful of differences because `inter` does not quite read the entire
range of syntax which `inform6` does. Of these, the most significant are:
- Only new-style `for` loops with colons in the header, `for (i=0: i<10: i++)`,
are allowed: not the old style with semicolons, `for (i=0; i<10; i++)`.
Changing the semicolons to colons fixes any problems.
- To `inform6`, local variable names are allowed to coincide with statement
names: thus you can have a local called `style` even though this is also
a statement keyword. With `inter` this is not the case and such words
a statement keyword. `inter` does not allow this and all such words
are reserved. The workaround is simply to rename the local in question.
- The largely undocumented I6 `indirect(...)` function cannot be used.
But since `indirect(A)` is equivalent to `A()`, which does work,
this is easy to avoid.
- The `indirect(...)` function, never really documented but used in a number
of old template files, cannot be used with `inter`. But since `indirect(A)`
is equivalent to `A()`, which does work, this is easy to avoid.
- The `Include (- ... -)` construction previously provided a way to specify
where an inclusion should occur - before or after certain headings or