MTFI 1.21: Language Notes

This program should work exactly as the FUNGE-97 SPEC (not the 'Befunge-
97 working document', which includes some extra stuff), the BEFUNGE-96
SPEC and the BEFUNGE-93 SPEC say, but note that the Funge-97 and
Befunge-96 spec aren't quite complete; I have arbitrarily chosen to deal
with the dark corners that I found in the following ways:

Funge-97:

T does *not* copy the parent's files; it gives the new thread stdin and
stdout instead.

F kills the thread on failure.  The spec doesn't really say what to do
if F fails, and F doesn't return a value.  It seems really silly to me
to kill the whole program, and it also seemed silly to completely,
blithely ignore the error, and those were the other two ideas for the
now-defunct error-handling directives.

r is independent of invertmode and queuemode.

If =o is used in an =i'ed file, the =o overrides anything in the =i.

No extra spaces are allowed after the end of a Befunge-97 directive.

It is impossible to use =d or =r on ' '.  This is because =d'ing ' '
would be fairly disasterous, and =r'ing it is just pointless.

Befunge-96:

All of the directives are position-dependant.  Thus, ;$R only remaps
characters after the ;$R (and subsequent ;$Rs can change the mapping
back).  ;$I acts pretty much exactly like Funge-97's =i: it doesn't
actually load any whitespace it finds in the file, so spaces are
treated transparently.  This applies to general loading as well.
Position-sensitivity does not affect ;$C.

As with Funge-97, no extra spaces are allowed after the end of a
directive.

;$A is unimplemented, and I plan to never implement it.  Even the spec
says don't use it.

If you wrap in stringmode, the result is undefined.

Questions, comments, and bugs should be addressed to Ben Olmstead
<bem@mad.scientist.com>.
