Newsgroups: rec.arts.int-fiction
Path: gmd.de!Germany.EU.net!mcsun!uknet!pavo.csi.cam.ac.uk!gdr11
From: gdr11@cl.cam.ac.uk (Graham Nelson)
Subject: A little further news of Inform
Message-ID: <1993May18.224553.18665@infodev.cam.ac.uk>
Sender: gdr11@cl.cam.ac.uk (G.D. Rees)
Nntp-Posting-Host: hall.cl.cam.ac.uk
Reply-To: gan10@phx.cam.ac.uk
Organization: U of Cambridge Computer Lab, UK
Date: Tue, 18 May 1993 22:45:53 GMT
Lines: 39

[Graham asked me to post this for him as his posting software
currently does not distribute his articles correctly - gdr]

-------------------------------------------------------------------------
                   A little further news of Inform
-------------------------------------------------------------------------

Quite a number of people seem to be experimenting with Inform now, so it
may be of interest that an updated second release will come soon.
 
As Gareth Rees has pointed out, the original eats memory like an X
application and assumes integers to be 32 bits; it also assumes an ASCII
character set.  The last two points are being worked on.  Memory management
has been rewritten properly (well, fairly properly) so that Inform will now
come with compiler options which allocate about 80K instead of 800K, and
have very much smaller arrays; though it will need to use temporary files
of about 120K at most in the process.  This ought to make it small enough
to run on less, ahem, spacious machines than my own.
 
It seems unlikely that the memory consumption can be got down much further.
Version 3 game files are a web of internal cross-references.
 
If you are currently playing with Inform, please don't stop: comments on
compiling difficulties are useful, and anyway the new version will compile
the same language as the old.
 
Two small difficulties which may be worth knowing about for now:
 
Inform uses the ANSI C library call strtoul, which converts a string to a
number in a given base (it uses 2, 10 and 16); this is in ANSI stdlib, but
apparently some lax compilers don't have it.
Also, there is a minor bug: in the middle of the code there is one
#ifdef ARCHIMEDES
(the only #ifdef in the body of the code) whose #endif is slightly misplaced;
it should be after the call to system(), not before.  This is easy to correct
and will be so corrected in the upcoming version.

-- 
Graham Nelson <gan10@phx.cam.ac.uk>
