Informal version 6.21 / Sean Barrett / 2001-09-13 Informal is a modified version of the Inform compiler written by Graham Nelson. Informal changes the way certain output statements compile. By default, Informal should be back-compatible with Inform 6.21, except if any printed strings contain the character '{'. Full back-compatibility can be obtained by launching Informal with the flag -~V Informal will display "Informal 6.21v" in the banner during compiles; the Informal source code can be recompiled to disable -V support, but will still show as "Informal 6.21" to avoid confusion with "Inform 6.21" (with which it should be fully compatible... stress on "should"). INFORMAL SWITCHES -N Defaults to off. If -N is defined, then the compiler turns newlines in print statements into calls to the veneer routine CR_(). Both newlines from print_ret and appearances of the character '^' are affected. The default implementation of CR_() prints a newline, so turning on -N should have no effect except to grow the code a little. The following statements are equivalent with -N: "foo"; print_ret "foo"; print "foo^"; rtrue; print "foo"; CR_(); rtrue; However, new_line; still prints a blank line. -Z ( default--disable with -~Z) controls whether print_ret "foo"; and the abbreviation "foo"; generate newlines (or, if -N is enabled, calls CR_()) at the end of the string. So, with -~Z, the following are the same: "foo"; print_ret "foo"; print "foo"; rtrue; With -~Z and -N, the following are the same: "foo^bar"; print "foo"; CR_(); print "bar"; rtrue; -V ( default--disable with -~V ) -V enables "varying strings", which are documented in the accompanying file "varying.txt". Most printed strings will compile normally, but strings which contain a '{' are interpreted as containing lists of substrings such as "{one|two|three}" which are chosen between according to one of several user-selected rules. -~V causes the compiler to treat strings containing '{' in the normal fashion.