-- 1.1.0
	-- This is converges the Win32/Microsoft and the Linux/Solaris worlds.
		Not many changes outstanding for Mac OSX.   64 bit Solaris
		and Linux sould be working correctly now.  Updated copyright 
		notices from NAG to Aldor.org.

		The big gap in the log should be updated.

						(SMW, 31 Aug 2007)

-- 1.0.-1 (11)
	-- Fixed symeMergeImpl() to deal with two bug("Unhandled Merge")
		cases that weren't implemented previously. This deals with
		a problem discovered when building libagebra at -Q5.
						(MND, 29 Sep 2001)

-- 1.0.-1 (10)
	-- Improved gc0TryCast and fixed gc0NeedBothCasts to stop the native
		HP-UX C compiler complaining about implicit integer/pointer
		conversions.
						(MND, 27 Sep 2001)

-- 1.0.-1 (9)
	-- HP-UX port: added missing "local" qualifiers. Fixed uniar2.c so
		that it compiles (needed _INCLUDE_POSIX_SOURCE and includes
		re-ordered. Must change tools/port/txt2txt.c into K&R C.
		Changed lib/libaxllib/mndWrite.c into K&R C. Added an HP-UX
		entry to doccjr.
						(MND, 27 Sep 2001)

-- 1.0.-1 (8)
	-- Alpha/OSF port: changed tpossRefer(abTPoss()) to abReferTPoss() in
		tiupExcept(). Added missing "if (foamTag(foam)==FOAM_SInt)" to
		1.1.13(30) code: previously the 64bit->32bit conversion was
		being applied to the first 64bits of every piece of FOAM!
		Changed several regression tests to use docc instead of gcc.
						(MND, 25 Sep 2001)

-- 1.0.-1 (7)
	-- Many edits to get clean compile during Alpha port (Linux + OSF).  
		A few additional edits to get Sun port.  
		Most related to int/long discrepancies, int/ptr casts,
		uninitialized variables.  Cleaned up logic in platform.h.
		Converted most %x formats to %p.  Added default case for
		unknown platform in foam_cfp.c (Alpha linux).  Not all edits
		are conditionalized as EDIT_1_0_n1_07 -- some initializations
		and some casts inside debugging macro arguments either were
		not conditional to begin with or had the #if-s removed for
		portability.   Fixed storage allocation bug (hunks*sizeof(long))
		and merged Martin's fixes for int folding on 64-bits.
		Modified .ax extensions under lib/libax0 to be .ap.
		Modified Makefiles to use ALDORROOT more.
		Modified makeon to create a "make" which just calls gmake on
		platforms which need it.
		Added libalgebra to lib tree.
		Replaced UserGuide with updated version (still needs tweaks.
		Modified platform.h/aldor.conf to have different options for
		Alpha Linux: -mieee-fp doesn't exist.
		docc instead of gcc in test/rawrec5.sh.
		Removed -Wno-format argument for gcc in docc.
		Filled in the ??? in the Authors file.
						(SMW, 18-30 Sep 2001)

-- 1.0.-1 (6)
	-- Disabled AxiomXL 1.1.13(18) edit because it breaks Basicmath. We
		end up generating the same name and type hash code for exports
		such as +: (R, %) -> % and +: (%, %) from
		DenseUnivariatePolynomial(DUP(ModularField(SI,22469))) where
		DUP ==> OuterDenseUnivariatePolynomial. To detect this kind
		of problem (hash code collisions) there is a new developer
		option -Wruntime-hashcheck. This will add code to level 1 of
		domains to check for hash code collisions. Simply compile
		code with this option and then run code that forces traced
		domains to be loaded (e.g. use an export without inlining).
						(MND, 12 Sep 2001)

-- 1.0.-1 (5)
	-- Fixed bugs 1324 and 1325: we were failing to embed multis into
		cross products for collect expressions. Added tfFollow() to
		tibupCollect() and tfSatEmbedType() to titndCollect().
						(MND, 07 Sep 2001)

-- 1.0.-1 (4)
	-- Added colour to compiler error messages. See doc/DevNotes/Colour
		for details. Otherwise define the environment variable
		$ALDOR_ANSI_COLOURS (or $ALDOR_ANSI_COLORS) if you are using
		an ANSI terminal (probably). If you are using an HP terminal
		then define $ALDOR_HP_COLOURS instead (or $ALDOR_HP_COLORS).
		Advanced users should read $ALDORROOT/include/sample.terminfo.
						(MND, 06 Sep 2001)

-- 1.0.-1 (3)
	-- Replaced AxiomXL 1.1.12p6(1) assertions with comsgFatal. Added a
		new error message ALDOR_F_BugNoBoolean.
						(MND, 03 Sep 2001)

-- 1.0.-1 (2)
	-- Replaced AXL_ comsg tags throughout the whole distribution with
		ALDOR_ (leaving AXL_EDIT alone).
						(MND, 15 Aug 2001)

-- 1.0.-1 (1)
	-- Updated comsgdb.msg; added -Fap with support for .ap files. Made
		-Fax and .ax files obsolete with a warning message. The -gloop
		banner is now AXL_M_GloopBanner.
						(MND, 15 Aug 2001)

-- 1.0.-1 (0)
	-- This is AxiomXL 1.1.13(37) renamed to Aldor 1.0.-1(0). A number
		of edits enclosed in #ifdef have been made permanent and
		their #ifdef removed.
						(MND, 14 Aug 2001)

==============================================================================
Change in version numbering ready for aldor.org: we start with 1.0rc0 which
has build number 1.0.-1 and edit level 0. The first official release planned
for late 2001 will be Aldor 1.0 with build number 1.0.0. For clarity we will
refer to the old compiler as AxiomXL 1.1.13 and the new as Aldor 1.0.-1 etc.
==============================================================================

-- 1.1.13 (37)
	-- Fixed the bug which caused us to complain that -Fmain would
		clobber an existing aldormain.c file yet allow emitCleanup
		to delete that file.
						(MND, 14 Aug 2001)

-- 1.1.13 (36)
	-- Changed axiomxl to aldor, $AXIOMXL* to $ALDOR* etc throughout the
		whole compiler distribution. Added libaldor, libaldorX11 and
		built xmandel against libaldorX11. Changed -Faxlmain to -Fmain
		with axlmain.c called aldormain.c.
						(MND, 13 Aug 2001)

-- 1.1.13 (35)
	-- Changed axiomxl to aldor everywhere that matters (comsgdb mainly).
						(MND, 12 Aug 2001)

-- 1.1.13 (34)
	-- The code in abnDefine that adds "with" to the types of definitions
		that have an "add" on the RHS has been turned into a warning.
		This fixes several bugs such as bug 1321 and undoes the fix
		made in 1.1.12p3. Unfortunately it also causes some nastier
		bugs to reappear so this edit has been disabled.
						(MND, 25 Jul 2001)

-- 1.1.13 (33)
	-- Fixed gen0MultiAssign so that it applies gen0SymeInit() to export
		symes. This fixes bug 1318 where (a:T, b:T) == (t1, t2) would
		choke older versions of the compiler or generate an internal
		error (see edit 1.1.13(2)).
						(MND, 25 Jul 2001)

-- 1.1.13 (32)
	-- Added a check for attempts to apply embeddings to values that are
		restricted to a particular type (e.g. 1@Tuple(SI)). At the
		moment the compiler cannot handle the embedding as the result
		type of @ hides the type of the original expression. See the
		definition and use of tfCheckBug1318 in tfsat.c.
						(MND, 17 Jul 2001)

-- 1.1.13 (31)
	-- Defined fiArrNew_{Nil,Rec,Arr,Arb,RRec,TR,BInt,Clos} so that we
		can get (packed) arrays of Nil, BInt etc.
						(MND, 17 Jul 2001)

[ Jul 02-06   MND visit to NAG ]

-- 1.1.13 (30)
	-- Flattening of large (>31 bit) integer literals into FOAM buffers
		has been rewritten (to fix bug 1316).
						(MND, 28 Jun 2001)

-- 1.1.13 (29)
	-- Uniar2 no longer chokes on UCB archives containing symbols tables.
		It will preserve the symbol table, if present, but will not
		allow any operations to be performed on them. Nor will it
		update the symbol table: use ranlib.
						(MND, 09 Jun 2001)

-- 1.1.13 (28)
	-- Defined fiArrNew_Ptr so that we can get (packed) arrays of Ptr.
						(MND, 09 Jun 2001)

-- 1.1.13 (27)
	-- Fix for gen0CSigFormatNumber() to cope with imported C functions
		returning multiple values. If this ever breaks, suggest use
		of -Cold as a workaround.
	-- Updated gc0IdCDecl() so that foreign import prototypes get names
		for each parameter. This means that ccoPrParam can ignore
		them when generating K&R C.
						(MND, 08 Jun 2001)

-- 1.1.13 (26)
	-- Added -Mno-release/-Mrelease so that we can disable the printing
		of release details. This prevents "make test" from throwing
		up lots of differences that are irrelevent.
						(MND, 07 Jun 2001)

-- 1.1.13 (25)
	-- Updated platform.h to detect Linux glibc 2.2 through to glibc 2.6.
		An unrecognised Linux glibc will not cause CONFIG/CONFIGSYS
		to be set to "generic platform"/"unknown".
	-- Updated platform.h to auto-detect GCC 2.96 (the severely broken
		version of GCC shipped with RH 7.0).
	-- Updated axiomxl.conf to turn off -ffloat-store when compiling with
		GCC 2.96.
	-- $AXIOMXLROOT/bin/platform can be used to display the values of
		CONFIG and CONFIGSYS used to build the compiler.
						(MND, 07 Jun 2001)


-- 1.1.13 (24)
	-- Finished phase 1 of uniar2 (full support for AIX and UCB
		archives including replace/delete/print) and fixed
		the archive handling code in the compiler for AIX,
		AIXbig, UCB and CMS.
						(MND, 06 Jun 2001)

-- 1.1.13 (23)
	-- Fixed libaxllib/format.as to use StoIsWritable from Builtin
		rather than stoWritablePointer from Foreign. The latter
		cannot and must not be accessed from the interpreter.
						(MND, 25 May 2001)

-- 1.1.13 (22)
	-- Startup banner for the interpreter.
						(MND, 07 May 2001)

-- 1.1.13 (21)
	-- Fixed bug in gen0RtRand() which caused it to generate hash
		codes that were either 65536 or 0 (mostly the former).
						(MND, 03 April 2001)

[ Mar 05-09   MND visit to NAG ]

-- 1.1.13 (20)
	-- Updated tiTfCategory1() to deal with add expressions which
		do not have definitions on the rhs. AXLUG implies that
		the RHS of an add is a sequence of definitions. However,
		if changes were made to gen0DefTypeSequence or perhaps
		to gen0AddBody1 then add expressions could have domain
		valued identifiers etc on the RHS (see bug1274). This
		edit ought to remain disabled for now.
						(MND, 16 February 2001)

-- 1.1.13 (19)
	-- Rewrote scobindMatchParam() from scratch to fix bug 1275.
						(MND, 15 January 2001)

[ Jan 15-19   MND visit to NAG ]

-- 1.1.13 (18)
	-- Changed the way that we generate hash codes for types. We
	   now fold in a random factor based on the type of the tform.
	   For maps we fold in the factor between combining the hash
	   for the return types with the hash of the argument types.
	   For all other types we fold it in at the start. This fixes
	   the problem where types such as X->Y and (X,Y)->() had the
	   same hash code (bugs 1188, 1260 and 1272). Note that this
	   will almost certainly break the AXIOM interface ... if it
	   does then we need to check for -DAXIOM or something.
						(MND, 13 January 2001)

-- 1.1.13 (17)
	-- InitBasicTypesArray() uses compRootDir from axlcomp.c rather
	   than computing its own version and getting it wrong.
						(MND, 9 January 2001)

-- 1.1.13 (16)
	-- Compiler (and unicl) prefer $ALDORARGS to $AXIOMXLARGS.
						(MND, 9 January 2001)

-- 1.1.13 (15)
	-- Compiler (and unicl) prefer $ALDORROOT to $AXIOMXLROOT.
						(MND, 9 January 2001)

-- 1.1.13 (14)
	-- Compiler (and unicl) prefer aldor.conf to axiomxl.conf.
						(MND, 9 January 2001)

-- 1.1.13 (13)
	-- Error messages now use "throw" instead of "except".
						(MND, 9 January 2001)

-- 1.1.13 (12)
	-- -M base=<dir> causes the error messaging system to strip <dir>
	   prefix from any filenames displayed. Updated testaxl.c so that
	   this option is used for executable and interpreter tests. Now
	   we don't get user-specific path names in error messages which
	   obscure the test results.
						(MND, 9 January 2001)

-- 1.1.13 (11)
	-- abPPClipped0 adds () in more places so that types involving
	   multi's are displayed correctly (fixes bug 1291).
						(MND, 2 January 2001)

-- 1.1.13 (10)
	-- tfSatExcept now uses category of exception in tfSat() rather
	   than the exception itself. This is because exception types
	   use Tuple(Category) while exceptions throw domains (fixes
	   bug 1287).
						(MND, 2 January 2001)

-- 1.1.13 (9)
	-- tfMapRetc now ignores exceptions (fixes bug 1286).
						(MND, 2 January 2001)

-- 1.1.13 (8)
	-- rewrote osAlloc and osMemMap() for Win32 to fix Win98 bugs.
	-- added Win32-specific code to store.c to get around a Win98 bug.
						(MND, 4 December 2000)

[ Nov 13-17   MND visit to NAG ]

-- 1.1.13 (7)
	-- added missing tpossRefer() to titdn(): fixes bug 1285.
						(MND, 10 November 2000)

-- 1.1.13 (6)
	-- except/throw is not a follower now and is maybe infix (bug 1279)
						(MND, 9 November 2000)

-- 1.1.13 (5)
	-- tfHasDomExportMod() and tfImplicitExport have a minor tweak: 
		this was actually applied back in September ...
						(MND, 29 October 2000)

-- 1.1.13 (4)
	-- abDefineeIdOrElse raises a bugWarning() if given a multi with
		more than one argument.
						(MND, 29 October 2000)

-- 1.1.13 (3)
	-- introduced gc0TryCast() as an attempt to reduce the number of
		silly casts that we generate in the C output. Not entirely
		successful - what we really need is for genfoam and optfoam
		to ensure that FOAM trees are completely type correct.
						(MND, 13 October 2000)

-- 1.1.13 (2)
	-- gen0TypeAddExportSlot() now uses comsgFatal() to tell the user
		about a compiler bug rather then hoping to catch it via
		assert() when -Wcheck is used (needs a debugging compiler)
		or waiting until a segfault occurs.
						(MND, 13 October 2000)

-- 1.1.13 (1)
	-- gen0FixDummy now creates an initialiser for export symes which
		have not been initialised, and no longer complains about
		getting non-domain and non-category objects. In addition,
		dgAbGetUsedSymes() now handles multi-definitions such as
		"(A, B, C) == explode triple" correctly. Fixes bug 1261.

						(MND, 13 October 2000)


-- 1.1.13 (0)
	-- better C generation for pedantic compilers (e.g. IRIX)
						(TTT, 09 October 2000)

[ New release to go with AXIOM 2.3]

-- 1.1.12p6 (25)
	-- replaced edit 15 for extensions as in edit 24.
						(MND, 07 October 2000)

-- 1.1.12p6 (24)
	-- replaced edit 15 for normal lambdas and fixed a bug in hfold
		that replaced PRef's on the lhs of a set.
						(MND, 07 October 2000)

-- 1.1.12p6 (23)
	-- gen0TempValueMode() creates a pointer local if asked for a
		generic array temporary. This stops us ending up with
		(HInt*) pointers simply because the integer values of
		FOAM_HInt and emptyFormatSlot are the same.
						(MND, 03 October 2000)

-- 1.1.12p6 (22)
	-- we now generate full declarations for functions imported from
		Foreign(C). This fixes bug 1226 and ought to help with
		very picky ANSI compilers.
						(MND, 03 October 2000)

-- 1.1.12p6 (21)
	-- fixed bugs in titdnLambda(), titdnGenerate() and titdnReference()
		which caused Xlibrary.as to segfault following recent
		changes to the definition of PrimitiveArray. Note that all
		titdn functions must never set abTUnique() on their absyn
		unless they are returning true.
						(MND, 02 October 2000)

-- 1.1.12p6 (20)
	-- fixed bputBadArgType0() so that if a tfUnknown is found then
		it doesn't try viewing it as a multi and extracting any
		types from it. This stops bug 1210 segfaulting although
		the error message that we now see is slightly confusing.
						(MND, 02 October 2000)

-- 1.1.12p6 (19)
	-- changed definition of FiByte, fiByteMin() and fiByteMax() so
		that XByte really is an unsigned byte (fixes bug 1237).
						(MND, 02 October 2000)

-- 1.1.12p6 (18)
	-- added missing goto statements in the interpreter for the casts
		FiWord <-> FiSInt. This fixes bug 1235.
						(MND, 02 October 2000)

-- 1.1.12p6 (17)
	-- gen0Lambda no longer passes symes to recursive gen0Lambda calls
		because this is invalid for curried domains. It meant that
		the hash for Foo(A), Foo(A)(B), Foo(A)(B)(C) etc were all
		the same. This fixes bugs 1072 and 892.
						(MND, 30 September 2000)

-- 1.1.12p6 (16)
	-- turned off garbage collection debugging output when -V is on.
	-- turned ffold on for -Q2 rather than for -Q5. This is the result
		of discussions as the UKQCD meeting where it was felt that
		if people really care about floating-point behaviour then
		they will read the manual and will use -Qno-ffold. Those
		who don't care will appreciate the speed-up it may give.
						(MND, 29 September 2000)

-- 1.1.12p6 (15)
	-- fixed the bug which caused us to create a closure, set its
		hash code and then create another closure. We meant to
		create one closure, set its hash code and then use that
		closure for the rest of the environment initialisation.
						(MND, 29 September 2000)

-- 1.1.12p6 (14)
	-- removed the optimisation in gen0RtSefoHashStdApply() which
		caused the wrong object to be queried for hash codes.
						(MND, 27 September 2000)

[ Sep 25-28  MND, SMW, ADK, MCD meet at UKQCD Workshop, Edinburgh]

-- 1.1.12p6 (13)
	-- fixed bug in terrorImplicitSetBang() which caused us to follow
		a NULL pointer.
						(MND, 13 September 2000)

-- 1.1.12p6 (12)
	-- garbage collection is now on by default (-Wgc). This can be
		disabled via -Wno-gc. When someone has more time they
		ought to track down any the memory wastage.
						(MND, 13 September 2000)

-- 1.1.12p6 (11)
	-- deada now enables cse, jflow and cprop after any change is
		made to a flog. This is necessary because after killing
		dead assignments, the flow graph may be simplified and
		new opportunities for jflow etc may be identified. These
		may lead to new dead assignments etc.
						(MND, 13 September 2000)

[ Sep 11-15   MND visit to NAG ]

-- 1.1.12p6 (10)
	-- added AIX 4 big archive code
        -- fixed -cold c-generation bug
        -- fixed foam_cfp.c IEEE platform-specific code for HP/UX 11
        -- axiomxl.conf updates to suppress warnings
                                                (TTT, 07 September 2000)

-- 1.1.12p6 (9)
	-- fixed bug 1250: hash$Integer didn't update loop index "i".
						(MND, 05 September 2000)

-- 1.1.12p6 (8)
	-- fixed bug 1246: abCheckWithin() now generates an error if bad
		forms are found in with bodies. Note that this behaviour
		is not strictly correct since Aldor permits constants to
		be defined in with bodies.
						(MND, 05 September 2000)

-- 1.1.12p6 (7)
	-- fixed bugs 1238 and 1239: tibupComma must not try to create
		definitions for terms that have no meaning. Also seems
		to fix the segfault with bug 1242.
						(MND, 05 September 2000)

-- 1.1.12p6 (6)
	-- fixed the inliner/inheritence bug again: we only transfer
		implementation details to category symes once. We now
		symeTransferImplInfo() instead of setting the definition
		and constant numbers directly. This fixes bug 1200 and
		allows implicit exports generated by the compiler for
		domains satisfying DenseStorageCategory to be inlined.
	-- we no longer inline from defaults. This will be a killer
		for domains that use defaults for simple operations such
		as ~=. However, we now get correct behaviour for inlining
		defaults and can hopefully solve this problem later.
	-- note that bug 1096 is still outstanding so the semantics of
		defaults is not correct (but is self-consistent).
	-- also fixed bug 1247 although note that limitations in the type
		inference engine prevents us from creating a domain that
		satisfies say FooCategory(SingleInteger, BasicType). We
		pick up SingleInteger but don't subst Cat +-> BasicType.
						(MND, 05 September 2000)

-- 1.1.12p6 (5)
	-- fixed bug 1242: tiTfCategory1 forgot to see if it didn't have
		a tfu before it freed tfu->extension.
						(MND, 05 September 2000)

-- 1.1.12p6 (4)
	-- my fix for the inlining of inherited and implicit exports breaks
		other things and causes segfaults when building BL/BM. The
		main problem is the call to tfMangleDomExports() which seems
		to drag in cascaded exports and use their implementation
		details instead of the correct exports..
	-- my fix for bugs 1203 and 1232 has been causing arith/partperm.as
		to take far too long to compile and require far too much
		RAM (perhaps hours, perhaps gigabytes). It seems that an
		InlProgCutOff of 100K was too large. Fixed this by providing
		users with -Qinline-size=NN where NN is normally a small
		number between 10 (-Q2) and 40 (-Q4). Users can choose larger
		numbers but must pay the price for longer compilation times.
		Note that NN=20 is equivalent to InlProgCutOff == 2000.
						(MND, 05 September 2000)

-- 1.1.12p6 (3)
	-- fixed the inlining of inherited and implicit exports. We can now
		inline operations inherited from domains. In fact, a call to
		an operation from Foo which is inherited from Bar will be
		compiled as a call directly to the export from Bar. That is,
		inheritence is resolved at compile time. Inlining of default
		operations seems not to work now. This fixes bug 1200.
						(MND, 23 August 2000)

-- 1.1.12p6 (2)
	-- multiplied InlProgCutOff and InlFlogCutOff by a factor of 1000
		to fix problems with poor optimisation. A side-effect of
		this is that we often get _smaller_ programs as a result
		of more inlining! Users can change the InlProgCutOff limit
		via -Qinline-limit=N. This fixes bugs 1203 and 1232.
						(MND, 16 August 2000)

-- 1.1.12p6 (1)
	-- added assertions that (tfBoolean != tfUnknown) everywhere that
		tfBoolean is used. This is to reduce the chance that this
		tform is used before it has been initialised to the tform
		from the library. Unfortunately the AXIOM-generated .ax
		files for libaxiom are missing "import from Boolean" and
		these have to be added manually at present. Unless -Wcheck
		is used and -DNDEBUG was not used, these assertion checks
		will be ignored and user programs may segfault. Later we
		need to replace the assertions with meaningful errors.
						(MND, 15 August 2000)

-- 1.1.12p6 (0)
	-- Introduced edit numbers: these ought to increment every time a
		change is made to the compiler and provide a more precise
		way of comparing compiler versions and changes. The edit
		number ought to reset with new patch levels. Ideally each
		edit ought to be marked in the source and enabled/disabled
		by changing definitions in src/editlevels.h. After an edit
		has been declared stable the #if stuff can be removed.
						(MND, August 2000)

[ Aug 5-10   MCD, SMW, MND, MMM, MB, ADK, SJT, YC at ISSAC 2000, St Andrews]

-- 1.1.12p6
	-- fixed bugs 987, 988, 1015, 1038 and 1039
	-- cleaned source so that it passes -Wall and badzeros
	-- non-lazy constants:
		- use-before-definition is now an error unless they are
		  in an add-body.
	-- fixed bug 1162:
		- output-name-sep must be `true' for Linux/GCC
		- probably ought to be `true' for all GCC compilers
	-- config file handling:
		- cfgfile.c can now read repeated keys in a section
		- compiler and unicl now handle repeated `inherit' keys
		- cfgRead() notes all repeated keys found (except `inherit')
		- compiler emits messages found by cfgRead() as warnings
	-- fixed bug 1055: dgSeqToDefs() doesn't permute definitions now
	-- improved code generation of non-lazy exports:
		- local map def-group removed
		- local attribute ignored for def-group creation (so that
		  simple local maps go in DG_GROUP_SIMPLE_MAP etc.)
		- non-definitions placed into their own special group
		- non-lazy constants (DG_GROUP_OTHER_JUNK) are now sorted
		  by analysing their dependencies; unsatisfiable dependencies
		  generate warnings (not errors because the code is young)
		- this fixes bug 1087
	-- fixed bug 1090: new def-group for local maps (see gf_seq.c)
						(MND, July 2000)

[ Jun 19-21   MND visit to NAG ]

	-- implNewLocal() now passes the correct value to implNew()
	-- fixed bug 1127:
		- titdnId() checks conditions instead of titdn0ApplyFType()
		- BUG: stabGetTypes() returns conditional symbols that
		  were placed in the unconditional slot by scobind. The
		  trouble is that scobind doesn't know any better.
	-- fixed bug 1172:
		- gen0DefTypeCond() tracks if-conditions
		- genDefine() now handles conditional defs properly
		- gen0MakeCatParentsIf() also tracks if-conditions
		- gen0FindUncondSymes() now deals with implicit symes
		- genSetConstNum() ignores multi-arm conditional symes
	-- fixed bugs 969, 1121, 1170 and 1212:
		- category defaults test for exports before forcing them
	-- developer option -Wtrace-cfuns
		- each compiler-generated C function prints its name
		  on entry at runtime; handy for tracing domain inits.
						(MND, 16 June 2000)

[ Jun 02   MCD visit to St Andrews]

	-- backward-compability option -Wno-keyword=<name>:
		- keyword <name> is no longer treated as a keyword
		- useful for old files (e.g. ref is now a keyword)
	-- fixed bug 1144:
		- titdnGenerate() now handles errors in generate bodies
	-- recent changes have also fixed bug 852
	-- fixed bug 941:
		- redefining macros in the same same generate warnings
		- ditto if defining a macro to hide one in an outer scope
		- macro definitions in the interpreter are unscoped ...
	-- fixed bugs 1179 and 1192:
		- stabImportFrom() only uses stabFile() if the absyn
		  doesn't have associated source-code. Otherwise we
		  end up polluting the top-level stab with things that
		  aren't visible in that scope.
	-- fixed bug 1215:
		- error if non-void function has return with no value
		- warning if void-function has return with a value
	-- select statements:
		- abExpandDefs() is less eager now (fixes bug 1214)
		- fixed genSelect() to allow omission of default case
						(MND, 2 June 2000)


	-- fixed interpreter bug: foreign function calls generate sane
		error messages if the function is unknown or unimplemented
	-- new support for Aldor debugging:
		- switch -Wdebugger behaves like -Wdebug
		- runtime exports multiple debug fns not just one
		- libdebuglib provides a simple interactive debugger
		- call tracing, single-stepping, breakpoints etc
	-- fixed subtle scoping bug (#1204) in tibupFor() and titdnFor()
	-- fixed numerous bugs in handling `ar' archives:
		- long name support now works (fixes bug 1213)
	-- new debugging functions:
		- spstackPrintDb() displays source code positions
		- abDumpPosition() does the same using any absyn
	-- GC_FRUGAL env-var enables different GC headroom calculation
		- uses total free space not free pages
		- need to alter headroom fraction from 30% to 70%
		- tends to increase #GCs but reduces heap sizes
	-- foamRec values now created by fi0RecAlloc
		- enables allocs to be traced under gprof more easily
	-- unicl now calls osInit()
	-- added jflowFlipNegates() to reduce repeated tests:
		- allows tests to be lifted during inlining
	-- GC census taking now works for the compiler itself:
		- `export GC_DETAIL=census axiomxl -Fao foo.as'
	-- fixed emerger bug that missed EElt/Lex aliases
	-- runtime.as can now use arbitrary-sized domain caches
	-- inliner/importer fixes:
		- stabImportFrom() now uses tfDefineeBaseType()
		- importing from A given `A == B' now imports from B
		- this breaks test/domain2.as (not too important)
		- tfCopyQueries() checks for duplicates
		- switch -Wdumb-import disables this
						(MND, 12 May 2000)


	-- tfCatHasImplicit() now uses tfSatBit() not tfSatisfies()
	-- stopped the emerger breaking multi-valued try-blocks
	-- fixed interpreter-exception-handler bug: fintCurrentFormat
		is now protected when an exception is thrown
	-- added "census" option to GC_DETAIL
		- counts/sizes of store objects before/after GC
		- tabulated by object type
		- works for stand-alone code only
	-- genc stores raw record formats in globals if possible
	-- increased the size of Builtin tags from 8 bits to 16
	-- import from Foreign/Builtin can use any category value:
		- e.g. `import FileOps from Foreign' now works
		- can now define categories describing Foreign/Builtin
		- handy for foreign library interfaces (e.g. NAG library)
	-- inlTransformExpr(): reduced aliasing for closures whose
		env is (Env 0) and which are stored in (Env 0); may
		give the emerger a sporting chance
	-- Aldor/f77 interface:
		- subroutines (i.e. not FUNCTIONs) can be imported
		- passing imported f77 fns to f77 is broken
		- we don't use static if splitting C files
	-- fixed inliner bug 1193: always create local for parameters
		even if they are only used once (they might be a lex).
						(MND, 31 March 2000)

[ Feb 21-25   MND visit to NAG ]

	-- abnWith() moves Category-valued expressions into a Join()
	-- added raw-record support
		- RawRecord() constructor behaves just like Record()
		- types of fields must satisfy DenseStorageCategory
		- explode!() not implemented yet
		- DenseStorageCategory declares more exports now
		- fiRawRecordValues() converts multi of field sizes
			into a C array of field offsets at runtime
		- of_rrfmt.c optimises (emerges) raw records
		- ought to update std emerger to work in similar way
		- performance equivalent to Record() if you're lucky
	-- now assert and do may only be used in non-void contexts
	-- changes to FOAM instructions:
		- EInfo has been moved into its correct position
		- added instructions for 8, 16, 32, 64 and 128 bit ints
		- added raw-record instructions RRNew, RRec, RRElt, RRFmt
	-- try-blocks can now return multis
						(MND, 18 February 2000)


-- 1.1.12p5
	-- automatic conversion of arrays for Aldor/f77 interface
	-- started Aldor/LIP interface (aka Aldor/GMP)
	-- optimised stoAlloc() to use division-by-table-lookup
	-- created libfoamlib: a cut-down version of Axllib specifically
		for compiling runtime.as against. This allows Axllib and
		future replacements to be created without affecting the
		semantics and stability of runtime.
	-- exposed some GC/store manager functions to Builtin
	-- doaxiomxl now generates correct exit codes
	-- added Stanford Mix (Hennessey) benchmark suite
	-- hack to fix the where-bug
		- code generator looks for top-level defines not wheres
		- the hack uses abnWhere to change the scope of where
		  blocks after macro expansion
						(MND, 10 December 1999)

[ Oct 25-29   MND visit to NAG ]

	-- interpreter can dump a stack trace on exception throw
	-- GC now supports two kinds of user-defined tracers
		- stoSetAldorTracer() registers Aldor fn
		- stoSetTracer() registers a C-based tracer
		- might be handy for interoperability
		- self-tracing Aldor domains slow GC
	-- fixed bug 880 so that assignments of void-values is an error
		- tibupAssign() filters out () types from the tposs
		- tibupDefine() does the same a little more carefully
	-- syntax error reporting improved to explain error
	-- FOAM machine now supports radix integers
		- fixed bugs in scanNumber()
		- taught the bignum scanner about other bases
		- this fixes bug 872
		- only support bases [2-36]
	-- radix integers 0 and 1 are now the same as the symbols 0 and 1
	-- added compiler warning AXL_W_GenDomFunNotConst
		- generated when defining domain-valued functions
		- they don't work if used to build dependent-types
		  because we cannot compute a constant hash for them
	-- GC debugging: the GC_DETAIL env-var can now take arguments
		- try `GC_DETAIL=show ./myprog' for help
		- stoShowArgs() and stoShowDetail() for details
	-- experimental stack-frame washing (-Qcstack)
		- see gc0CleanStackFrame() for details
		- no significant benefit
	-- experimental blacklisting code
		- no significant benefit
	-- experimental pointer crushing code (-Qkillp)
		- called from gc0Prog() to stop optimiser interfering
		- killProgPointers() does the work
		- some benefit but not enough to be worth it
	-- arReadString now handles cases where EOF reached before EOL
	-- fixed bug 1154: ? is no longer special ("Bob's experiments")
						(MND, 22 October 1999)

[ Sep 13-17   MND visit to NAG ]

	-- GC debugging: if GC_CLASSIFY environment variable is set
		then pointer classification tables are emitted on a GC
	-- fixed interpreter max$DoubleFloat bug; DFlo exports are
		cast to Word but FOAM_Cast in the interpreter wasn't
		unboxing correctly
	-- tfDefineeType() checks for circular definitions by recording
		all the types seen so far during expansion
	-- implicit export symes (implementation is compiler-generated);
		- tiAddSymes() decides which are symes implicit
		- gen0DefTypeSequence() handles code generation
		- gen0ImplicitExport() does the dirty work
		- FIXME: can't inline compiler-generated implicits yet
	-- ran out of syme bits => added the SYFI_ExtraBits field
	-- tfSat() and tfSatEmbedType() allow delta-equality of Cross/Tuples
		- `MyCross == Cross(SI, SI)' allows MyCross values to be
		  used whenever Cross(SI, SI) values are expected
		- `MyMulti == (SI, SI)' doesn't work yet
		- `MyMap   == () -> SI' doesn't work either
	-- fixed bug 1165: crucial line in otAddVarInfoToNotLocalVar()
		had been commented out
	-- gen0Type() now makes two passes when computing FOAM types
		- second pass uses tfDefineeType()
		- allows `MyDFlo == DFlo' to work correctly
	-- tfDefineeType() normalises tforms for delta-equality tests
		- idea similar to abExpandDefs()
		- careful not to expand too far
		- `Atype == Btype' means Atype and Btype are equivalent
	-- domains satisfying the (magic) category DenseStorageCategory
		must provide three exports (new/get/set!) for supporting
		packed arrays. Now domains can test for this category and
		use the packed operations if appropriate.
	-- noticed that the OCaml compiler produces better assembler
		code than the Linux GNU C 2.8.0 compiler ...
						(MND, 10 September 1999)

[ Jul 08    MMM visit to MND @ St Andrews ]
[ Jul 06    MND, MCD, JHD, ADK, SMW, BMT, MB meeting @ Edinburgh:
            fixed-sized integer types, raw arrays, binary I/O, bignum
            serialisation, debugging, profiling, BL/BM ]


-- 1.1.12p4
	-- config.h checks GLIBC version: the glibc version of memmove()
		is vastly superior to the one in stdc.c
						(MND, 30 June 1999)



-- 1.1.12p3
	-- scobind now prevents ref from being applied to constants
	-- added missing break for AB_Paren case in abPretty()
	-- genIf() now obeys embeddings correctly (see test/ifcross0.as)
	-- abnWith() now merges distinct default bodies into one
	-- abnDefine() inserts missing "with" on LHS if RHS is an "add"
						(MND, 24 June 1999)

[ Jun 21-23  JHD, MND, Manuel Bronstein (MB) meet @ St Andrews ]
[ May 26     MND day-trip to Paris for CFC meeting @ LIP6 ]
[ Apr 28-30  FRISCO meeting @ Oxford: SMW+group, MCD+group, MND ]

	-- added the domain FixedString(N) to Axllib/Basiclib to allow
		strings to be returned from f77 functions; extended the
		Aldor/f77 interface to cope
	-- changed try/but/always/except to try/catch/finally/throw so
		that Aldor follows C++ and Java; the old keywords will
		now generate "deprecated syntax" warnings if used
	-- Aldor/f77: support for complex numbers passed by value and
		by reference; support for characters and strings too
	-- gc0ExportToFortran() now checks FOAM type and FortranType
	-- gen0AddRealFormat() now copes with functions-as-parameters
	-- fixed bugs in foamTagFormat() for computing format lengths
		of foamDecl and foamGDecl nodes, and for deciding
		between using byte or word formats for Lex/RElt etc
	-- can now export Aldor functions to f77 and call import f77
		functions that take (Aldor) functions as arguments
	-- added code generation for `ref': until now the Ref(T) type
		was only used to get call-by-reference in Aldor/f77
						(MND, 5 April 1999)


-- 1.1.12
	-- moved Aldor/f77 code from genc into genfoam: more robust,
		FOAM f/call semantics are preserved, optimiser gets
		to join in the fun, and everyone is happy
	-- fixed Ref() hash bug: updated tformInfoTable[]
						(MND, 14 December 1998)

[ Dec 7-8  MND visit to NAG ]

	-- fixed code that viewed foamPCall structs as foamCCalls
	-- changed fiSIntToSFlo to fix SI/SF coercion bug
	-- fixed various Aldor/f77 data-conversion bugs
	-- fixed pass-by-value and pass-by-reference for Aldor/f77
	-- Fortran I/O initialisation call generated with -CFortran
		- user-controlled from axiomxl.conf
	-- domains satisfying special categories such as FortranDouble 
		have their values automatically converted to/from the
		corresponding f77 values for Aldor/f77 interoperability
	-- added ref keyword to allow Ref(T) values to be created; we
		only type-check `ref' applications: no code generation
	-- added the Ref(T) type for "typed functional pointers"; the
		rep of these values has type () -> (()->T, T->T), i.e.
		a function returning a getter/setter pair.
	-- Aldor can now accept DoubleFloat return values from f77
	-- fixed genAssign() so that RHS of assigns are evaluated once
						(MND, 7 December 1998)


-- 1.1.12pre1
	-- Renamed internally from AXIOM-XL to Aldor
						(TTT, 23 September 1998)

[ Sep 18     MCD, SMW, JHD, MND @ St Andrews: Ref types for A#/f77 ]
[ Sep 14-18  OpenMath meeting @ St Andrews ]

	-- gen0GenerValueFun() fixed to allow record-valued collections
	-- added abExpandDefs() to track values of constants: now
		- `A == R has Foo; if A then ...' is treated just like
		  `A == R has Foo; if R has Foo then ...'
		- ensures that if-tests are normalised
	-- libRepSymes() doesn't print all symes so that -Wd+libRep
		doesn't segfault with partially loaded libraries
	-- forgNew() now initialises protocol table correctly
	-- titdn0ApplyFType() checks side-conditions (for local functions)
						(MND, 23 September 1998)

[ Jul 01    Martin Dunstan (MND) starts ]
[ Jun 05    Pete Broadbery (PAB) leaves ]

-- 1.1.11
	-- gencpp.c: Aldor/C++ code merged in
	-- TrailingArray support
	-- `select' statement support
	-- cfgfile.c: Configuration file stuff
	-- genfoam.c: Treat crosses as records
	-- genc.c, emit.c: Generate standard C.
	-- evaluate handle conditional symes in certain positions
	-- axiomxl.conf: axp profile arguments
	-- ccomp.c: pass -V etc to unicl correctly 
	-- foam_c.h, fint.c: handle fiDFloMantissa,Exponent, etc
	-- os_unix.c: cast sbrk result 
	-- scobind.c: uniqify category constructors
	-- tform.h: tfIfCond: use tfExpr, not tfGetExpr
	-- lib.c: Correct eq. docs problem in lib0GetSymeDocs
						(PAB, June 1998)

[ May 20-22 MND, TTT, PAB, MCD meeting in Oxford ]

-- 1.1.10
	== More exception stuff (see libaxllib/rtexns)
	== now handles +++ comments better
	== More paranoid about foam Array types
	== new unicl
	== small improvements elsewhere
						(PAB, February 1998)

-- 1.1.9
	== libaxllib/except.as: Added some simple exceptions
	== libaxllib/*float*: Added FloatingPointNumberSystem,
		updated domains
	== libaxllib/bpower.as: Changed so that it doesn't try 
		to invert its argument.  Since we may be powering
		a rep type, this is a _bad_ move.
						(PAB, August 1997)

-- 1.1.7
	== ti_bup.c: Handle default bodies as std syntax, not
		a category context.  Ensure that 'ifs' get dealt with.
	== ti_bup.c: Added tuniYieldType so that we can use top-down info
		for generators. 
	== tfsat.c: short-circuit for Records et al in tfSatDom
	== tconst.c: Added abSyn 'id' so that better msgs can be generated
	== tinfer.c: ti{Add, With}Symes: Make attempt at checking 
		categorically imported defns.
	== syme.c: symeListCheckConditions: Split for category and 
		add case (difference is how symes are merged)
	== syme.c: symeUseIdentifier: Ensures that the conditions on
		a syme are true (uses tconsts so that check will happen
		late).
	== syme.c: symeSetLib: New function that respects symeSameLibs
  	== genc.c: handle mutiple value assigns better
	== genc.c: allocate sane amount of space for gcvStmts, and
		check that this doesn't overflow.  Wish unpleasant things on
		previous code.
	== bigint.c, foam_c.c: added support for ix86 double-word operations.
 	== axl.y, ti_*.c, genfoam.c, optfoam: support for assert statements
	== scan.c: scanWord: Warn on silly '_'.
	== gf_imps.c: Generate common lazy getters once.
	== gf_imps.c: Use exported signature for getter, not subst'd version.
	== store.c: Export tweakable parameters
	== store.c: Grow by at least a minimum quantity
	== langx.as: Added 'is' function
	== gener.as: Added useful operations package
	== scobind.c: (scobindDeclareTForm) Uniqify category types
							(PAB May-Aug '96)

	== tform.c: tfGetDomExports; get all meanings for 
		Enumerations, Records, Unions
	== libaxllib/genops.as: new file (generator operations)
	== of_inlin, opttools, etc: use noenvuse flag
	== syme.c: Corrected version of symeSetLib
	== of_deadv.c: Throw out 'obviously daft' EEnsure stmts
	== genc.c: set hdr list to NULL after compilation
	== genc.c: IsNewHdr: use strcpy to copy a string

	== dflow.c: Check for orphaned blocks
	== optimiser: Added foamProgNoEnvUse + symeEnvIndep 
	== lib.c: Better tracking of lazy symes stomped by tinfer
	== genfoam: Added better check for 'where' in gen0GetSymeLexLevel
	== gf_add: Check for commas in top-level + add forms
	== syme.c,tform.c,genfoam,lib.c: Ensure that enumeration 
		symes are special (makes gen0IsEnumLit quicker)
	== syme.c,sefo.c: hashNumber can be treated like constInfo.
	== polycat.as,poly.as,gb.as: PolynomialCat should not have primPart 
		operation. Poly does.
	== tform.c: abGetCategory code for AB_If
	== tform.c: tfGetSymes fn for building symelists from TF_Record, etc.
	== bigint.c:   (uintBit) be careful about long shifts
	== added extests directory for additional test suites (IDM)
							(PAB Jan 16)	

	== Bug fix for circular tfDefine types over sequences.  (tform.c)
	== genlisp:    Axiom wants a value even if there are none returned
	== runtime.as: Check extendees when inheriting, cache built categories
	== genfoam:    Test sequences, ifs for domain-ness
	== gf_add:     gen0RtSefoHash: Non-types always hash to 7.
							(PAB Nov 18)

-- v1-01-5 

	-- Win32 porting fixes:

	-- Combined OS_HasSpecialIo into OS_HasSpecialStreams.
	-- Cleaned up OS_HasSpecialStreams in os_win32.c.
	-- No longer need OS_HasSpecialStreams for Win32 under VC++.
	-- Implemented more correct osCpuTime, osRun for Win32.

	-- Created NMAKE makefiles for the lib directory.
	-- Various other cosmetic lib*/Makefile cleanups.
	-- Implemented x t options for uniar.
	-- Ported uniar, unicl to VC++.
	-- Fixed tab behavior in echon.
	-- Changed command line processing to also accept ':'
	   where '=' is expected.

	-- Cleaned up integer type decls where prompted by compiler warnings.
	-- Replaced int0 with NULL in places where pointers were expected.
	-- Additional type casts to avoid VC++ warnings, bugs.
	-- Added platform.h entry for Microsoft VC++.
	-- Removed bogus empty cconfig.h entry for Watcom under Win32.
							(SSD Nov 30)

-- v1-01-4
	== tform.c: tfSymesFrUnion: Add additional arg to disambiguate
			Union(x: I, y: I)
	== tform.c: tfAsMultiEmbed: fix to allow default functions with a 
		    single argument
	== abnorm.c: Can have a formal definition
	== scobind.c: Better fluid var error message
	== flog.c:  (disabled) code to spot unreachable code at 
			flog-formation
	== genfoam.c: Allow keyword args in apply and set!
	== genfoam.c: Make sure u in set!(u,x,y) is evaluated once
	== genfoam.c: Trace mode minor fixes
	== gf_imps.c: Lazy initialisation of builtin exports
			(not used yet, but will be)
	== gf_add.c: RtHashSefo: check form after normalising
	== of_deada.c: Added live variable tracking
	== of_inlin.c: be careful about allocating temporaries
	== of_peep.c: SIntToBInt: Minor bug fix
	== sinteger.as: mod* words for all SInts (not on the alpha)
	== foam_l.lsp: EnvInfo: look before leaping
	== foam_c.c: fiBIntToSInt: Handle non-small BInts
	== test/: Bunch of tests added for recently fixed bugs
							(PAB Sep 28)

	== gf_add.c: Fixes for type constructors with named/default
	   arguments
	== genfoam.c: cleanups
	== bigint.c, foam.c: 64-bit fixes
	== xfloat.c: 64 bit fixes to SFloTruncate
							(PAB Aug 30)
-- r1-0-9 == current
	-- Merging changes from NAG.
							(SSD Aug 9)

	-- Added syntax/type inference for packed maps/lambdas ('->*/+->*').
	-- Cleanups to code generation for applications.
	-- Cleanups to processing of embedding tags.
	-- Added code generation for packed function application/definition,
		including boxing and unboxing code for manifest types.
							(SSD Jun 14)

	-- Merging additional changes from NAG.
							(SSD Jun 13)

	-- Final merging changes from NAG.
							(SSD May 12)

       == genfoam.c: gen0FindDefs, Used_Deeply => Used.
       ==           preliminary  support for 28 bit hashcodes
       == gf_add.c: Force constructor before looking at its hashcode
       ==           Don't build dependent types (for hashcode)
       ==	    Better support for built-in tuple-like types
       ==	    Enumerations now remember their name
       == ti_bup.c: Infer Generator(Cross(...)) properly
       == lib.c:    Preserve symeIsSpecial information
       == bigint.c: Added bintScanFrString to allow BIntFormat to work
							(PAB Jul 4)

       == list.as: non-recursive concat and copy
       == of_cfold.c: Do peephole opt. if nec.
       == of_deada.[ch]: Dead assignment elimination added
       == dflow.[ch]: Reverse dataflow functions added
       == of_*, flog.h: bbIn, etc renamed and moved to dflow.h
       == gf_seq.c: AB_Local fix (not perfect)
       == gf_imps.c: Don't cast lazyFnGetter argument
       == of_util.c: Don't change types of parameters
       == titdn.c (titdnComma): Set embed flag when necessary
       == fint.c: fintEval* return actual type of expr
       == of_peep.c: check for 'if' and 'select' statements
       ==	     check for (a + (-b)), etc
       == tools/unix/Makefile, docc, buildargs:
       ==	add method for machine-specific build parameters
       							(PAB May 10-27)

       == General tidy ups to remove unused assigns, etc.
       == os_win32.c, opsys.c, store.c: changes for for win32
							(PI May 10)

1.1: Shipped with Axiom 2.0a

       == tform.c(tfHasPrint): Unions can be printed
       == gf_add.c: MakeCatParents, Interpret with bodies 
	            more carefully
       == gf_gener, gf_prog: Keep domCache constant over generated fns
							(PAB May 1-7)

       == Called it 1.1
       == libax0/Makefile: Make attrib.lsp
							(PAB Apr 20)

       == genfoam, gf_rtime, foam_c.[ch], fint: Support for -Wdebug
       == of_emerg.c, cmdline: added -Wemerge-noalias flag
       == usedef.[ch]: Tidied external interface, added maxflogs parameter.
							(PAB Apr 18)

	-- Linux r1-0-7 porting fixes.
	-- Bug fixes from NAG:  gf_add.c.
	-- sefo.c:  check condition on %% symes in symeEqual0.
	-- tform.c:  replaced symeListFindExport with tfJoinExportToList.
							(SSD Apr 11)

       == foam_c.c, output.c: Fixes so that floating point output is 
       == consistent.
							(TTT Mar 26)
       == Merged Yorktown fixes
							(PAB Mar 20)
	
       == gf_add.c, genfoam, gf_seq: Install defaults properly
       == of_emerg.c: Quick fix to avoid using link on prev. assigned vars
       == genlisp.c, sexpr.c:  Allow :: to be appear in lisp names
       ==   (hacky, but useful)
       == gf_add: Cache hashcodes at the start of functions, if possible
       ==  genfoam: gen0MaxLevel changed to remember inner symes
       == gf_add (gen0Name*): Construct names using runtime functions
       ==  (not as strings)  
       == libaxllib/Makefile, langx, runtime: Changes for name printing.
       == of_inlin.c, foam_*.*, fint.c, of_deadv: Added EEnsure instruction
       == gf_add.c: MakeDefaultPackage modified to not produce 
       ==           as many default bodies
						  (PAB Feb 10 - Mar 20)

       == ASUG files updated: axiom.tex, axlug.ind, axlug.toc.keep,
       ==  errors.tex, fnotes.tex, langenvs.tex, langextd.tex,
       ==  langmacs.tex, langtype.tex, manifest.tex, messages.tex, msghelp.tex,
       ==  notices.tex, novice.tex, options.tex, ports.tbl, progsimp.tex,
       ==  samples.tex, samples/xmandel.as, samples/xmandel.tnb
							(MGR Mar 10, 17)
       
       == bigint.c, xfloat.c, output.c: more 64 bit fixes
       == docc, unicl: use -beg option to get floating point right on alpha
       == foam_c.c: fix next next prev 0.0, float4.as: test for it
       							(PAB/TTT Mar 10-17)

       == libfoam/links/foam_l.lsp: |MakeLevel| Changed for empty envs.
       == cconfig.h, docc: irix port (64 bit, at the moment)
       == foam.[ch]: Reserve a slot for EEnsure statement
       == runtime.as: prepare$CatRep: don't get the name
							(PAB Feb 20-27)

== r1-00-5
	== version.c:   Bumped version number
	== Merged up to YKT's r1-0-5
							(PAB Jan 27)

	== makeon: Added AXIOMXLSTEM variable ==- avoids soft link problems
	== store.c: piece{Put,Get}Mixed, avoid using mixedFrontier during 
			stoAllocInner forced GC. (provisional change)
	== msgcat: Reduced Max length of literal string for suncc.
	== os_unix.c, platform.h, docc, doranlib: solaris port
	== gf_add.c: domainMake has no side-effects either
	             (can now eliminate local domains ofter -O)
							(PAB Jan 18--26)

	== gf_add.c: gen0MakeUnarySpecialDomain/MakeMapCall: 
	==	generated code has no side-effects.	


-- r1-0-5
	-- Bug fixes:  gen0GetExporterSymes gen0RtSefoHashId titdnLabel.
	-- scobindMatchWiths being used more liberally.
	-- Now creating x: Meet(Ti) instead of Meet(x: Ti).
	-- Replaced tfGetCatParentsFrMeet with tfGetCatExportsFrMeet.
	-- Better type satisfaction for conditional parameterized exports.
	-- Now using the right stab to analyze '% == D(X)'.
							(SSD Jan 26)

	-- Foam interpreter timing message added.
	-- Added hash/ddecl to inlNewFormatInfo.
							(PI c/o SSD Jan 23)
	-- Bug fix:  scobindLambda now imports from each return type.
							(SSD Jan 23)

	-- Shrunk struct syme by storing only modified fields.
	-- Added enum SymeField, extra syme bits, new accessors/constructors.
	-- Encapsulated syme fields with new accessor macros/functions.
	-- Minor cleanups to reduce syme field accessing.
	-- Minor cleanups to ForeignOrigin code.  (Why is this in syme.c?)
	-- Bug fixes:  scobindMatchParams, scobindDeclareTForm, tiTfDefine1.
	-- Added genHasConstNum, symeEqualModConditions.
							(SSD Jan 20)

-- r1-0-4
	-- New libax0 files after library format changes.
	-- Added lib->codev to libPutSymev.
	-- More accurate stab for symes created by extend param substitution.
							(SSD Jan 12)

	-- New zips clauses in current/Makefile.
	-- Minor fixups from linux asharp r1-0-3 port.
		src/fint.c src/of_inlin.c src/tform.c tools/unix/zacc.c
	-- Memory optimization for symeListCheckCondition.
	-- Added tiReportStore.
	-- Flushing duplicate test gbtest.as.
	-- More efficient lookup for libSymeSyme/libSymeTypeNo:
		-- Added lib->codev to hold syme numbers sorted by hash code.
		-- Added libCodeSort to sort lib->codev.
		-- Added libCodeSyme to dereference through lib->codev.
		-- Added libSymeIndex to do (Symbol, Hash) -> UShort lookup.
							(SSD Jan 9)

	-- Various bug fixes from PI.
							(PI Dec 20)
 
	-- Added stabLevel->hash to support unique hash codes on lazy symes.
	-- Added scoDefineList as an AbSyn stack to identify define points.
	-- Added abHashList to compute a hash code for scoDefineList.
	-- Added scobind{SetStab,StabHash} to compute stab->hash based on
	   the collected hash code for the define points.
	-- Added scobindLambdaList to encapsulate lambda expression processing.
	-- Added symeAddHash to tweak the symeHash by an extra hash code.
	-- Using symeAddHash in tfNewRepSyme/tfJoinExportLists on syme copies.
	-- Added absSetStab to reset the stabLevel on symes created by subst.
	-- Now sharing more on-the-fly enumeration type forms.
	-- Bug fix for the initial type of % in scobindApplySelf. 
	-- Replaced fvFlush[Syme] with libHasSyme/freeVarToBuffer.
	-- Simplified symeDefLevel* macros.  (assert(symeDefLevel(syme)))
	-- Added tfNewRepSyme.  (encapsulates symeNewExport in tform.c)
	-- Converted symeNew{Export,Extend} to macros.
	-- Flushed stabPush{Large,Small}Level, tformFrBufferIsLazyExporter.
	-- Flushed tfUniqExportList.
	-- Resurrected libCheckSymes.
							(SSD Dec 16)

	-- Rewrote lib{Put,Get}Symes to conserve memory use on library load.
	-- Modified libPutFoamSymes to create FoamSyme library section which
	   contains two byte syme numbers for the foamSymes.
	-- Added libRepSymes, libSymeMatch, libGetSymeIndex.
	-- Added library sections:  FoamSyme, Kind, Lazy, Twins.
	-- Flushed struct libSyme:  new format uses less intermediate space.
	-- Flushed libSeekBuffer:  new format only seeks to section start.
	-- Flushed libGetSymeTypeIsLazyExporter:  new format lazy syme section.
	-- Added libSymeIs{File,Lazy,Local}.
	-- Added SYME_BIT_TOP for top-level library exports. 
							(SSD Dec 12)

	-- Replaced foam[Un]SetSymeIndices with lib{Put,Get}FoamSymes.
	-- Added inlGetExternalSyme/libGetFormatSyme as an inl/lib firewall.
	-- Flushed SYME_NUMBER_UNASSIGNED argument to foamNew[G]Decl.
	-- Added inlInlinee{Format,Decl} inlIsFormatInfo.
	-- Combined inlUnit->formatValList into inlUnit->formatRefList.
	-- Cleaned up inlGet{,Local,External}{Format,Const,Foam,Syme}.
							(SSD Dec 9)

	-- Various code cleanups around instances of foamSyme, symeIndex:
	-- Flushed genSetLazy gen0IsLazy.
	-- Added foamNewAlloc foamIsDecl otIsVar inlGetSyme.
	-- Flushed foamSymePrint foamIsLocOrPar gen0GetDFmtConstNums.
	-- Inlined gen0EnsureImport inlDeclaredInline.
	-- Merged {gen0,inl}*IsParameterized inlIsConst with otIsConstSyme.
	-- Replaced gen0IsLazyTFormImport with gen0IsLazyConst.
	-- Added inuIsVar inuDereference[,DefClain,Syme,Clos].
	-- Cleaned up inuGet{Syme,ConstEnv,PushEnv}Fr{ClosVar,Env}.
	-- Replaced inlGetConstEnvFrEnv with inlGetSymeFrEnv.
	-- Renamed otIsNotLocalVar to otIsNonLocalVar.
	-- Flushed inlPrintSymeDb usedefPrintDbFrFlog udPrintDbFrExp.
	-- Flushed conditionalized code which had become junk.
							(SSD Dec 5)

== r1-00-4 (rsgcc version at Limoges)	
	== Added printing for Unions
	== Added libHash in order to stabilise test outputs
	== gf_imps: lazily pulling in global bindings
	== genfoam, gf_add: related changes
	== genfoam: gen0Lambda should mark default bodies as getters
							(PAB Dec 8)
	== ALPHA Port:
		int -> long in bigint.c
							(PAB Dec 3)

	== HPUX Port: cconfig, stdc, platform, os_unix.
	==   genc: stopped gc0ExternDecls doing some defs twice
	     (and some not at all)
	== gf_seq: When we pull in an imported, set the defMap field
	== gf_gener: Exit from a generator should not set yieldVar
	== unicl.c: -g should pass through the following argument
	== DOS/GCC fixups:
	==   os_unix: data_start is ~etext
	==   mklfoam.bat split from mklaxllib
	== genfoam: UnionSet fixed for side-affecting RHS's
							(PAB Nov 24)

== Version released with Axiom V2
	== Name changes to AxiomXl (nb: probs with dos names)
	== Re-merged documentation to be consistent with published 
	== axlbug now points at infodesk@nag.co.uk
				           (PAB, TTT, MCD Nov 16-20)
-- r1-0-3
	-- powmod/mulmod + (n-1)/2*k fixes for prime.as performance.
	-- scanSign + leading space removal added to format.as.
	-- stoGc in stoAlloc memory leak fixed in piecesGetFixed.
	-- Copying symes before stomp in gen0SymeGeneric/gen0GetExporterSymes.
	-- Collecting tform semantics before recursion in tformClosure0.
	-- Creating full type forms for types in rhs in tf[pm]{Define,Assign}.
							(SSD Nov 22)

	-- Replaced genFoamStmtOrVal with genFoamTempVal which handles exits.
	-- Fixed miscommunication:  tiTfDefine1 and tiTfDefaultSyntaxDefine.
	-- unicl now passing on -p to the linker for gcc.
							(SSD Nov 18)

	-- Rationalized double word operation interfaces between:
		machine.as bigint.[ch] foam_c.[ch] foam.c fint.c
	-- Fixed segmentation faults in error handling in the foam interpreter.
	-- Installed additional foam instructions implemented by PI.
	-- Fixed case of absyn semantics not being copied in tform creation.
	-- Fixed cases of missing meanings for % arising from not enough info.
	-- Fixed additional case of parent syme export checking.
	-- isprint(c) and friends doesn't work well on signed characters.
	-- Created as_y.sed to apply fixups for as_y.c warnings.
							(SSD Nov 16)

	-- Changed Lisp CharMax to use (code-char (1- char-code-limit)).
	-- Expanded message text:  overloaded var, assign v. define.
	-- Fixed apply argument counting in error reporting code.
	-- Partial fixes to genfoam embedding bugs.
							(SSD Nov 14)

	-- Installed fixed version of CCall macro in foam_l.lsp which tries
		to minimize let forms.
	-- Added 'extern' to final decl in gc0ClosInit for C split files.
	-- Fixed AB_Return case of genFoam to handle void returns properly.
	-- Added case for FOAM_EEnv to dvGetForcingUsage.
							(SSD Nov 11)

	-- Improved code for final return statement in gen0Lambda
		to avoid 'statement not reached' messages on suncc.
	-- Copied position info to abNewNothings in macMacro and macMDefine
		to give better error reporting on empty sequences.
							(SSD Nov 10)

	-- Reverted CCall macro to v0-37-0 version.
	-- Added parentListSubst0 to fix export/parent syme sharing bug.
	-- Now using tfAuditExportList to check parent syme lists.
							(SSD Nov 9)

	-- New make rules for comsgdb.[ch] with shorter critical section.
	-- symeEqualMod's generalized to allow use with non-self symes.
	-- Starting to check for some alpha-conversions in type satisfaction.
	-- Porting fixes:  os_macs7.c cconfig.h cwords.c.
	-- Bug fixes:
	-- Now checking lambda expression types more carefully.
	-- Now checking abNothing expression types more carefully.
	-- Dependent symes in return types are now LexConsts instead of Params.
	-- Now really pending to meaning on comma types of one argument.
	-- tfIsDomainType should always return true for Joins.
	-- Now checking abState of farValue in titdn0FarValue.
	-- Changed 'import T' to 'import from T' in some test files.
							(SSD Nov 7)

-- r1-0-2
	-- Merged Macintosh porting fixes.
							(SMW Nov 1)

	-- Now guarding against K+R float-to-double conversions.
	-- Diagnostic tests with fixed output now working:
	   float-t.sh xfloat-t.sh priq-t.sh format-t.sh msg-t.sh btree-t.sh.
	-- Correct test output now installed for float4.as.
	-- Added osRandom to stabilize tests which use rand().
	-- Fixed end test for flow-graph construction for sequences.
	-- Fixed anonymous record accessors in gen0RecFieldName.
	-- Fixed 'float' v. 'int' local variable decl in inlBuildPriqFrProg.
	-- Partial fixes to "statement not reached" in generated C code.
	-- Added '-fsingle' to unicl under suncc.
	-- Debug flag now masks optimize flag in unicl.
	-- Fixed compiler warnings in xasharp under suncc.
							(SSD Nov 1)

	-- Fixed seg fault in handling of default declarations in scobind.
	-- Improved message for reporting incomplete analysis of cyclic types.
	-- Bug fix for qualified references to categories.
	-- More correct propagation of embedding tags on application arguments.
							(SSD Oct 25)

	-- Extended BinaryPowering to handle negative exponents.
	-- Floating-point rounding fixes for rounding (down/nearest/default)
		for negative (Float/SF/DF) numbers + fraction part for
		negative DoubleFloats.
	-- Fixes to diagnostic tests:  msg, show, link, priq, symbol.
	-- Marked other fixed BUGS:  cascade1, record0, union0.
							(SSD Oct 20)

	-- Bug fixes and cleanups to xasharp to get a modified version of the
	   debugging example working again.
	-- Updates to xasharp chapter to correspond to the modified example.
	-- Generated new XA# PostScript figures for the User's Guide.
							(SSD Oct 18)

	-- Typos and bug fixes in preparation for upcoming name changes.
	-- Fixes to foam_l.lsp from BMT.
							(SSD Oct 14)

-- r1-0-1
	-- Bug fixes:
	-- float.as printing fix from BMT installed.
	-- Initialization of comsgFilterC causing failure of -Mno-AS_[lastmsg].
	-- Removed warning that 'asharp -Faso foo.as bar.aso' steps on bar.aso.
	-- stabSeeOuterImports was making duplicate symes for some scopes.
							(SSD Oct 4)

	-- abcheck reorganization to correspond to what scobind expects,
	   plus resulting cleanups to scobind.
	-- Bug fixes:
	-- abn0LambdaType needs to copy rtype even if it is an AB_Nothing.
	-- 'Bug: libSymeSyme' message changed to LibOutOfDate fatal message.
	-- Porting fixes to foam_c.c.
	-- Replaced incorrect calls to ccoTypedefId with ccoTypeIdOf.
	-- Replaced sefoListSubst0 with condListSubst0 which knows not to
	   subst for % in C in the expression 'D has C'.
	-- Fixed type inference for the introduction of locals with unknown
	   type in the presence of imports of the same name.
	-- Minor fixes to tool scripts:  asbug, doasharp, fixbug.
							(SSD Sep 22)

	-- Bug fixes:
	-- Added extern declaration for 'domainPrepare!' in generated C code.
	-- Now using lazy gets to retrieve non-local exports from self.
	-- Code generation for Tuple Cross T now generating correct
		reference to T.
	-- Lazy parameter symes in libraries now correctly disambiguated.
	-- Prevented dead variable elimination on forcing environments.
	-- Jump flow optimization now handling trivial cyclic flow graph.
	-- Supplied missing decl for stoMustTag in variants of store.c.
	-- Fixed interaction between lazy parameter symes and new parameter
		symes for domain extensions.
	-- Now checking that 'break' statements appear in loop context.
	-- Now checking for conditional symes when checking that an add
		satisifies its categorical context.
	-- Typo in table.as.
	-- Cleanups:
	-- Additional libasX11 functions.
	-- Removed unused local variable gcvNGlos.
	-- Removed unused parameter to gc0GloIdDecl.
							(SSD Sep 20)

	-- Split release directory (for product versions)
	   from version directory (for development versions).
	-- Added mafilter to customize maintain tools to product/development.
	-- Fixed files which exhibit problems for SCCS.
	   (long lines in source files, newline at end-of-file)
							(PAB/SSD Sep 20)

=======================================================================
=======================================================================
=======================================================================

                  Version 0.37.0 September 14, 1994 

          IBM Final Delivery to NAG for A# 1.0 and Axiom 2.0

         
=======================================================================
=======================================================================
=======================================================================

-- v36.6
        -- A# User's Guide (500 pages)
                                                        (SMW et al Jul-Sep)

        -- Removed doc/LangRef directory as obsolete.
                                                        (SMW Sept 14)

	-- Fixed major bug in xasharp (improper realloc usage).
							(PI Aug 30)

	-- Added C support missing for FOAM operations.
           (rounded floating point, double word integer arithmetic)
							(PI Aug 23)
        
-- v36.5 
	-- Fixed of_cprop, of_cfold to handle big Integers.
	-- Fixed of_emerg bug regarding unions of records.
	-- ax0: renamed machine to minimach, and simplified
	--      made axextend use foam operations.
							(PAB Aug 16-19)

	-- Added option -Wmissing-ok to give warning msgs (not errors) if
	   a domain is missing some exports.
							(PI Aug 17)

	-- Modified ascat.as, machine.as, basic.as, [s|d]float.as, float.as
	   to provide new functionality: integer, fraction and round.
	-- Implemented next/prev in foam_c.c.
	-- Implemented timesDouble and divideDouble in foam_c.c
							(PI Aug 16)

	-- Bug fixes:
	-- Export to C now handles multiple value returns.
	-- gen0Extend must handle domain inits like gen0Define does.
	-- Substitution for % in cascaded exports must use a fresh absub.
	-- Tighter checking on domain/category expression context.
	-- Category type satisfaction for empty export lists.
	-- More accurate floating of type forms with conditional queries.
							(SSD Aug 15)

-- v36.4
	-- Bug fixes:
	-- foam_c.c global import/export linkers initialize tbl as needed.
							(SMW Aug 14)

	-- Bug fixes:
	-- gen0BuggyAbType added to handle unfortunately-typed lambdas, etc
	-- gen0AbType split to handle (or not) embeddings
	-- gen0MaxLevel making better guesses at syme-depth
	-- inliner handles buggy symes better.
							(PAB Aug 14)

-- v36.3
	-- Bug fixes:
	-- Now cascading the export of Segment R from R for R in {I/SI/NNI/PI}.
	-- |Void| -> |Comma| in Axiom asa files.
	-- Added -X to control recompilation of archive members.
	-- Fixed gen of init code for lazy export symes from library files.
	-- Now substituting for % in the cascaded exports.
	-- Now clearing absFVars before extending a substitution list.
	-- Now properly the embed mask in tfSatAsMulti.
	-- Interactive loop fix for definitions with anonymous types.
	-- Better handling of conditional exports from D in 'if D has C then'.
	-- Now using abNothing in tfToAbSyn for TF_With.
	-- Better inlining for conditional symbol meanings.
							(SSD Aug 11)

	-- Bug fixes:
	-- doc/UsrGuide/*/Makefile cleanups.
	-- Exported empty$Array; implemented coerce$SI.
	-- 'with' type forms pretty print as export lists when needed.
	-- Anonymous record format names generated by gen0RecFormatName.
	-- Singleton sequences handling exits correctly.
	-- Now propagating SCO_Id_InType info to outer scopes correctly.
	-- Better type inference for exits from sequences.
							(SSD Aug 10)

	-- Bug fixes:
	--    -gloop with all optimizations on.
	--    -Wcheck with -gloop.
	-- Added `#int shell' and `#int cd' options to interactive mode.
	-- Reduced generation of redundant error msgs for errors in `for'.
	-- Modified emit0.sh to test the -ginterp option.
	-- Removed some gcc warnings.
							(PI Aug 10)

-- v36.2 
	-- Bug fixes:
	-- titdn:  Embed tags now added by titdn0FarValue
	-- absyn:  Embed tags added, not updated
	-- abnorm: Empty Enumeration now goes through
	-- tform:  Enumerate is spelt Enumeration
	-- gf_add: Enumerations hashed correctly
	-- gf_rtime: Minor fix
	-- of_retype: Values on rhs now descended
	-- Course excercises corrected
	-- asdem.as, ax0.as include files added
							(PAB Aug 9)
	-- Exporting fractionPart/wholePart from Float.
	-- Generating code for progs needs to push a new format before
	   generating lexes for params which are used deeply.
	-- gen0Sequence needs to set import places after each definition,
	   and before each exit.
	-- gen0IsFnDef -> gen0IsDef (now collecting all defines in add bodies).
	-- Merged gen0MaxLevel gen0MaxDefLevel.
	-- gen0MaxLevel now uses the current level for unrecognized exprs,
	   so that imports are initialized as far in as possible.
	-- Recovery from assign/define errors in gloop fixed properly.
	-- tfSatSublist now uses the fact that the absyn has been analyzed
	   to avoid infinite loops in category satisfaction questions on %.
							(SSD Aug 6)

	-- Fixed major bug in emerge causing runtime crash of some
	   optimized programs.
	-- Minor changes to error msg system, reduced noise for errors in
	   assignments.
	-- Changes to the interactive mode interface: indentation and
	   braces can be used both.
	-- Interpreter (-g interp) no more leaving .aso files around (unless
	   -Faso used).
	-- Interactive mode can handle segm. fault signals.
	-- Partially fixed recovery from assignment to constant in -gloop
	   (hack in scobind).
	-- The interpreter shares the library with the compiler.
	-- Generic bug fixes.
							(PI Aug 3)

	-- Bug fixes:
	-- abcheck checking for bad exit in add/where.
	-- Interactive loop more careful about value mode.
	-- Interactive loop more careful about syme introduction in scobind.
	-- Interactive loop needs refreshing of extendees in stabAddMeaning.
	-- gen0Has more careful about getting exported symes.
	-- Modified scope11.as to make it more platform independent.
							(SSD July 29)

-- v36.1
	-- Bug fixes:
	-- Handle unsplittable RHS in multiple assignment.
	-- Represent AR file magic nos in binary, for MAC/EBCDIC portability.
	-- Place-holder for MAC simple IO window flushing.
							(SMW July 14)

	-- Bug fixes: gen0Max[Def]Level gen0RtTypeHashAsGeneral inlExpr.
	-- Fixes and updates to the Makefile in lib/libax0.
	-- Tests convert0.as supcat[23].as off the bugs list.
							(SSD Jul 12)

	-- Interactive mode changes:
		msg-limit is default none.
		when an `error' occurs, the backtrace is displayed but the
		interpreter does not terminate.
							(PI Jul 8)

	-- Bug fixes:
	-- Inlining ops from extendees used in extensions.
	-- aso->asy type inference on foo@Category.
	-- Multiple qualified imports on the same type.
	-- Using includeLine over includeFile in the interactive loop.
	-- Removed redundant operations from string.as.
							(SSD Jul 7)

=======================================================================
=======================================================================
=======================================================================

Version 0.36.0 June 28, 1994 == NAG A# Q/A Freeze for Axiom Version 2.0

=======================================================================
=======================================================================
=======================================================================

-- v35.C
	-- Cleaned up aslib.  Added copyright notices.
	-- Runtime.as debugging (w PAB + PI)
	-- Minor checkpoint as emergency fallback.
							(SMW June 26-27)

-- v35.B
	-- Renamed OutPort -> TextWriter, InPort -> TextReader.
	-- Minor checkpoint as emergency fallback.
							(SMW June 25)

-- v35.A
	-- Added domains IntegerMod and SingleIntegerMod to aslib.
							(SMW June 25)

 	-- Added opsys0.as to libaslib.
 	-- Added backtrace feature to the foam interpeter when 'halt' is
 	   executed.
 	-- Extended the interpreter to use operating system features.
 							(PI June 25)

	-- Reworked, and fixed: import {...} from Foreign C "foo.h"
	   (abnorm, scobind, syme, stab, genfoam, genc...)
	-- More fixes to accomodate .lsp file extension.
	-- General clean up, libaxiom -> libax0, matops -> test, ...
	-- Renamed files to make them DOS safe (8+3), except .exec in tools/cms

	-- Fixed genc to treat the Foam as READ ONLY.
	-- Fixed genc bug causing missing declarations with split files.
	-- Reordered split file external name composition for genc.
							(SMW June 24)

-- v35.9
	-- The Lisp generation option is now -Flsp, and default is -Sftype=lsp.
	-- Updated library so characters n o longer have string style literals.
	   They now have a "char" operation to take Strings to characters.
	-- In Aslib, added
		coerce: I -> % and coerce: SI -> % to ArithmeticSystem
	        ^: (%, Integer) -> % to Monoid
        -- Mild documentation updates.
							(SMW June 24)
	
	-- General improvementes on the compilation speed / object files size.
	-- Added a deadvar opt. pass before inlining.
 	-- Fixed a 'future' inliner bug.
	-- Added CalledOnce-bit in the Prog bitmask.
	-- Added an upper bound to the size of an inlined Prog. It can be
	   overrided with -Q9.
							(PI June 24)

	-- Fixed tfExtendSubst to prevent lazy exports from undoing the
	   substitution of the parameter during the creation of the extension.
	   (fixes type inference bugs where imports from extension were seen
	    as having the wrong type:  e.g. hilbert*.as.
	-- Split symeLib and symeConstLib.
	-- Introduced lazy parameter symes.
	-- File renamings in lib/libaxiom.
	-- Added new tests for compiling against libax0.as.
	-- Bug fix for concatenation of cascaded export lists.
							(SSD Jun 23)

	-- Added -Qcast to reduce the number of casts in foam and optimize
	   SFlo computations.
	-- Minor improvements to copy propagation.
							(PI June 22)

 	-- Bug fixes:  scobindExtendId, {syme,tform}Equal0,
 		stabSeeOuterImports, tfSyntaxExtend.
 							(SSD Jun 20)

	-- Bug fixes and improvements to the new inliner.
							(PI Jun 18)


-- v35.8
	-- Replaced -0 -1 ... -9  with -K[0-9] to fix -O3 misunderstanding.
							(SMW Jun 17)

	-- Miscellaneous bug fixes + attempts to optimize sefoEqual.
							(SSD Jun 17)

	-- Mostly changes to aslib:
	-- Changed output to use "<<" rather than "apply" in src/lib/test.
	-- Added InFile and OutFile types.
	-- Extended OutPort to allow output to general places: files strings,..
	-- Added formatted output package.
	-- Added "dispose!" in aslib and support in Foam.
	-- Added support for Record "explode", Union "set!" and misc "dispose!"
	-- Removed Foam builtin ops which create big integers from [sd]floats.
	-- Split Foam builtins to have Shift{Up,Dn}, rather than just one Shift.
	-- Added Foam builtin place-holder ops for rounded arithmetic,
	   modular inverse and *, floating point assembly/disassembly.
	-- Many improvements to "ascat", including
	   Ring, EuclideanDomain, *Aggregate and defaults.
	-- Added in-place iterative binary powering to various Rings.
	-- Added l.first, l.rest to List, for apply and set!.
	-- Many other library cleanups.
	-- Added CC_math_wants_posix for severely polluted math.h files.
	-- Modified "oldc" to print the tokens which cause syntax errors.
							(SMW June 5-17)

-- v35.7
	-- Now handling type equivalence/satisfaction modulo '==' definitions,
		including '% == D' (the grok bug).
	-- Various bug fixes exposed by the handling of '==' type definitions.
	-- Added tf[Is]DefineOfType tfIsDefinedType tfDefinedVal tiTfUnknown1.
	-- Extend syme and extendee no longer visible in the stab level.
		(avoids erroneous multiple meaning errors)
	-- Added gen0SpecialKeyType to reconstruct the Record/Union/Enum
		associated with a special syme.
							(SSD Jun 15)

	-- Completely changed the inlining strategy: introduced dflow analysis
	   and priority queues.
	-- Modified jflow to eliminate all the redundant Select statements.
 	-- Many bug fixes.
							(PI Jun 14)

	-- Now using symeEqual/sefoEqual instead of abEqualModDeclares
		in tformEqual on TF_General type forms.
	-- Record/Union now provide field names using cascaded exports.
	-- Symes for % for Record/Union no longer bound at the source level.
	-- Replaced tfHackFrSymbol with tfInitBasicTypes for getting
		basic types (Boolean/OutPort) from the A# library.
	-- absHasSymes now checks the table of substitution results
		for intersections with free variable lists.
	-- Added syme[se]Twins for pairing up equivalence classes of symes.
	-- Cleanups and fixes to scobindApply[Scope].
	-- Cleanups and fixes to gen0{Record,Union,Enum}Index, gen0IsEnumLit.
							(SSD Jun 8)

-- v35.6
	-- Added #n do messages to show order generated.
  	-- Documentation.
  	-- Improved optfoam to be table driven.
  	-- Modified option handling to be case insensitive!!
  	-- Cleaned up the implementation of a number of foam builtin ops.
  	-- Removed silly foam builtins and added missing ones.
  	-- Added  -F<ft>=<fn>  to allow named output files.
  	-- Removed -o and reinstated -O.
  	-- Cleaned up messages.
  	-- Killed ``antique'' message category.
  	-- Renamed many msgs with _X_ letters to tell errors from warnings etc.
  	-- Added null checks in "List(S)" and l.first := x etc.
  	-- Added Table(K,E) to aslib.
  	-- Changed aslib category definitions to use "define X: Category == y"
  	-- Added bootstrap code for define in abnorm.c
  	-- Made option handling case-insensitive!
  	-- -go => -grun; -gf => -ginterp; -gi => -gloop
  	-- Changed defaults to: -Q1 -M2 -Y.
  							(May 28-June 4)

  	-- Rationalized some command line options and removed case-collisions:
             -L xxx  => -Y xxx  (and -Y. added to default path)
             -r      => -go
             -i      => -gf
             -ri     => -gi
             -O      => -Q2
             -g      => -Zg
             -p      => -Zp
             -P...   => removed -- "asinit.as" is always tried as profile for 
                        interactive mode (-gi).
  							(SMW May 27)

  	-- Changed default piling behaviour to be NO PILES.
  	-- Added #pile/#endpile to create a piling context.
  	-- Modified linearizer to make final #endpile optional.
  	-- Removed "{|"  and  "|}" as piling tokens.
  	-- Improved error message about unbalanced braces.
  	-- Changed #int to #interp.
  	-- Moved "#interp" system command detection from includer to syscmd.
  	-- Added "#interp options" to allow options to be changed on the fly.
  	-- Reworked -h command line option to allow "-help" "-hhelp" "-hW" etc.
  	-- Reworked logic of cmdline.c to not quit after #options -help.
  	-- Modified bloop to have bloopMsgVFPrintf.
  	-- Added -WD-<flag> to turn off debug flags.
  	-- Changed -Wtest+xxx to -Wtest=xxx.
  							(SMW May 25)

-- v35.5
	-- Split out and filled in cases from gen0SpecialOp.
	-- Bug fixes for old scobind bugs:
		'x := v; { free x; x: T := v }' now matches instances of x.
		abFor.whole is now analyzed in enclosing scope.
		ids used but not declared count as uses in enclosing scopes.
	-- Map types should not satisfy in tfSat{Dom,Cat,Type}.
							(SSD Jun 2) 

	-- scobind.c rewrite:
		To sharpen treatment of declaration syntax forms.
		To allow the systematic inclusion of the definition rhs in
			constructed types.
		More precise treatment of IdInfo/DeclInfo in scobindUndo.
		General cleanup.
	-- AB_Macro{Define,Lambda} -> AB_M{Define,Lambda}; added AB_DDefine.
	-- abDefault.argv[0] -> abDefault.body.
	-- Added type form tags for TF_Default, TF_Instance.
							(SSD Jun 1)

-- v35.4
	-- gf_rtime.c: Added cache section
	-- genfoam.c: Caching for parameterised domains
	-- gf_add.c: corrected hashcodes for Generator, Tuple, Map
	-- genfoam.c: gen0MaxDefLevel now 
	-- updated test/Makefile
	-- runtime.as: added cache runtime, made %% lookup special
							(PAB May 31)

	-- Bug fix:  tformSubst0 cycle breaking on TF_With/TF_Third.
	-- Bug fix:  tformClosure0 on symbol meanings for %.
	-- Bug fix:  reference count on AbSub in TF_Subst.
							(SSD May 25)

-- v35.3
	-- Added src/priq*.[ch] for priority queues.
							(SMW May 24)

	-- Bug fix: symeTypeHash in asy files synchronized with gen0GlobalName.
	-- Bug fix: symeListClosure now allowed to determine which library
		symes are needed in the aso file.
	-- Checking (name+hash) uniqueness for lazy symes in aso files.
							(SSD May 24)

	-- of_peep.c: added code for BCall of arithmetic ops
	-- genfoam.c: Foam types more consistent
	-- gf_add.c:  Shorter names generated
							(PAB May 23)

-- v35.2
	-- Fixed 'extend A add B @ C' to allow extensions to refer to
	   operations provided by the extendee.
	-- Added tfu->extension, stabAddTFormExtension
	-- Removed workarounds from libaslib, axextend.as.
	-- Fixed symeListFindExport, tf{Join,Uniq}ExportList(s), tfSatExport
	   to handle conditional exports from different inheritance branches.
	-- Fixed gen0RtHashAsGeneral to handle all atomic types.
	-- Fixed abEqualModDeclares to work modulo 'pretend'.
							(SSD May 19)

	-- Added genFoamValType
	-- genfoam.c: foam 'if' always takes boolean
	-- gen*.c:    Foam_Proto_Init added, lost AS prefix
	-- gf_gener.c: fixed warnings 
	-- runtime.as: fixed inheritToExtend (fixes bug 632)
						 	(PAB May 16,17)

-- v35.1
	-- Added Common Subexpression Elimination optimization.
	-- Fixed bugs in peep-hole optimization.
	-- Added a second call to copy propagation after cse (strong
	   reduction of .aso files size)
							(PI May 17)

	-- More bug fixes:
	-- Dependent symes in record types are not being assigned a location
	   by gen0Vars.  Computing type hash codes now works around the bug.
	-- Dependent records now pass along the dependency to special exports.
	-- More fixes for the elaboration of lazy symes for %.
	-- Picking up on category parent symes on conditional expressions.
							(SSD May 13)

	-- Bug fixes:
	-- Lazy symes for % exported from different libraries were being
	   elaborated from the wrong library because of hash code collisions.
	-- Recursive infinite loop in tformFreeVars of lazy subst tforms.
	-- Imports from the same category through two different domains
	   were being mistakenly identified by stabAddMeaning.
	-- Category parents were not collecting default symes.
	-- Defaults on inherited exports were not being marked as such.
							(SSD May 6)

	-- Added foam type checking (-W audit opt.)
	-- Minor changes/bug fixes.
							(PI May 5)

Version 0.35.0 May 3, 1994  == NAG Axiom 2.0 Beta B (used)

	-- AXP/OSF1 port
							(SMW May 2)

	-- DummyDefault trick to avoid inlining defaults from libaxiom.
							(PAB May 2)

	-- Improved copy propagation to propagate constants.
	-- genc.c changes to generate legitimate K+R C.
							(PI May 2)

-- v34.8
	-- Fixed phase.c to compute misc time and round correctly.
	-- Added leading digit in version number.
							(SMW Apr 30)

	-- Substitution into categories now uses category parents.
							(SSD Apr 30)

	-- Bugs fixed in the bugs directory.
	-- Changed some error messages.
	-- Further reduction of redundant error messages.
	-- Improved interface for dataFlow ananysis.
	-- Added 'bugWarning', to signal suspect situations without stopping
	   the compiler.
	-- Fixed bug in the inliner.
							(PI Apr 29)

	-- Added cache for hashcodes of idents
	-- Improvements to generator construction	
	-- genlisp: fixes due to addition of GDecls
	-- Added -W nhash flag
							(PAB Apr 29)

	-- Set up "asharp" machine as server, and modified bug delivery.
							(SMW Apr 26)

	-- Added lazy substitutions, TF_Subst.
							(SSD Apr 26)

	-- Added copy propagation optimization.
	-- Added usedef.c for usage-definition chains.
	-- Fixes to error outputs. Big cut off in the number of redundant
	   error msgs.
	-- Added SIGDANGER msg for compiler running out of paging space.
	-- Modified genfoam and genc to get locals and parameters of type
	   record (before patching) + globals of type rec.
	-- Added record type checking on foam progs after optimizations.
	-- Fixed emerge to dereference casts in looking at escaping environm.
	-- Improved interface for dataflow analysis.
							(PI Apr 22)

-- v34.7
	-- Added foamDecl.usage field and structure
	-- Split decls into global and local decls
	-- fixes to foamBox for trailing arrays
	-- sundry tidy-ups to genc
	-- of_emerg: Fixed aliases to have parents.
							(PAB Apr 20)

	-- Added fields to AbSub:  stab, serialNo, refc, results.
	-- Added absStab, absSerial, absRefer, abs{Set,Get}{Syme,TForm}.
	-- Flushed abs{Set,Unset}UseEq, absSingleton.
	-- Removed redundant stab argument to substitution functions.
	-- Bug fix to tfExtendSubst, genExtend.
							(SSD Apr 19)

-- v34.6
	-- Added tfParents(tf) to hold symes for %% for each tform.
	-- Added tfGet{Cat,Thd}{Parents,SelfSelf}.
	-- Added tfSatParents[Filter], tfSatExportsMissing.
	-- Various bug fixes for late model tinfer bugs.
	-- Added tests arrepl0.sh cascade[0-4].as.
							(SSD Apr 13)

	-- Added '#int gc' option to the interpreter, for explicit call to the
	   garbage collector.
	-- Added sigBreak (Ctrl-C) handlers for the interpreter.
	-- Fluids implemented in the interpreter. All the tests give the same
	   output with -r -i and -r.
	-- Bugs fixed.
							(PI Apr 11)

	-- Fixed stack chaining in the interpreter.
	-- Added all the remaining BCalls to the interpreter. Only
	   fluids are still unimplemented.
	-- Modified genc.c to generate code that can be dynamically loaded in
	   a mixed (compiled/interpreted) environment.
							(PI Apr 4)

	-- Added of_hfold for constant folding of hash numbers
	-- inline.c: now exports inlInlinable
	-- Fix: deadvar.c: only top level EInfo envs refs are ignored
	-- Fix: genfoam.c: minor bugs found by -Wcheck in test dir
							(PAB Apr 3)

	-- fixed some bugs detect on Dos/Linux platforms.
	-- Modified docc with specific options for Linux.
	-- Modified makemake.c and src/Makefile. There is a
	-- new target "dos" to create an asharp.mak file that
	   can be used on MsDos machines.
	-- /distrib directory eliminated.
							(PI Mar 30)

-- v34.5 == NAG Axiom 2.0 Beta B (March 27)
	-- Incorporated PI's changes to remove compiler warnings.
	-- Cleaned UserGuide directory.
	-- Test suite on AIXESA
							(SMW Mar 27)

-- v34.4
	-- Fixed "Integer" bug by avoiding unecessary substitutions.
							(SSD Mar 26)

	-- Modified closures representation (foam_c.h).
	-- Modified genc.c for explicit globals export/import and to handle
	   the new closures.
	-- Added in foam_c.c support for explicit linking of globals.
	-- Added the prefix AS to the name of a module initializator 
	   (example: C0_ASsinteger, Gxx_ASsinteger)
	-- Added link_t.c to test explicit linking. 
							(PI Mar 25)

	-- Replaced old hashing scheme with improved version
		Added categoryHash! funtions to runtime
	-- Added meaning for % in domains
	-- Syme/libSyme addditional field for runtime hash value
	-- inline.c: Inlines calls to domainGetHash! and queries on
		domain producing maps
	-- new tests: tree2.as listper.as
	-- fixed inlining in top level/anonymous programs
							(PAB Mar 22)

	-- Modified archive code to handle recompilation of archive members.
	-- Added arFilter, emitCollectIntermedSymes, libGetLibrarySymes,
		syme{Init,Fill}LibrariesUsed.
							(SSD Mar 21)

	-- Modified foam_c.h and genc.c to place environment as first
	   parameter to function calls.
							(JMS Mar 16)

	-- Now allowing lazy exports to become lazy imports for imports from
		libraries and archives.
	-- Added (Lib) syme->lib, symeLib(syme), symeIsLocal, gen0SymeTypeCode.
	-- New fields for struct syme:  id, lib, hash, type.
	-- Removed fields for struct syme:  __id, __type, constLib.
	-- Removed syme[Set]TypeLib syme[Set]TypeNo symeSetId symeSetTypeCode.
	-- Replaced symeFill{Ex,Im}port with symeFillFr{Library,Exporter}.

	-- Reading from an archive now guaranteed to read the symes in the
		order in which they are put in the archive.
	-- Created struct ar_entry, (ArEntryList) ar->members.
	-- Flushed ar->contents, ar->libs, ar->index, ar->align.
	-- Localized arFirst, arNext, arEndp, arSeek, arOffset.
	-- Added arGetLibrarySymes, arLibraryIsMember.
	-- Rewrote libTableFrArchive in fint.c.

	-- Rearranged libGetSymes to read the library/archive symes first,
		then the lazy symes from other libraries, then the symes
		which must be allocated for this library.
	-- Added type hash code to struct libSyme.
	-- Added static section Buffer to libGetSection.
	-- Added (Syme) lib->self.
	-- Created libLibrarySyme to fill lib->self.

	-- Added symeLib to symeListClosure.
	-- Added symeCloseOverDetails to control whether or not symeClosure
		walks over sub-fields of lazy symes.
	-- Flushed libSubSymes, libPutSubLibs, libGetSubSyme[LibNum].

	-- Added gen0Syme{Generic,Import}.
							(SSD Mar 14)

	-- Domain export initialization done earlier
	-- Improved 'missing export' error message
	-- added tests, and moved loop3, missing1, float2 out of bug list
							(PAB Mar 13)

	-- Now exclusively using gen0MakeDefaultPackage to take apart
		default bodies, with forms, join forms, category maps.
	-- Initialization of self in gen0MakeDefaultPackage checks the stab
		to see if we have generated a location for self already.
	-- Bug fix:  'Aggregate % with { ... }' now works.
	-- Bug fix:  code gen on default packages for curried category maps.
	-- Bug fix:  bad foam sharing in gen0NewTuple[Vals,Size]Ref.
	-- Flushed gen0DeclType, gen0GenDomainDefaults, gen0BuildLazyConst.
							(SSD Mar 8)

	-- genWhere/importation fixes
	-- gen0InitImport fn. clique moved to gf_imps
	-- genfoam clear-out of unused fns
	-- optimiser changes for lazy getting of functions
		 added DV_Keep state to deadvar
		 EInfo slot used to hold forcing function	
	-- created gf_rtime (for runtime calls and objects)
	-- lazy retrieval of non-maps (runtime.as)
	-- runtime check for recursive initialisations
							(PAB Mar 7)

-- v34.3 == NAG Axiom 2.0 Beta A (March 4)
	-- Bug fix:  Now copying top-level of symes when joining export lists.
	-- Added tfAdd{Dom,Cat,Thd,Has}Exports for collecting export lists
	   modulo the proper combining of default bits/const nums/conditions.
	-- Renamed wrapAssignIfNeeded to fintWrap{History,Verbose}.
	-- Bug fix:  inlIsConst, re default bits and parameterization.
							(SSD Mar 2)

	-- Split fintEvalBCall from fintEval for the assembler.
							(SSD Mar 1)

	-- Fixed some bugs in the foam interpreter. Now using both -i and -r
           means: generate .aso file for this .as file and run the interpreter
	   on it.
							(PI Feb 28)
-- v34.2
        -- Added foam interpreter.
							(PI Feb 26)
-- v34.1
	-- Added processing of cascaded exports.
	-- Installed libaslib/libasdem changes to start using cascaded exports.
	-- Created tqual.[ch] to represent qualified types for
		qualified imports/inlines and cascaded exports.
	-- Added domains Builtin, C, Lisp, and constructor Foriegn to lang.as.
	-- Removed CopyExtendeeOps.
	-- Collected {sefo/syme/tform}{To,Fr}Buffer into sefo.c.
	-- Added more stringent auditing for {syme/tf}->libNum and
		the process of writing symes/types to libraries.
	-- Flushed {sefo/syme/tform}Genesis.
							(SSD Feb 25)

	-- inliner mods to allow better env tracking, and default inlining
	-- simple generator bound tracking
	-- map({import foo: I->I from foreign C; foo}, ...) 
							(PAB Feb 24)

	-- Stopped deadvar from eliminating formats added by the inliner
		from external programs.
	-- Bug fix for the use of foamDecl.symeIndex for foreign C exports.
	-- Bug fix for the location of support fns for foreign C exports.
	-- Bug fix (& cleanup) for gen0FoamImportLevel.
	-- Bug fix:  now not copying format list in gen0ProgSaveState.
	-- Bug fix:  now using syme->constLib instead of symeGenesis.
	-- Bug fix:  extension should cover imports in stabSeeOuterImports.
							(SSD Feb 18)

	-- Added latching get code for genfoam (inliner later)
	      and -W lazy option to activate it
	-- Added importation code points
	-- Added unnesting code for genc.
							(PAB Feb 17)

	-- Fixed error reporting for .asa files.
	-- Modified SExpr semantics to unshare symbols etc. (to allow srcpos).
	-- Added code to collect library statistics.
	-- Removed "flag" argument to sxiWrite/abWrSExpr/foamWrSExpr/sxi.*Loop.
	   Instead, uniformly use new SXRW_* modes.
	-- Other cleanups to include.* foam.* sexpr.* lib.*.
	-- Modified -v output to omit 0 columns and show library stats.
							(SMW Feb 16)

	-- changes to gf_add.c for List(Record(X)) 
	-- Added domainName function to runtime
	-- Minor tweaks to optimiser
	-- Generator bounding functions improved.
	-- Added List(Record(...)) tests
							(PAB Feb 8)
	-- Added more honest code generation of domain extensions.
	-- Added gen0MakeExtend* gen0Vars*.
	-- Bug fixes for runtime.as implementation of extensions.
	-- Scope analysis for cascaded exports.
	-- Added scobindExport{To,From,What}.
	-- Added fvFlush, TF_State_NeedsSefo.  (bug fixes for poly.asa)
							(SSD Feb 8)

	-- Void functions exported to C are now declared with return type void.
	-- Replaced gen0MakeExporter with gen0Prog{Get,Set,Clr}Exporter.
	-- Fixed tibupDefine order of inference on parts of keyword arguments.
							(SSD Feb 7)

Version 34.0 February 5, 1994

	-- Fixes to genfoam for List(Record(...)).
	-- Wrote sections of the User's Guide.
							(SMW Feb 4)

	-- Added lib/libaxiom and lib/libaxiom/axclique.asa.
	-- Extended doasharp to handle .asa files.
							(SSD Feb 4)

	-- Type inference for post-facto extensions.
	-- Added TF_Meet.
	-- Added CopyExtendeeOps to work around inlining from extendees.
	-- Added extendMake to runtime.as, with extensive cleanups.
	-- Scope binding for post-facto extensions with extensive cleanups.
	-- Added tformSubstSigma, symeListIntersect; flushed symeGenesis0.
	-- Bug fixes to tformEqual, tformSubst, tfGetDomImports.
							(SSD Feb 4)

	-- Implemented export to C in genfoam.c and genc.c
	-- Put a front end onto xasharp which allows user input of file and
	   options.
	-- bloopMsgFPrintf always sends break loop messages.
							(JMS Feb 3)

	-- Improved facilities for constructing FOAM progs.
							(SSD Feb 3)

	-- Improved representation of generators
	-- runtime initialised from all .as files
	-- mainArgc+mainArgv given initial values
	-- Temporary hacks to aslib/{segment, sinteger, integer}
	-- Minor bugfixes to inline+genc
							(PAB Feb 3)

	-- "inline from AsLib" in asbase.as
							(PI Feb 2)

	-- Split functions in tfsat.c and renamed "tfAppXxxx" functions
	   from tform.c in preparation for handling dependent return values.
							(SMW Jan 31)

-- v33.8
	-- Added -C[no-]idhash to control whether C id hashing is used.
	-- Bug fix for 4 letter hash codes for C identifiers.
	-- Bug fix for character counting for special characters in C ids.
	-- Bug fix for sefoFreeVars re-entrant calling.
	-- Bug fix for library/archive syme lookup.
	-- Added tfAuditExportList to check that export lists are exports.
	-- Porting fixes found by MetaWare compiler.
							(SSD Jan 28)

	-- Case-folded library part of global names (for portability).
	-- Expunged -DTestRun.
	-- Cleaned up test directory.
							(SMW Jan 28)

        -- Split skimenum engine from main-line and used engine in zacc.
        -- Modified zacc to eliminate shell script and call to skimenum.
        -- Modified zacc to have -p flag to automatically insert enum prefix.
	-- Fixed updated msgcat to generate proper binary files.
	-- Fixed libaslib/Makefile to not try to build lib twice.
                                                        (SMW Jan 27)

	-- Improvements to inliner in prep. for inlining defaults
	-- constLib field added to libraries
							(PAB Jan 26)

	-- Preparations for cascaded exports.
	-- Qualified imports/inlines can now use general category forms.
	-- Added stabQualCategory tfGetQualImports tfCanQualInline.
	-- Removed abEqualEquated appendQualifiedList filterSymesByList
		symeRepresentedInList.
							(SSD Jan 26)

-- v33.7
	-- Changed grammar to uniformize import/export/inline.
	-- Changed all libraries and tests to use "import from".
	-- Added syntax for "export x from y".
	-- Changed "use" to "let".
	-- Modified "make all" to call "makeon"
	-- Fixed tools/unix/msgcat.c to not generate long strings
	   (for ansi compliance and portability to MPW C)
							(SMW Jan 25)

-- v33.6
	-- Modified fileRdFind to not find directories.
	-- Modified os_unix.c to distinguish files from directories.
							(SMW Jan 19)

	-- Added stubs for MacIntosh MPW port.
	-- Added tests listrec1.as type5.as type6.as
							(SMW Jan 18)

[Papers for issac 94 -- SMW]

-- v33.5
	-- Preparations for mixin extensions.
	-- syme->extendee changed from Syme to SymeList.
	-- Added 'extend' library section for lists of syme extendees.
	-- Added TF_Join.
							(SSD Jan 17)

	-- All break loop calls go through bloop.c
	-- All SESCAPEs reside in bloop.c
	-- Added asharp icon for xasharp application.
							(JMS Jan 12)

	-- Minor cleanups of scobind.c, gf_add.c
							(SMW Jan 13)

	-- Fluid support
	-- (A add B)@C runtime change
	-- Minor optimiser fixes
 							(PAB Jan 12)

	-- Installed version of list.as which conditionalizes on its argument.
	-- Fixed tests catdef0.as reclist0.as.
	-- symeListCheckCondition now only checks conditions on
		fully-instantiated domains.
	-- Bug fixes to has query processing.
	-- Removed allcond.
							(SSD Jan 12)

	-- Completed port to NeXT.
	   -- modified osAlloc to not use sbrk on NeXT.
	   -- added CC_noncc_fprintf and implementations of {v,f,vf,}printf.
	   -- added own implementation of dirname in tools/unix.
	   -- modified Makefiles.
	-- Converted rest of shell files to use "echon" (was "necho")
	   from echo '...\c': distrib/asharp.ins
	   from echo -n ...:  {doc,lib,src,subcmd}/*/Makefile
	   from necho ...:    {test,timing,tools}/*
							(SMW Jan 10)

-- v33.4
	-- Renamed tf->hasQuestions to tf->queries.
	-- Added handling of has queries to sefo.c, tinfer.c, tform.c.
	-- Moved has query handling from stabImportFrom to tfGetDomExports.
	-- Moved stabHasDebug to tfHasDebug.
	-- Added [tf,ab]OuterDepth tfGetHasExports, libFillTypeNumbers.
	-- Added tformList functions to sefo.c, tformToBuffer.
	-- Removed PrintCircle; merged sstPrint0 w/ sstPrint1.
							(SSD Jan 10)

	-- Port to Silicon Graphics Irix.
	   -- Fixed sexpr.c to not cast between function and data pointers.
	   -- Modified "unicl.c".
	   -- Modified powering operations in foam_c.c avoid both
              "statement not reached" warnings on Mips CC and
              "does not return value" warnings on Metaware CC
              by not having "exit" last.
	   -- Changed use of "cp -p" in Makefiles to "cp" or "mv".
	   -- Added memory layout parameters.
	-- Partial port to NeXT (compiles some A# files).
	   -- Added "putenv" and "getcwd".
	   -- Added memory layout parameters.
	-- Presentation at Geometry Workshop in Minneapolis.
							(SMW Jan 3-6)

	-- Added 'asharp -h > Help' to doc/DevNotes/Makefile.
	-- Added symeIsSelf[Self] tf{,Clr,Set}NeedsSefo.
	-- Added TFS_Sefo to control satisfaction during tisef.
	-- Bug fixes to tformSubst0 symeWillSubst stab{Clr,Set}Substable
		tfSymesFr{Enum,Record,Union} tfDef{Stab,Self}
		tfGetCatImportsFrWith tiTfSefo.
	-- Cleaned up debugging code for symeFillImport.
	-- Merged DeferCondition and AllCond code in syme.c.
	-- Removed GeneratorSymes as obsolete.
							(SSD Jan 6)

-- v33.3
	-- Changed parsing of "has" from an application to "AB_Has".
	-- Modified scobind to record all "has" questions on a TForm.
	-- Moved directory "test/test.out" to "testout" to help on VMS.
	-- Cleaned up xfloat_t.c.
							(SMW Dec 20)

        -- Fixed native [s|d]float <-> extended [s|d] floats convertions.
							(PI Dec 19)
-- v33.2
	-- Connected "ablogic.c" to "ti_tdn.c" to record conditions from "if"s.
							(SMW Dec 18)
	   
	-- Put a unique hash base 36 hash number on to the front of generated
	   global C identifiers.
	-- Added -Cidlen option.
	-- Modified break loop to return to original node when Home or an
	   error message is selected if a new node had been selected via
	   clicking and dragging.
	-- Made abSetEnd and abEnd into functions.
							(JMS Dec 17)

	-- Added new code to handle conditional export exposure:
	   -- dnf.[ch] dnf_t.c for disjunctive normal form of boolean exprs.
	   -- ablogic.[ch] for recording conditions known at pts in user progs.
							(SMW Dec 16)
						
	-- Added current/Makefile rules 'make all' 'make most'.
	-- Added category XStructType with defaults in Xlib.as.
	-- Added test to make Pointer a Conditional in pointer.as.
	-- Cleanups/fixes to ab{To,Fr}Buffer, gen0Sequence, inlining.
	-- More sefo efficiency changes.
							(SSD Dec 16)

	-- Revamped conversion to external floating point format,
	   splitting off xfloat.[ch] and xfloat_t.c.  Handed off to PI.
							(SMW Dec 13)

-- v33.1 
	-- Modified {store,ascomp,cmdline}.[ch] to allow -Wgc to work even
	   in A# versions compiled with NDEBUG.
							(SMW Dec 14)

	-- More efficiency improvements in sefoFreeVars, sefoSubst.
	-- Free variables now only include SYME_Param's and ssymSelf's.
	-- Substitution no longer follows types on symes from stabs which
		have no substable symes.
							(SSD Dec 14)

	-- Simple (incomplete) exception handling.
	-- Has questions now answered 
	-- Build of call to file-imports 
							(PAB Dec 9)

	-- Fixed xasharp and break loop handling of errors with no AbSyn nodes.
							(JMS Dec 9)

	-- Removed redundant abSetEnd calls from as.y file.
	-- Fixed note handling in break loop and debugging code.
	-- Added code to move back and forth between notes and messages
	   in xasharp.
							(JMS Dec 8)

	-- Fixed C code freeing problem in genc.c.
	-- Removed CCodeFree environment variable.
	-- Added comsg note information to the break loop and xasharp.
	-- Added signal handling to xasharp.
							(JMS Dec 6)

	-- Cat/Thd export checking in tfSat no longer uses symeListSubst.
	-- Added SymeList argument to {sefo,syme,tform}Equal0 to allow
		equality testing modulo equivalent symes for %. (symeEqualMod)
	-- tf->self has changed from a Syme to a SymeList.
							(SSD Dec 3)

Version 33.0 December 2, 1993

	-- sun cc port
							(PAB Dec 2)
	-- AXP/OSF1 port.
	-- Changed representation of FileName and interfaces to osFname...
           functions to allow for OS-dependent fields (e.g. VMS version nos).
                                                        (SMW Nov 30)
	-- Sun gcc port
	-- Bugs fixed
							(PI Nov 30)

	-- Added -Wgc flag to command line.  Removed ASHARPGC environment var.
	-- Fixed "fixbug" to not gobble up subject lines containing colons.
							(SMW Nov 24)

-- v32.5
	-- Expunged basic0 from aslib and eliminated tests using it.
	-- Combined libfoam building from src dir, runtime dir, aslib dir.
	-- Made outports real.  Now all BasicTypes can print to files.
	-- Fixed doasharp to have proper return code on failure.
	-- Split aslib directory into libaslib libfoam libasdem.
							(SMW Nov 23)

-- v32.4 
	-- A add B @ C
							(SSD Nov 23)
	-- Fixed bugs
							(PI Nov 23)

	-- Added a function to determine whether xasharp is active.
	-- Modified ascomp.c and cmdline.c to report errors to xasharp.
	-- Corrected execution of asharp call from xasharp and error handling.
							(JMS Nov 22)

-- v32.3
	-- Cleaned up foam builtin operations (foam/opt/genc).
	-- Added or modified foam instructions for unwinds + fluids.
	-- Improved bug messages for incorectly initialized tables.
	-- Merged Tony Kennedy's os_vms.c file.
	-- Added env variable to cause compiler to GC on demand.
	-- Improved GC behaviour by increasing by a %.
							(SMW Nov 22)

	-- Added notes for most of scobind errors
	-- Added option -M notes
	-- Introduced heuristic error messages for implicit set! and operators.
							(PI Nov 21)

	-- Removed bad zeros from bloop.c
	-- Modified foam_c.c and foam_c.h to handle new Foam builtins.
							(JMS Nov 16)

	-- (genfoam) Some Conditional Code is now handled
	-- Improved handling of with expressions
   		- with { Foo } will now generate code
	-- Initial changes (not working) for RT hashing
	-- Temporary fix in tform cat. exports/defaults interaction
	-- Added symeUnConditional flag
	-- filled in peep.c
							(PAB Nov 16)

        -- Improved type inferencing error system. Reduced number of 'stupid'
           (redundant) errors.
	-- New errors for sequences.
        -- Introduced "see Note" messages.
        -- Bugs handled and fixed.
        -- Moved all terror calls in top down type inf. phase.
                                                        (PI Nov 14)
-- v32.2
	-- Moved A# server to leonardo:/asharp from radical:/spad/local/asharp.
	-- Modified maintain, deliver-bug, profiles etc, etc.
	-- Added mabin directory for asharp "maintain" programs.
	-- Renamed mailbug -> asbug
							(SMW Nov 8-9)

	-- Now allowing type form audits (-> constraints) on pending tforms.
	-- Added ta{Count,Serial,List,Alloc,Init,Fini,Equal,Move}.
	-- Added tfState, tf{Set,Is}{TForm,Pending,Meaning}, tfSetMeaningArgs.

	-- Added SatMask type to pass more control bits in/out of tfSat.
	-- Added TFS_{Probe,Commit,Report} to control when tfSat can call
		side-effecting operations.  (tform audits, abembed tags)
	-- Replaced OpErr_* with SatMask error mask bits.

	-- Created tfSat{,Map,Args,Arg,Dom,SubList}.
	-- Replaced tfCrossSat[0] with tfSatArgs.
	-- Replaced variants of old tfCrossSat logic w/ calls to tfSatArgs.
	-- Replaced inlMakeExporterSubList with tfSatSubList.

	-- Replaced struct tform0, badArgType, whyRejected with struct treject.
	-- Added tr{Alloc,Free}, tfListFr{Symes,TPoss,TUnique}, bputTReject.
	-- Removed bputTForm0, tform0New, badArgTypeNew.

	-- Added Aggregate defaults, tails$List(S).
							(SSD Nov 8)

	-- Split .../bin into {toolbin,bin} for progs for {local,end}-use.
	-- Split .../lib into {srclib,lib}  for libs  for {local,end}-use.
	-- Fixed doasharp to handle names which truncate (e.g. matri001.o).
							(SMW Nov 5)

-- v32.1
	-- Modified genfoam.c/foam.c to generate better code for loops.
	-- Renamed files in aslib to use single case and fewer abbrevs.
							(SMW Nov 3-4)

	-- Modified absyn.[ch] and srcpos.[ch] to handle position of an
	   AbSyn as a stack of source positions.
	-- Changed xasharp to enable/disable beeping with the application
	   resource variable XBreak*Sound: True/False
							(JMS Nov 04)

	-- Improved error messages for set! operator.
	-- Improved error messages for assignment.
	-- Added error msg if a variable is declared of type multiple.
	-- Fixed some bugs related to multiple assignment.
							(PI Oct 27)

[Oct 27-28 Journee's Axiom in Paris (SMW)]
[Oct 22-26 group move to main building]

	-- fixed bug475.as (bad inference rule for 'if' subexpr)
	-- Improved error messages
	-- Handled bugs (partially fixed bug283.as)
							(PI Oct 19)

	-- gen0FindDefs simplified
	-- Emerge fixes
	-- Minor bugfixes to genfoam (free initialisations, and gen0Sequence)
							(PAB Oct 18)
Version 32.0 October 15, 1993

	-- Added ASHARPARGS="-Wcheck" in makeon script.
	-- Many cleanups for clean compile under gcc 2.4.5.
	-- Ports to AIX ESA, AXP/OSF1, Sun.
	-- Fixed printing of messages at sposEnd.
	-- Modified SrcPos to use correct masks for 64-bit longs.
	   (Fixes infinite loop on AXP.)
	-- Fixed Sun linker errors on files which do not use domains
	   by putting output.o in libfoam.a rather than libaslib.a.
	-- Extended gen0AbType to know about literals. 
	   (Fixes seg fault in defarg8.as on Sun and AXP.)
	-- Fixed tibup{Declare,Define} to use abReferTPoss, rather than
	   assuming idtype has a unique type. 
	   (Fixes seg fault in funct5.as on Sun and AXP.)
	-- Removed test "empty0.as" since it duplicates test "triv0.as"
	-- Handled bugs
	   [ Changed fixed sizes array to be UShort instead of UByte. ]
	   bug396 AXP-OSF version blows up on asharp -h [/dev/null][v29.
           bug465 Port of v31.0 to AXP/OSF1 ; core dump in initialisation
	   [ Put output.o in a different library ]
	   bug477 triv0 gives linker error messages on Sun+OSF/1 [../test
							(SMW Oct 14)

	-- Added test empty.as for bug310.as
	   Updated float0.as to test bug304.as
	-- Fixed DFloatSprint in util.c to create correct doubles in C.
	-- Fixed store.c to have same types in parameters as in declarations
	   for stoAlloc, stoSize and stoResize.  Fixes bug345.as
	-- Made PtrIsNil into a function for C code generation.
	-- Modified xasharp.c and widgets.c to exit more smoothly.
							(JMS Oct 14)

	-- Added new functions in linear.c catching unbalanced {,},{|,|}
	   errors.
	-- Improved error msg for operators without suitable meanings. Now all
	   the meanings not imported but matching with arguments types are
	   showed.
							(PI Oct 14)
-- v31.3
	-- Handled bugs
	   [ fixed titdnIf ]
	   bug291  Does not treat the if in the repeat as no-value mode so

	   [ fixed osMemMap bug -- it was not expecting putenv ]
	   bug255  Segmentatino fault when compiling two null files [/dev/
	   bug417  (Error) Program fault (segmentation violation). af
	   bug459  -v flag core dumps with multiple files (v31.0)

	   [ improved macro expansion error checking ]
	   bug274  Dependent types?

	   [ improved run time error handling of union branches ]
	   bug295  unions

	   [ handled by other fixes ]
	   bug189  arsharp -r gets Getter failed due to local declaration
           bug207  compiler complains that a value is needed from the repe
           bug272  Bad pointer to source in macro expansion ... well , not
	   bug298  list

	   [ not a bug ]
	   bug253  lines commented out show up in compilation (use testas)

	-- Added tests for handled bugs.
							(SMW Oct 13)

        -- Added extend[01].as.
        -- Moved aslib/{X11,Xlib}.as to current/lib/X11.
        -- Added {lib,contrib}/Makefile.
                                                        (SSD Oct 13)

	-- Fixed genc.c to handle creation of empty records.
							(JMS Oct 13)

	-- Improved jflow.c to combine blocks in each pass.  
	   This propagates control var info farther and removes many more
	   control nodes.
							(SMW Oct 12)

	-- Disallow assignments to 'for' variables.
							(RSS Oct 12)

	-- Fixed C code line breaking for label statements.
	-- Cleared from BUGS: gbtest.as
							(JMS Oct 12)

	-- Fixed emit.c to link .o files from C file splitting.
							(JMS Oct 11)

	-- Fixed printing of sposEnd.
							(SMW Oct 10)


-- v31.2
	-- Revised sefo.c to permit different marking schemes.
	-- Implemented two new trial marking schemes to fix sstNext bug..

	-- Cleared from BUGS: doc0.as msg.sh defarg8.as

	-- Handled bugs
	   bug169 4 meanings for Record 
	   bug275 records
	   bug276 Re: A# bug275 received (too many simultaneous traversals)
	   bug366 Compiler crashes with (segmentation violation). [bugs/b
	   bug367 compiler fails assertion (debug version: bug366.as) [ad
	   bug380 Bug: sstNext:  too many simultaneous traversals [bug10.
	   bug392 Bug: sstNext:  too many simultaneous traversals [listgc
	   bug397 should have a meaning for List FFE(S) (simultaneous trav)
	   bug419 sstNext: too many simultaneous traversals [defarg8.a
							(SMW Oct 8-9)

-- v31.1
	-- Modified symeListClosure so it only asks whether something
	   "is marked" and never whether it "was marked" (after sstDone).
	-- Added debugging code for sstNext/sstDone. Removed sstBind.

	-- Added cases to test files: forn2.as tinfer2.as respfile.as
	-- Added -Mdetails -M0 -M1 -M2 options.
	-- Improved some scobind messages to name the offending identifier.

	-- Handled bugs
	   bug114 compiler complains of 2 meanings for if, while only one
	   bug130 implicit type for x in function approxNthRoot, if line
	   bug131 Exit type from call to error not correctly unified with
	   bug136 confusion over % arg to Record form creates 2 = for % c
	   bug138 no meaning found for error, although Exit exports it.
	   bug156 Cannot import foreign values unless they are functions
	   bug158 compiler errors seem incorrect and unintelligible
	   bug356 asharp-t core dumps in ccode,format (v29.2 sparc) [/dev
							(SMW Oct 7-8)

	-- Fixed definition and declaration of variables and functions
	   in C file splitting.
							(JMS Oct 7)

	-- Fix bug caused by declaration coming after first assignment
           and before second (bug 393).
							(RSS Oct 7)

	-- Modified ascomp.c and emit.c to do handle asmain file better.
	-- Improved include.c to warn about unknown system commands
	   even when source is #if-ed out.
	-- Improved cmdline.c to not treat 'a' inside a bad option string
	   as an '-a' option.

	-- Handled bugs
	   bug288  Incorrect handling of -a [/dev/null][v28.B]
	   bug377  illegal combination of pointer and integer uniclEnvVar 
	   bug381  compiler very confused by "add" [bug9.as][A# version 29
	   bug387  Cannot have a single defaulting argument [t1.as][v29.7]
	   bug401  asharp basic.as on DOS -> errors
	   bug416  #elif not working [foo.as][v30.0+]
	   bug432  asharp -Fasmain foo.as -- generates asmain.c with G_ ra
	   bug433  -v causes bogus stats for fake asmain phase [/dev/null]
	   bug442  Testing new recipients of bug reports (PAB + PI please 
	   bug443  SI is not SI?
							(SMW Oct 6)

	-- fixed where/generator interaction
	-- improved generation of lisp code
	-- fixed return problems in GenC
	-- Initialisation of a file can only be called once
							(PAB Oct 6)

	-- Improved dos .bat files.
	-- Changed abbreviation for Generator from "Gtor" to "Gener" throughout
							(SMW Oct 5)

Version 31.0 October 4, 1993

-- v30.8 
	-- Porting changes for DOS:
	   Fixes/mods to genc.* ascomp.c os_dos.c.
	   More debugging for file.c lib.c archive.c.
	-- Added rules in top-level Makefile to build DOS source diskettes.
	-- Added build.bat for DOS.
	-- Added foreach.c program in tools/dos/dos_gcc.
	-- Modified all .bat files to drive themselves from file list files.
	-- Added dosfile.c program to tools/unix. 
	   Does CRLF conversion if it decides a file is not binary.
	-- Changed convention in file list files to now omit file type.
	-- Updated tools/cms/*.exec to use new convention for .lst files.
							(SMW Sept 30-Oct 4)
	   


-- v30.7
	-- Improved error messages when there is no suitable interpretation
	   for an operator. Now it works with defaulting arguments and
	   parameter passing by keyword.
	-- Added specific error message for the `::' operator.
	-- Added specific error message for the `set!' operator.
							( PI Sept 29 )

	-- Removed getenv guard on flow optimizer, connecting it to -O & -Q.
	-- Extended inliner to do functions with return only in the middle.
	-- Extended inliner to do multiple value returns.
	-- Fixed misc inliner bugs.
	-- Fixed misc Foam to/from FlowGraph bugs.
	-- Rebuilt library and tests with flow optimization.
	-- Changed List(int) to List(AInt) throughout for portability.
							(SMW Sept 27-29)

	-- Changed BuiltinXxx to Xxx in test files.
	-- Flushed UseBasic from tests by using either Basic0 or AsLib.
	-- Various other test changes dictated by aslib changes.

	-- Now separately compiling:  lang.as machine.as ascat.as.
	-- Split extended domains from basic.as into separate files:
		Tuple.as Gtor.as Segment.as Boolean.as Byte.as
		HInt.as SInt.as Integer.as Pointer.as Char.as
		String.as OutPort.as SFloat.as DFloat.as
	-- Various aslib changes to accomodate machine.as.
	-- Created polycat.as.

	-- Added symeListHasExten{sion,dee}.
	-- syme{Type,TypeCode,Exporter} now respect symeExtension.
	-- Using temporary amnesia for symeExtension in symeFillImport.
	-- Bug fix:  symeTypeCode didn't distinguish lazy imports/exports.
	-- Bug fix:  tibup0InferLhs tried to free too much.

	-- Added AB_Extend case to genFoam.
	-- Treating SYME_Extend like SYME_Export in:  isOpenCallable, gen0Syme,
		gen0Vars0, gen0SefoIsParameterized, gen0GetGlobalDefs.
	-- Walking stabGetExtendSymes in gen0Vars0, gen0GetGlobalDefs.
	-- Using temporary amnesia for symeExtension in genDefine, gen0Vars0.
	-- Added gen0ExtendSyme gen0MachineType gen0GetGlobal
		gen0UseStateFormat.
	-- Bug fix:  marking the right format used by gen0InitImport.
	-- Bug fix:  removed gen0TempVar to fix nested calls in genApply.
	-- Bug fix:  genCollect now setting abState as well as abTUnique.

	-- Added ssymThird ssymHas ssymMachine.
	-- Changed special symbols for builtin types to machine.as versions.
	-- Removed unused parameter from inlInlineConstCall.
	-- Cleaned up symeGenesis inlCall.

	-- Added abHashModDeclares {ab,tf}HashArg.
	-- Added scobindDefineRhs syme{List,Type,Archive}Equal0 symeExtension.
	-- Added libCheckSymeNumber lib{Put,Get}SymeExts.
	-- Added inl{Unit,Prog,Expr,Call,Trans}Debug cfoldDebug emergeDebug.
	-- Added inlGetVarTable[Env].
							(SSD Sept 29)

	-- Switch tmp identifier and file name of function closure identifier.
	-- Corrected the generation of C macro calls for builtin functions
           for all uses.
	-- Modified C code generation and emission to split C code files
           and create a header file after code size surpasses a designated 
           limit.
	-- genC now returns a list of CCode nodes.
	-- Generate extra files using a designated file name.
							(JMS Sept 28)

-- v30.6
	-- Redesign of flow graphs to support generic data flow analysis.
	-- Added bitv.[hc] for bit vector type.
	-- Added dflow.[hc] for dataflow analysis.
	-- Rewrote jflow.c to use DFA to split and specialize control nodes.
           This eliminates almost all extra control nodes from optimized code.
	-- Added macros and place-holder files for VMS port.
	-- Modified conditional debug macros to not require -WTd+...
	-- Changed back to -WD+... from -Wdebug+...
	-- Added a couple of foam support functions and name changes.
	-- Collected compatative stats for store.c compiled different ways.
							(SMW Sept 20-27)
	   

-- v30.5
	-- AXP/OSF1 port (DEC Alpha)
	   -- Fixed store.c to have minimum piece size be >= pointer size.
	   -- Fixed LIB_OFFSET_NONE to be 64-bit safe.
	   -- Fixed generateFoam to wait until program is valid before
	      adding inline info.
	   -- Fixed ccode.c to safely handle 0 entries in ccoPrMany.
	   -- Modified unicl for OSF1.

	-- Fixed Unicl handling of pass-through options for -Cargs="-x".
	-- Fixed Makemake to not generate, e.g. FOAMH(os_cms.o)
        -- Massive clean out of emit.h.
        -- Start of cleanup on emit.c.
  	-- Changed osCurDirName to be a function and added os{Tmp,Root}DirName.
        -- Settled on "-Fasmain" for what had been "-Fm" or "-Wstub".
        -- Fixed -Fasmain to warn properly about overwriting/obsoleting files.
        -- Rationalized naming of "main" files:
           the start-off user file is the "entry" file and
           the temporary C file is the "asmain" file.
                                                        (SMW Sept 15-19)


-- v30.4
	-- Added tfCrossWhichNotSat returning the position of the first
		element which not satisfies.
	-- Added terrorNotEnoughExports which provides error msgs for
		missing exports.
	-- Added terrorApplyFType which provides error msgs for missing
		parameters matching in function calls.
	-- Changed error msgs for missing exports and missing parameter
		matching.
							(PI Sep 17)

	-- Changes to top-level foam generation.
	-- Fixes to minor union bug.
	-- Fixes to where expression handling in genfoam.
	     where0 off bug list.
	-- Fixes to SExpr printing.
	-- doc0.as now on bug list.
							(PAB Sep 16)

-- v30.3
        -- Fixed -Wstub.
        -- Removed test/emit0.sh from BUGS.
        -- Added provisional libraries lang.as machine.as xbasic.as sdfloat.as.
        -- Added "runtime" directory to test minimal set src files for libfoam.
                                                        (SMW Sept 15)


	-- Introduced keyword 'extend' which expects a sequence of definitions.
	-- Added {KW,YKW,AB}_Extend, abNewExtend, struct abExtend.
	-- Added AB_Extend case to abCheck, abPutUse, abPPClipped0.
	-- Added abCheckOneOrMoreDefinitions.

	-- Added scobindExtend to introduce a SYME_Extend for each definition.
	-- Added stabAddTFormExtension to collect extensions on tformUses.
	-- Added fields:  TFormUses->extensions, StabLevel->extendSymes,
		StabEntry->extensions, Syme->extension, SymeOrigin.extendee.
	-- Added symeNewExtend syme[Set]Extendee stabDefExtend
		stabAddExtension stabGetExtensions stabGetExtendSymes.
	-- Added SYME_Extend case to scobindGeneral, scobindAddMeaning.
	-- Extended symeType to check for an extension.

	-- Added tiTfExtend1 to match an extension with its extendee.
	-- Added stabExtendTypes to extend the tposs returned by stabGetTypes.
	-- Added ti{bup,tdn,sef}Extend tiGetMeaning tiGetExtendee.
							(SSD Sep 15)

-- v30.2
	-- Converted aslib to use Boolean and OutPort throughout.
	-- Started conversion of -Fm to -Wstub.
	-- Diagnosed Tuple % bug in String.
							(SMW Sept 14)

	-- Type checking the lhs of defines in the first pass over the
	   defaults so we can track which exports have defaults.
							(SSD Sep 13)

	-- Renamed Bit to Boolean and Outport to OutPort (used macros in aslib).
	-- Experiments building library with split basic.as.
	-- Added   -Fm to keep generated main .c file.
	-- Changed -Wfast to be the default.  Use -Wcheck for debugging.
	-- Changed -WD+xxx to -Wdebug+xxx.  Added   -Wdebug+show.
	-- Changed stoCtl interface.
	-- Merged  os__sbrk.c into os_unix.c, conditionalized for dos-gcc.
							(SMW Sept 6-13)

-- v30.1
	-- Fixed FiPtr/FiWord problem for global variable assignments
	   in C code generation.
							(JMS Sep 8)

	-- Created tfDefStab to create a stab to isolate the syme for self
		on types which would not otherwise have a stab level.
	-- Performance improvements in sefoFreeVars.
	-- Various bug fixes moving toward legitimate type form partitioning.
							(SSD Sep 7)

	-- Created tiTopClique and friends to extract the cliques
		in the type form graph in topologically sorted order.
	-- Created stub for gen0ExportToC.
							(SSD Sep 3)

	-- Now type inferring the default bodies of types in a second pass
		in typeInferTForms and tiTfDefault.
							(SSD Sep 1)

	-- Using topological sorting from the front and from the back.
	-- Changed TF_SubSup to TF_Third to represent third-order types.
							(SSD Aug 30)

[ Aug 30    Pietro Iglio (PI) starts ]

	-- Read and write source position information in SExpr with -g set.
							(JMS Aug 24)


Version 30.0  August 22, 1993

-- v29.8
	-- Changed parsing of "where" to be looser.
	-- Expunged abHook.
	-- Added ASHARP variable to pass command line options.
	-- Added "-W fast" (cuts compilation time in half).
	-- Added "-B root" option to give ASHARPROOT on command line.
	-- Added scobindFiniFile to remove inCompInteractiveLoop.
	-- Changed printing of msg name under "-M name".
	-- Added handling for [Macro [Where D E]].
	-- Verification port to DOS 5.0.
	-- Fixed macro expander to handle mac defs on rhs of "where".
	   (I.e. push them into outer scope.)
							(SMW Aug 21-22)

[ Aug 20    Gerald Baumgarnter finishes]

	-- Fixed some default/keyword argument bugs.
	-- Installed test files defarg[0-8].as.
							(GB Aug 20)

	-- Modified deliver-bug.sh to make sender and subject prominent.
	-- Removed duplicate rule for runtime in aslib/Makefile.
	-- Added depend7.as test.
							(SMW Aug 19-20)

-- v29.7
	-- Fixed genfoam.c to handle fall-through in f:X->() functions (w SSD).
	-- Additional Sun4 port fixes. Fixed null dereference in emit.c
	-- Fixed genc.c to handle non-function foreign imports.
	-- Added files.as to aslib for basic file i/o, stdin/out + cmdline.

	-- Extended front end to allow .asa files as input.
	-- Modified sexpr.c to report errors based on SrcPos.
	-- Modified {ab,foam}RdSExpr and sxiRead to take FileName + lno args.
	-- Modified sexpr.c to put src pos upon read SExprs. (non ";line" case).
	-- Modified absyn+foam to report errors on bad FrSExpr (was assertion).
							(SMW Aug 18)

	-- Assert that global line position table exists in srcpos.c.
	-- Modifed foam.c to write source positions into .aso files for
	   sequence statements and program beginnings only.
							(JMS Aug 18)

	-- Fixed bug in emitRunExecutable.
	-- Created tfMultiHasDefaults, changed tfAppEmbed to handle defaults.
	-- Fixed tfAppSelectArg to handle keyword args correctly.
	-- Don't type check defines used in value context (i.e., keyword args).
							(GB Aug 18)

	-- Modified grammar to parse "default", "local" etc. as desired.
	-- Removed "hide" keyword.  Introduced ":*" as non-importing declare.
	-- Changed "::" to not imply import.
	-- Renamed genf{comm,add,gtor}.* to gf_{comm,add,gtor}.*.
	-- Verification port to AIX/ESA.
	-- Verification port to Sun4.
							(SMW Aug 17)

-- v29.6
	-- Modified grammar to parse ":" loosely.
	-- Updated aslib and tests.
							(SMW Aug 16)

	-- Replaced TF_None with TF_Multi with zero arguments.
	-- Replaced None with () in .as files.
	-- Removed TF_None, SEFO_NoneSyme, ssymNone.

	-- Removed NoValue error messages from abuse.c.
	-- Checking NoValue errors wrt tfNone during type inference.
	-- Created ti{bup,tdn}0NoValue.
	-- Added AB_Use_RetValue.

	-- Changed AbEmbed to a bit mask of allowed/applied embeddings.
	-- Rewrote tfSatEmbed to use bit mask AbEmbed values.
	-- Created tfSatValues tfSatReturn.

	-- Added tfIsNone cases to genApply gen0Lambda.
	-- Created gen0InitExportList--patched gen0Self.
	-- Bug fixes: compFinfov initialization, comsg sorting, sideFx on {}.
	-- Checking valueMode in inlInlineProg.
	-- Lifted resMod144 to the top level of prime.as.  (fixes iroots.as)
	-- Added AB_Qualify to abEqualModDeclares sefoGenesis gen0SefoHash.
							(SSD Aug 16)

	-- Created tfMapHasDefaults and tfAppSelectArg.
	-- Created gen0AbArgf, an AbSynGetter for use in genFoam.
	-- Changed tfCrossSat, titdn0ApplyFType, and gen0MakeApplyArgs
	   to handle default arguments and keyword arguments.
							(GB Aug 16)

	-- Split scobindApply into scobindApply and scobindApplyScope. (SSD)
	-- Changed scobindApplyScope to handle defines as parameters.
	-- Made the rhs AbSyn part of tfDefine and tfAssign nodes.
							(GB Aug 11)

	-- Fixed emit0.sh.
	-- Created tfNewWith, changed tfWithFrAdd.
	-- Created tpossWithFrAdd to construct the possibility set for
	   add bodies correctly.
							(GB Aug 10)

-- v29.5
	-- Added symbol meaning for %% to third-order types in tiTfSubSup1.
	-- Added collection of default symes in tfGetCatImportsFrWith.
	-- Added ssymSelfSelf syme{Has,Set}Default.
	-- Added abNewApplyOfComma {stab,tf}Get{Library,Archive}.
	-- Fixed sharing of library symbol meanings.
							(SSD Aug 9)

	-- Fixed type checking of defines, declares, and lambda, added
	   type checking for `add.'
							(GB Aug 6)

	-- Modified lib.c, srcpos.c and foam.c to read/write source positions
	   for .aso files with -g.  Added emit1.sh test to check this.
							(JMS Aug 5)

	-- Fixed pretty printing of 'add' and 'with' forms.
							(RSS Aug 5)

	-- Added lots of operations in basic.as, ibits.as, nni.as, ratio.as,
	   runtime.as, xlib.as so the domains type check correctly.
							(GB Aug 4)

-- v29.4
	-- Corrected macro calls in genc.c and foam_c.h.
	-- Copy source position information between foam code, absyn code,
	   and sexpr code.
							(JMS July 30)

	-- Now saving syme conditions to .asy files.
	-- Now allowing arbitrary category forms on the rhs of 'with' clauses.
	-- Now using abstract syntax to represent rhs of 'with' clauses.
	-- Added tfWithWithin, tfWithBody, tfGetCatImportsFrWith.
	-- Removed tfSymesFrWith, tf[Get]CatExportsFrWith.

	-- Only saving subsup exports when we can't get them from syntax.
	-- Added debugging code for symeListClosure.
	-- Saving type of % as 'Type' instead of the full form used in tinfer.
	-- No longer following the type of % during substitution.
	-- Removing abTUnique in symeListClosure since we don't save it anyway.
	-- Recomputing free variable list for all type forms before saving.
							(SSD Aug 3)

	-- Export symes for =, ~= and apply are only put in Record and Union
	   if all constituents have those symes.
							(RSS July 30)

	-- Finished eliminating explicit zero arguments to fn calls (badzeros).
							(SMW July 30)

-- v29.3
	-- Rewrote 'badzeros' tool to report only those zeros which
	   appear as explicit arguments to a function or maro call.
	-- Started to fix portability bugs caused by different sized zeros
	   as args to no-prototype or vararg functions (badzeros).
	-- Added char0, long0 etc macros to cport.h
	-- Converted most badzeros in src/* to NULL,long0,... as appropriate.
							(SMW July 28)
	   
	-- First pass at conditional exports:  'if' 'has' 'and'.
	-- Added syme[Set]Cond syme[List]{Add,Check}Condition.
							(SSD July 27)

	-- Don't use 'which' in emit-t.sh.
	-- Created absPrintDb and tpossPrintDb.
							(GB July 26)

	-- Fixed test/ar[3,4].sh so they don't leave libarch.c in test/.
	-- Fixed test/emit-t.sh to work around a bug in AIX.
							(GB July 21)

	-- Created sefoPrintDb, symePrintDb, tformPrintDb, tfPrintDb,
	   abPrintDb, and abPrintClippedDb for use in a debugger.

	-- Fixed some more bugs in emit.c.
	-- Created test/emit-t.sh and test/test.out/emit-t.shR.

	-- Changed tools/unix/testas to clean up generated files in $tmpdir.
							(GB July 21)

	-- Added -Sftype=xxx option.
	-- Made -S... imply -Fl and -C... imply Fc.
	-- SrcPos end positions in Token and AbSyn structures.
           (JMS will install)
							(SMW July 16)

	-- Changed interface of genLisp, doesn't generate an expression
	   to call the main entry point anymore.

	-- Changed genC, doesn't generate a main() function anymore.
	-- Created genMainC, which generates the main() function now.

	-- Created emitSetMainFileName to set the finfo for the temporary
	   main.c file.
	-- Print warning message when removing files during failure cleanup.
	-- Miscellaneous bug fixes in emit.c and cleaning up of code.

	-- Created compMainCFile to generate and compile the temporary main.c.
	-- Created compFileMainBack and compPhasePutMainC.
	-- Changed interface of compPhasePutLisp and compPhasePutC.
							(GB July 15)

-- v29.2
	-- Record/Union constructors return BasicType's.  (List Record)
	-- The type of self is now more completely analyzed.  (Array %)
	-- Replaced 'restrictions' with 'domExports' and 'catExports' in .asy.
	-- Category maps now getting distinct type forms.
							(SSD July 14)

	-- Restructured and corrected emitExecutableNameOrWarn so the
	   right warning messages are printed when `-o' is given.
	-- Created emitFileRemove to remove files early that would later
	   be overwritten in emitFileRename anyway.

	-- Created emitFnameTempAndLock to lock temporary files.
	-- Remove the lock files in emitFileInfoFree.

	-- Created emitFileCleanup to delete temporary and unfinished
	   files, lock files, and rename files when necessary.
	-- Call emitFileCleanup in compExitHandler when there's a failure.
							(GB July 10)

	-- Split genfoam.c into genfoam.c, genfadd.c/h, genfgtor.c/h
	   and genfcomm.h.
							(RSS July 9)

-- v29.1
	-- Changed abPathToNode to compare srcpos of nodes in order to
	   get the correct node when nodes are used multiple times.
							(JMS July 9)

	-- Added function macro C calls in foam_c.h for C code generation.
							(JMS July 8)

	-- Split tipasses.c/h into ti_bup.c/h, ti_tdn.c/h and ti_sef.c/h.
							(RSS July 8)

	-- Removed osFnameTemp, osFnameTempLength.
	-- Created osFnameTempSeed, osFnameTempDir.
	-- Removed fnameTempStatic[,With,Without]
	-- Changed interface of fnameTemp, created fnameTempVector.

	-- Created osFileRename, fileRename.

	-- Defined file type for lock files, FTYPE_LOCK, FTYPENO_LOCK.

	-- Created warning message AS_FunnyMain.
	-- Created fatal error messages AS_CantUseMain, AS_CantFindTemp.

	-- Created EmitFileInfo data type.
	-- Changed interfaces of emitIsMain, emitIsOutputXxxx, emitFileName.
	-- Created emitInit, emitFileInfoInit, emitFileInfoFree.
	-- Changed interfaces of all dumb emitters and emitExecutable.
	-- Moved logic from emitIsOutputNeededQuiet to emitInitOptions.
	-- Decide for which files we need temporary names in emitFileName.
	-- Rename C and object files if necessary after we're done with them.
	-- Renamed emitExecuatableName to emitExecutableNameOrWarn and
	   inserted tests for file clobbering.
	-- Restructured emitExecutable.

	-- Changed interfaces of compXxxxFile, compFileXxxx,
	   compIsMoreAfterXxxx, and compPhaseXxxx.
							(GB July 8)

Version 29.0, July 2, 1993

	-- Debugging and portability fixes.
	-- Updated User Guide for Beta 1.0.
							(SMW July 2)

-- v28.I
	-- Initial trial port to DEC Alpha AXP and Cray YMP.
	-- Fixed indentation/linearizer bugs in scan.c and linear.c.
	-- Cleared out PBUGS list from test/Makefile.
							(SMW June 29)

	-- Fixed setting of SrcPos info in abNewOrOneOfList.
							(RSS June 25)

	-- Created osFnameTemp, osFnameTempLength.
	-- Created fnameTemp[,Static,StaticWith,StaticWithout].
							(GB June 22)

-- v28.H
	-- Modified runtime.as to allow wild-card lookup.
	-- Removed #pile and #endpile -- top level is always piled.
	-- Fixed "makeon" to work without an explicit target.
							(SMW June 18)

	[aslib]
	-- Converted JOIN(A; B; C) to Join(A, B, C).
	-- Converted category macros in aslib to category defines.

	[tform]
	-- Created tform->[dom,cat,sub]Exports to hold the exports
		from domains, categories, and subsup types.
	-- Created tform->addSymes to hold symes which are used in
		the add body to define exports from this domain.
	-- Removed tform fields __exports, __imports, restrictions,
		extensions; created tform->domImports.
	-- Created tfGet[Dom,Cat,Sub][Self,Exports,Imports] tfGetCategory.
	-- Removed tfFillSubSup.

	[sefo]
	-- Tracking category exports updates in tformSubst, tformClosure.
	-- Rewrote tformFreeVars to use a stack of hash tables to
		collect the free variables.
	-- Removed [sefo,syme]FreeVars.

	[tinfer]
	-- Fixed tiTfDeclarees to check outer declarees.
	-- Wrote tisef0ApplyJoin.
	-- Tracked changes to category exports in tinfer/tipasses.

	[genfoam]
	-- Isolated syme->constNum with gen[Set,Get]ConstNum.
	-- Various numProgs bug fixes to gen0FindDefs.
	-- Added debugging information to gen0FindDefs.
	-- Split out local utility functions from gen0FindDefs.
	-- Removed gen0IdString gen0IsATypesType.

	[other]
	-- Added eight debugging flags. [stab,scobind,lib,foam,genfoam]
	-- Replaced libVerbose with libVerboseDebug.
	-- Added stab->addStab to point from the withStab to the addStab.
							(SSD Jun 18)

-- v28.G
	-- Made handling of system commands to be a separate pass.
	-- Modified scanner to produce a simple list of tokens, rather
	   than a list of token lines.
	-- Added #pile and #endpile
	-- Added TK_NewLine and TK_SysCmd; changed TK_Apply to KW_Juxtapose.
	-- Modified linearizer to handle nested pile/dont-pile contexts
	-- Converted aslib to use { } rather than piles.
	-- Improved deliver-bug.sh to better separate reply text from bug text.
	-- Improved deliver-bug.sh to include bug file in acknowledgement.
	-- Handled bugs 308, 312.
							(SMW June 5-17)

[ June 2-15 preparations for Axiom Topical Review ]
[ June 10   SCM leaves for AutoDesk ]

-- v28.F
	-- titdnIf now causes list of multiple types to be displayed.
 	   This handles bug 216.
							(RSS June 7)

	-- Added code for generating default packages.
							(SCM June 7)

-- v28.E
	-- Added abContainer and abSupremum for xasharp mouse selection.
	-- Improved deliver-bug.sh to not treat replies as new bug reports.
	-- Handled bugs 282, 300, 305.
							(SMW June 3)

	-- Reported bug fixes 279 and 285 handled by BMT's fix to format.as.
	-- Handled bug 299.
	-- Fixed fixbug to include description of fix et al.
	-- Changed fixnotify to include original bug file.
	-- Refined checking of export, foreign and builtin absyns and moved
	   it from scobind.c to abcheck.c.
							(RSS June 3-4)

-- v28.D
	-- Renamed checkOuterBadUse to checkOuterUseOfImplicitLocal.
	-- Added checkOuterUseOfLexicalConstant.
	-- Scope binder behavior now matches documentation wrt inner
	   lexical constants.
							(RSS June 1)

	-- Fixed handling of yacc options in zacc shell script.
	-- Extended grammar to handle initializations on "local" delcarations.
	-- Pre-port: clean compile with Metaware C compiler on AIX/ESA.
							(SMW June 1)

	-- Distinguished PostDoc from PreDoc. +++/++
	-- Added { } as a pile former.
	-- Converted several library files to use { } (in aslib.new).
	-- Modified "makeon" to relink src directory to working dir's version.
							(SMW May 28)

-- v28.C
	-- Created tf{Pend,Mean}ingFrSyntax (replaces tfFillSyntax).
	-- Sefos with the same syntax and different semantics
		now provoke different tforms in tfMeaningFrSyntax.
	-- Improved Sefo/Syme/TForm traversal code to allow some simultaneous
		traversals and to complain when there are too many.
	-- Created symeListSubstSelf to assist tfGetImports in maintaining
		syme eq-ness across importing.
	-- Added tf->final to help maintain tform eq-ness across substitution.
	-- Added {sst}UnboundVars0 to compute the set of free vars which a
		subgraph contributes to its parent:  the free vars of the
		subgraph minus the bound vars of the subgraph.
	-- Added calls to tfFollow in tform accessors which didn't have it.
	-- Upgraded use of tform substitution in inlSubstitutedSyme.
	-- Other debugging work on the interaction between free variable sets,
		pending type forms, and the substitution code.
	-- Created fvSubst0 to dead-reckon the new freevar set after subst;
		under construction because of interactions with other code.
	-- Added gen0[Set]{FoamKind,VarIndex} genIsRuntime foamAuditBadRuntime
		inl[Set]AfterInline tiTfSelect.
	-- Added more debugging code to inline.c tfsat.c sefo.c absub.c.
	-- Removed tfFrAbSyn.
							(SSD May 28)

	-- Modified absyn.c to do an abEqual check in abPathToNode.
	-- Changed C code generation to correctly call fi function macros.
							(JMS May 28)

-- v28.B
	-- Tightened up checkOuterBadUse in scobind.c.
	-- Warn about outer local, free or param use of 'for' variables.
	-- Made 'i' and 'j' in quanc8.as 'default' rather than 'local'.
	-- Fixed respfile.sh test to not dump output files to .
	-- Cleaned up asobs.c, genc.c and foam.c for C++ compilation.
	-- Removed free*.as tests. Created scobind0.as with better coverage.
							(RSS May 27-28)
	
	-- Modified C code generation to add '_' before numeric starting names.
	-- Changed xasharp to use flag -Mno-human instead of -Mengine.
							(JMS May 27)

	-- Changed scope binder to track info by signature.
	-- Handled bugs 208, 215, 226, 257, 265, 273.
							(RSS May 26)

-- v28.A
	-- Modified C code generation to call fi functions using macros.
	-- Added pre-star tag to C code generation.
							(JMS May 24)

	-- Fixed definition of perfectNthRoot in prime.as.
	-- Remove first deinition of "/" in ratio.as.
	-- Fixed nullary constructor/syme level problem in scobind.c.
	-- Handled bugs 215, 226, 257.
							(RSS May 21-24)

	-- Added quanc8.as to aslib.
	-- Modified label syntax to use prefix @.
	-- Modified linearizer to disregard labels for piling.
	-- Added exception-handling syntax:
	   f(a: A): B except C == if a > 0 then b else except c
	   try f 2 but [...] [always ...]
	-- Handled bugs 267, 171, 172, 173, 175, 177, 212, 213, 214,
	                113, 115, 116, 118, 119, 121, 123, 125, 127, 128,
			152, 185, 193
	-- Improved type inference error messages for meaningless ids.
							(SMW May 19)

-- v28.9
	-- Modified foam_c.h to call fi functions using macros.
	-- Added platformRTE and platformOS operations to C code and foam_c.
	-- Changed C code generation to declare correct type for arrays
	   and correct format for records and lexicals, in order to
	   eliminate most casts.
							(JMS May 19)

	-- Experiments with default parsing
	-- Renamed iterate/iterator/Iterator -> generate/generator/Generator
	-- Renamed next -> iterate
	-- Changed repeats with no iterators and no breaks to have type Exit.
	-- Added >> and << floating point comparissons in basic.as
							(SMW May 18)

-- v28.8
	-- Added -but option to testas.
	-- Updated doc/UserGuide/xhelp.tex 
	-- Added Category + Join to basic.as
	-- Added tests type1.as, type2.as, type3.as, tinfer2.as.
	-- Added ftypeEqual, etc to allow upper case file types.
	-- Removed Test(xx) rule and fixed "not" parsing.
	-- Knocked off bugs: 18,57,95,81,108,247,245,200,197,196,194,191,
			     188,187,186
							(SMW May 17)

	-- tfSat for dependent crosses, assuming L-R dependency.
							(SSD May 13)

	-- Fixed bug with embedded 'a' cmdline option.
	-- Fixed empty response file bug (cmdline.c).
	-- Fixed abnorm.c bug with non-Foreign/Builtin in import declare.
	-- Added abcheck.c code for checing for valid import statements.
	-- Improved fixnotify and fixbug.
							(RSS May 13-17)

-- v28.7
	-- Fixed to not clobber .c and .l files unless generated by A#.
	-- Fixed command line to retain order of -I, -L and -l options.
	-- Fixed -R option for .o and executable files.
	-- Fixed -g bug where info was not being asked of linker.
	-- Modified all system callouts to properly quote arguments for shell.
	-- Modified comsgdb.msg to use \t and ` ' (to help automate user guide)
	-- Added \t handling to comsgdb for conversion of messages to tables.
	-- Use -WV via UNICL environment variable.  Removed unicl's -V.
	-- Mailbug/deliverbug improvements.
							(SMW May 11-13)

	-- Fixed several bugs.
	-- Removed file name from const names.
	-- Cleaned up lisp code generation a bit.
	-- Added platformRTE and platformOS builtin operations.
	-- Added (conditionalized out) code for setting array element types
	   in decls.
							(SCM May 13)

	-- Added return codes to titdn functions.
	-- Type inference errors now leave nodes in state AB_State_HasPoss.
							(SSD May 11)

	-- Changed C code generation to perform casts in foam_c.h
	   macro defs where possible.  Also changed local variable names
	   to start with T instead of L, and changed labels to L instead
	   of Lab.  Casts to foreign function protocols removed, and
	   succeeding "_" to unnamed variables also removed.
							(JMS May 11)

	-- Added support for '' and "" options within response files.
	-- Added support for things like -vro foo in response files.
							(RSS May 11)

	-- Added 'x' syntax for enumerations.
							(SMW May 10)

-- v28.6
	-- Added CMS support to uniar and archive.*.
	-- Added abcheckWithWithin.
							(RSS May 10)

	-- Improved deliver-bug.sh to send confirmation, inform fixers
	   and ignore mailer daemons.
							(SMW May 10)

	-- Added new version of runtime system for interoperability support.
							(SCM May 9)

-- v28.5
	-- Changed C code generation of big integers in genc.c to
	   pass data to the function fiBIntFRPlacev, instead of using
	   the Numstruct macro.
	-- Also made the big integer variables global and store the
	   data in global init declarations.  Big integers are now created
	   in the initialization prog instead of in the progs which call
	   the variables.
	-- Modified casting of local, parameter and lexical variables in
	   C code generation to first check the Decl format field.  If
	   it is determined that the format of the variable is known, the
	   variable can be declared as that format and a cast is not
	   necessary.
							(JMS May 7)

	-- New file aslib/ascat.as containing categories.
	-- Improved msg printing to show expression, if in maro expanded text.
	-- Added support for gotos (tipasses + genfoam).
	-- Flattening of with-s within with-s.
							(SMW May 6-7)

	-- Added tfPending to convert syntax tforms to meaningless tform trees.
	-- Added tfMeaning to give meaning to meaningless tform trees.
	-- Replaced typeInferInLevel, tiTypeForms with typeInferTForms.
	-- Moved definee/declaree stacks to tinfer.c.
	-- Removed tfFrAbSyn tfMapBS.
	-- Added {ab,tf}FrSyme.
							(SSD May 6)

-- v28.4
	-- Scope binder now handles applications on the lhs.
	-- Tform groups defined per Dooley requirements.
							(RSS May 6)

	-- Many clean ups in aslib files.
	-- Added case for AB_Qualify in abcheck.
	-- Added -W preview (to see messages before assertion failures).
	-- Modified doc/UserGuide/comsgdb.awk to handle $.
	-- Added aslib/subtype.as + aslib/object.as.
	-- Added -WD+<dbname> for selective debugging without recompilation.
	-- Renamed -f to -a.
	-- Added -M no-abbrev to get long type names in messages.
	-- Added -M name to get message name in messages.
							(SMW May 3-6)

	-- Added -f option and response file handling.
	-- Added some specific file functions to os_os2.c.
	-- Removed 'Label' syme type.
	-- Added label information to symbol table levels.
	-- Added isExplicitImport field to tformsUsed struct.
	-- Renamed explicitInlines and explicitImports to be "qualified"
	   instead.
	-- Gave the /tmp/Makefile.dst created via distrib/Makefile
	   universal write access so it could be deleted by others in
	   case of make failure.
							(RSS May 3-4)

-- v28.3
	-- Modified xasharp to queue up compiler messages and allow
	   user to move back and forth between messages.
	-- Modified xasharp to send back position information for
	   a node selected by mouse input.
							(JMS Apr 30)

	-- Cleaned up aslib directory, adding back #if-ed out code.
	-- Added labels and gotos to the grammar.
	-- Added sxZeroP, sxMinusP, sxPlusP.
	-- Isolated RS/6000 gcc -O bug occuring in bigint.c
							(SMW Apr 29-30)

	-- Consolidated syme creation in scobind.
	-- Removed redundant syme creation messages.
							(RSS Apr 30)

	-- Installed latest version of type hasher.
	-- Fixed genfoam to apply embeddings for apply of special and
	   implicit operations.
							(SCM Apr 29)

	-- Added type inference accross multiple assignments.
	-- Improved handling of remarks.  Summary.
	-- Added type0.as test, to test first classness of types.
	-- Started to clean up jump optimization.
	-- Gaurded debug statements in foam optimization phase.
	-- Modified xasharp directory to make only on rs3.2.
							(SMW Apr 28)

-- v28.2
	-- Fixed type hash code generation to correctly handle TF_General.
	-- Added gen0SefoHash to generate hash code for Sefo type forms.
	-- Added an extra lexical slot to middle add lambda for domain hash.
	-- Added domainHash to runtime.as
							(SCM Apr 26)

	-- Wrote fixed-size and arbitrary-origin array types. Awaiting foam fix.
	-- Changed to search library path for msgdb, rather than exec path.
	-- Modified includer to ignore "#!" lines and those containing only "#"
	-- Removed -X flag and the manipulation of the execution path.
	-- Added -[0-9] options to allow asharp to pass args to execution.
	-- Modified C-code generation to save argc and argv in globals.
	-- Moved vector.as from aslib to asdem.
	-- Changed comsg functions to take absyn nodes, rather than positions.
	-- Cleaned out DJGPP stuff from os_dos.	 Added default paths.
	-- Removed use of stoAlloc from os_*.
	-- More work on -M.
	-- More help.
	-- Made bloop subordinate to comsg.  Simplified interface.
	   Extended to handle multiple messages at once.
							(SMW Apr 23-25)

	-- Added definitions for osSetEnv and moved things around in
	   the os_* files.
							(RSS Apr 23)

-- v28.1
	-- Added AB_Unit absyn node type.
	-- Added "nice"+"ugly" and removed "showx" and "typex" in bloop.
							(SMW Apr 22)

	-- Modified xbreak to untab and read from /tmp/<file.as>.
	-- Added Motif highlighting of current node to xbreak.
	-- Changed all i/o files in bloop.c to be fin or fout.
	-- Added bloopSend to bloop.c to handle all i/o of message strings.
							(JMS Apr 22)

	-- Added Microsoft/DOS data to platform.h
	-- Overhauled unicl.c to handle any personality on any platform.
							(RSS Apr 22)

	-- Changed tf{Has,Get}Expr to macros.
	-- Changing calls to tfExpr to calls to tfGetExpr.
	-- Created {sefo,syme,tform}FreeVars to collect tform free variables.
	-- Created FreeVars structure and basic functions.
	-- Created fvFrSymes fvUnion fvPrint fvHas{Syme,AbSub}.
	-- Created fvEmpty fvSingleton which share FreeVar structures.
	-- Modified tformType{To,Fr}Buffer tformClosure0 tformSubst0.
							(SSD Apr 22)

	-- Added format field to foamDecl type.
	-- Added code to fill decl formats after code generation is done.
	-- Added code to store foreign function return types in decls.
	-- Changed genc.c to use foreign function return types in extern decls.
							(SCM Apr 20-21)

	-- Replaced xbreak Athena widgets source code with Motif source code.
	-- Added functions for file, error, help and where in bloop.c
	-- Omitted messages to stdout in bloop.c when in xbreak loop.
							(JMS Apr 21)

	-- Added subcmd/lno/unnum.c, a program to save #line info on the side.
	-- Changed to command line handling and updated help msg.
	-- Improved osRunConcurrent to return -1 if cannot exec.
	-- Added -Mbreak=sbreak to direct sexpr break to stdin/stdout.
	-- Moved tools/common to subcmd/unitools.
							(SMW Apr 20)

Version 28.0, April 19, 1993
	-- Changed gccBInt in genc.c to initialize the data field of
	   NumStruct.
	-- Modified docc for the rt by increasing YYMAXDEPTH when
	   compiling oldc.
							(JMS Apr 19)

	-- Changed runtime hash codes to be 30-bits, with no overflow in
	   intermediate computations.
							(SCM April 19)

	-- Fixed Makefile for xbreak so it checks for correct precedents.
							(JMS Apr 16)

-- v27.6
	-- Several fixes and debugging for ports to Sun + AixEsa.
	-- Improved oldc to report syntax errors relative to original file.
	-- Improved oldc to give cleaner compiler on Aix Esa.
	-- Separated building of libfoam.a from libas.a to
	   allow different degrees of optimization/debugging.
	-- Fixed A#-level mod operations to return [0,m), temporarily
	   avoiding foam level.
	-- Added mod_/ to SingleInteger.
							(SMW Apr 12-14)

	-- Added comsgdb.awk in doc/UserGuide to create a file containing
	   error messages for the user guide.
	-- Started renaming variables called 'new' to something else
	   for C++ compatibility.
							(RSS Apr 12)

	-- Modified bloop.c to handle the xbreak process, and to check
	   the environment for the xbreak process command.
	-- Created subcmd directory for xbreak code.
	-- Added X-Athena Widgets interface for Asharp -Mebreak loop.
							(JMS Apr 12-16)

	-- Added new runtime system for asharp.
	-- Extensively modified genfoam.c to compute lookup message
	   at runtime, and use runtime code written in asharp.
	-- Updated runtime.as for new system.
							(SCM Apr 11)

	-- Updated bug file delivery to accept forwarded files from outside.
	-- Added locking to "makeon" so makes can't stomp on each other.
	-- Added cleanup to "testas" to not leave junk directories in /tmp.
	-- Modified xbreak/Makefile + xbreak/globals.h to compile on server.
							(SMW Apr 9)

-- v27.5
	-- Added function stoCtl to control behaviour of store.c.
	-- Added automatic triggering of garbage collection, when desired.
	-- Modified abPosSpan to estimate end of last token.
	-- Consolidated C-compiler knowledge in ccomp.c.
	-- Removed compile, link and renumber commands from opsys.c.
							(SMW Apr 5-8)

	-- Now using lazy types for export symes from library files.
	-- Added typep/typeb to struct lib to hold cached linear tforms.
	-- Added libGetSymeType[c] tformType{,c,v}FrBuffer.
	-- Added {ab,symeList,tform}FrBuffer0.
	-- Added symeFillExport symeType{Lib,No} symeSetTypeLib.
							(SSD Apr 6)

	-- Created sharing of parameter symes in definitions.
	-- Reduced syme creation in scobind for symes that are equal
	   modulo parameter names.
	-- Eliminated creation of lexesSeen lists in symbol tables.
	-- Added checks for duplicate fields in Records and Unions.
	-- Removed symeEqual checking in stabAddMeaning.
	-- Scobind now treats exports to specific places as locals.
							(RSS Apr 5-7)

-- v27.4
	-- Introduced lazy imports from general type forms.
	-- Added syme{Name,Type}Codes to abDeclareToSExpr.
	-- Added tiSefo to generate abTUnique's from abSyme's.
	-- Added stab argument to {sefo,syme,tform}Subst.
	-- Added stab field to Lib structure.
	-- Reduced the number of foam decls which get symbol meanings.
							(SSD Apr 2)

	-- Cleaned up handling of default types in scobind.
	-- Modified absyns for 'where' clauses with empty contexts in abnorm.
	-- Fixed pretty printing of 'where' and AB_Paren.
							(RSS Apr 2)

	-- Renamed files with "-" to "_" in Borland + GCC DOS tools.
	-- Improved/new .bat files in tools\dos-gcc.
	-- Added -Cgo=<...> and CGO environment variable to allow
	   user-specified loaders, e.g. GO32 on DOS.
	-- Moved C-compiler handling code from emit.c to ccomp.c
	   and cleaned up the emit/ccomp/cmdline interactions.
	-- Talk/demonstration of compiler at NAG Ltd and CATHODE Workshop.
	-- Proposal for code generation for other CA platforms.
							(SMW Mar 25-Apr 1)

	-- Changed genfoam to make callbacks to compiled code.
	-- Added code to make tuples with callbacks (currently inactive).
	-- Added aslib/runtime.as with runtime support for domains and tuples.
	-- Changed optimizer to be able to compile runtime.as with no
	   calls to getters.
	-- Removed the "env" field from the PCall Foam instruction.
	-- Cleanup of deadvar.c.
							(SCM Mar 30)

	-- Fixed axiom.sty for strange platforms where \ixpt is not defined.
	-- Restructured scobind to store scope info on symbols.
							(RSS Mar 29-30)

	-- Changed divide and scan builtin ops to use multi val returns.
	-- Edited foam_c.c and foam_l.l for multi val builtins.
	-- Fixed environment merging to track multi-val returns.
							(SCM Mar 25)

	-- Added support for qualified imports and inlines.
	-- Added abnorm support for piled qualified imports and inlines.
	-- Improved the efficiency of checking for duplicates in stabAddMeaning.
							(RSS Mar 24-26)

	-- Now reading/writing name/type hash codes for imports.
		(modified lib{Put,Get}Symes and struct libSyme)
	-- Modified symeListClosure to avoid walking the type of imports.
	-- Added Lib fields to cache type forms used in export syme closure.
	-- Modified symeListClosure to cache the symes/types in the Lib.
	-- Modified lib{Put,Get}Symes to use cached type form fields.
	-- Modified lib{Get,Put}Symes tf{Fr,To}Buffer to share tforms.
	-- Flushed tf{Wr,Rd}Bytes.
							(SSD Mar 23)

	-- Started restructuring scobind.c.
	-- Created a message group for anachronistic coding styles.
	-- With -M anachronisms, abcheck looks for things like
	   Union(Integer, "failed")
							(RSS Mar 23)

-- v27.3
	-- Created syme{Id,String,Builtin,Foreign}.
	-- Converted symeId symeType to lazy fields.
	-- Combined syme bit fields into a single byte.
	-- Created symeBits syme{Get,Set,Clr}Bit.
	-- Created syme{IsLazy,IsSpecial,UsedDeeply,ImportInit,Inlinable},
		plus associated set/clear functions.
	-- Created symeFillImport to expand name/type hash codes for imports.
							(SSD Mar 22)

	-- Removed And and Or from Foam.
	-- Added temporary generation for multiple values.
	-- Added inlining support for multiple values.
	-- Added lisp generation for multiple values.
							(SCM Mar 22)

	-- Fixed type inference bugs for coercion.
	-- Modified tipasses.c to use a type constraint in the bottom-up pass.
	-- Modified Foam to rename PEnv to EEnv.
	-- Updated foam doc for EEnv and builtins with multiple value returns.
	-- Fixed genc to not use fiCCall macros for multiple value returns.
							(SMW Mar 19,22)

	-- Added C code generation for mutiple value calls and returns.
	-- Arranged genc to conform to Foam documentation.
							(JMS Mar 18)

-- v27.2
	-- Added "efuns.as" file for numeric real+complex elementary functions.
	-- Added support for x$Foreign.
	-- Fixed type inference to ensure T satisfies context for
	   a::T, a pretend T, a@T.
	-- Added support to ensure that expressions in type context are types.
							(SMW Mar 15-18)

	-- A declaration SExpression now has an optional Alist as final
	   argument.
	-- Category symes in .asy files now have a "restrictions" property.
							(RSS Mar 16)

	-- Added genfoam support for embedding values.
	-- Added genfoam support for mutiple value calls and returns.
	-- Added MFmt and Values Foam instructions.
	-- Removed MSet and MReturn Foam instructions.
	-- Removed the folded field from symes.
							(SCM Mar 12-16)

	-- General overhaul of comsg.c.
	-- Added separate, modular output style functions in comsg.c.
	-- Changed breakLoop interface to take msg string rather than msg fun.
	-- Changed the test missing.as to capture "GetterFailed" message.
							(SMW Mar 11-12)

	-- Created foamConstvFrFoam (used in lib.c inline.c).
	-- foamConst[cv]FrBuffer now only looks at the foam constants
		rather than the foam ddefs.
	-- Added name/type hash codes to symeListToSExpr.
	-- Fixed scmdHandleLibrary from printing too many warnings.
							(SSD Mar 12)

	-- Fixed scope binder handling of overloaded names that are
	   builtins or foreign functions.
	-- Erased os--ucc.c. Moved os--cl.c into opsys.c
	-- Renamed src *-*.c and *-*.h files to have underscores instead.
	-- Fixed installation script to generate directories and dummy
	   Makefiles for directories not normally shipped.
	-- Changed format of gensyms.
							(RSS Mar 10-11)

-- v27.1
	-- Uniformized treatment of definition/macro definition and
	   lambda/macro lambda in abnorm.c.
	-- Added AB_Paren, AB_MacroDefine node types.
	-- Added an abNorm pass before macro expansion.
	-- Removed parse tree pseudo-normalization for macro defn in macex.c.
	-- Simplified alpha conversion in macex.c.
	-- Converged spellings of Pren and Paren to Paren.
	-- No longer give piling warnings for: foo( \n a,\n b)
							(SMW Mar 8-9)

	-- Changed abImplicit field from a Syme to an AbSyn.
	-- Added message to terrorNotUniqueType for leaf nodes.
	-- Added op argument to ti{bup,tdn}0ApplyFType.
	-- Tightened tfMap{Arg,Ret}c tfMap[App]{Arg,Ret}N.
	-- Made titdn0ApplyFType place AbEmbed tags in abTContext.
	-- Replaced tfMapSatEmbed with tfMapApp{Arg,Ret}Embed.
							(SSD Mar 9)

	-- Created tools/common directory and moved some things there.
	-- Added special declaration modifier section to cport.h.
	-- Modified opsys.h to use compiler-dependent declaration modifier
	   for signal handler functions.
	-- Fixed handling of drive letters wrt relative paths in
	   osFnameParse in opsys.c.
							(RSS Mar 7-8)

	-- Made "error" a top-level function in basic.as.
	-- Changed placement of ++ documentation in aslib files.
							(SMW Mar 6)

	-- Made asharp/base directory to contain the various system images.
	-- Added osRunConcurrent.
							(SMW Mar 4)

Version 27.0, March 4, 1993

	-- Move .cmd files for working with OS/2.
	-- Added unicl.c to move much of the machine/compiler dependencies
	   out of opsys.c and os-*.
	-- Added uniar.c to build UCB-like archives. Works for OS/2.
							(RSS Mar 3)

	-- Determined value for DBL_MAX which works with gcc with 387.
	-- More batch files for building on DOS.
							(SMW Mar 2-4)

-- v26.7
	-- Added type inference support for category constructors.
							(SMW+SSD Feb 26-Mar1)

	-- Added genfoam support for binary adds.
							(SCM Feb 26)

-- v26.6
	-- Added support for inlining operations from parameter domains.
	-- Added further PEnv folding in emerge.c.
	-- Added a new equality test for AbSub.
	-- Changed mandcomp.as to use parameterized domains.
	-- Added Barry's hilbert1.as program to test suite.
	-- Fixed foamSetSymeIndices and genfoam.c to store the correct symes.
	-- Added merging of base prog environment to emerge.c.
							(SCM Feb 25)

	-- Added TF_SubSup.
	-- Split Segment(S) temporarily to simplify iterator.
							(SMW Feb 25)

	-- Introduced Buffer versions of lib{Put,Get}Section.
	-- Rewrote lib{Put,Get}Symes functions to use lib{Put,Get}Section.
	-- Replaced function libSeekSection with macro libSectOffset.
	-- Replaced fileGetString with bufGet{s,String}.
							(SSD Feb 24)

-- v26.5
	-- Added TF_Category and modified tform.[ch], tipasses.c to use it.
	-- Fixed SExpr writer to escape identifiers consisting solely of dots.
							(SMW Feb 23)

	-- Added preliminary version of unicl.c to tools/unix
	-- src/Makefile now copies platform.h to $ASHARPROOT/include
	-- Killed uses of pathInsertDirectory. Use pathConsDirectory instead.
							(RSS Feb 22-23)

	-- Switched type inference for AB_Comma to use TF_Multiple.
	-- Renamed tpossCross to tpossMulti.
	-- Removed tfCrossFrList tfCrossSatisfies tfProductArgN.
	-- Moved tfIsId tfIdSym tfIsApply tfApplyOp to tform.h from tipasses.c.
	-- Extended tfMapSatisfies to handle multiple values.
	-- Created the enumeration AbEmbed for tfSatEmbed coercions.
	-- Created abTContext field of abSeman.
	-- Converted tf[Map]Sat to tf[Map]SatEmbed.
		(takes an AbEmbed * argument, returns Bool)
	-- Implemented a policy of which coercions to allow.  So far we allow:
		-- coercions on argument groups for maps.
		-- coercions on particular arguments for maps.
	-- Created tuple2.as tuple3.as.
							(SSD Feb 17-22)

	-- Installed v26.4 on DOS for a trip to Merry Olde England.
	-- Improved dos tools.
							(SMW Feb 19)

-- v26.4
	-- More support for break loop.
	-- Added functions tfPretty*.
	-- Removed abPretty{Clipped,Indented}, converting to abPrettyClippedIn.
							(SMW Feb 18-19)

	-- Scope binder disallows := or == for library or archive identifiers.
	-- asharp -i now works better, modulo some scobind defaults.
							(RSS Feb 18)

	-- More support for break loop.
							(SMW Feb 17)

	-- Modified makeon to create lib/bin/include/samples if not there.
							(SMW Feb 16)


-- v26.3
	-- Added support for env merging arrays with const indices and size.
	-- Added inline3.as test for inlining arrays.
	-- Added code to cfold.c to fold redundant casts.
	-- Added a hack to cfold.c to fold SInt 0 and 1.
							(SCM Feb 16)

	-- Merged changes for DOS GCC into common source.
	-- Split sbrk-style memory management to os--sbrk.c.
	-- Renamed SignalHandler to OsSignalHandler.
	-- Created the directory tools/dos-gcc.
	-- Moved unix tools to the new directory tools/unix.
	-- Autodetection of large vs. small dynamic memory.
	-- Experimented with giant pieces in store.c.
							(SMW Feb 15-16)

	-- Added TF_Multiple tfMulti[FrList] tfIs[Dependent]Multi
		tfMultiArg[cN] tfSymesFrMulti.
	-- Removed tf->coarg[cv].
	-- Updated tf{Fr,To}AbSyn rules for TF_{Cross,Multiple,Tuple}.
	-- Switched TF_Map argument/return types to use TF_Multiple.
	-- Switched tfSymesFr* tfDefinee* functions to use TF_Multiple.
	-- Rewrote type satisfiability rules for TF_{Cross,Multiple,Tuple}.
	-- Tightened fuzzy tform accessors.
		tform{Cross,Multi,Enum,Record,Union}Arg[cN] tfTupleArg
							(SSD Feb 15-16)

	-- Added an "is Getter" bit to prog info bits.
	-- Changed inline.c to use lex temps for iterators.
	-- Changed inline.c to add an extra pass for collect forms.
	-- Changed deadvar.c to renum constNums in symes.
	-- Changed emerge.c to not merge vars with multiple aliases.
	-- Added a "-Q inline-all" flag.
	-- Added a "-Q ffold" for folding floating point constants.
	-- Other random bug fixes to optimizer.
							(SCM Feb 12)

	-- .asy files now contain Import and Inline information.
							(RSS Feb 11)

	-- Renamed AB_Tuple to AB_Comma.
	-- Renamed struct abTuple to struct abComma.
	-- Renamed Tuple[Item] productions to Comma[Item].
	-- Renamed abNewTuple* ti*Tuple.
	-- Reworded AS_BadParams message.
							(SSD Feb 11)

-- v26.2
	-- Added -Mebreak and files bloop.[ch] for error break loop.
	-- Fixed portability bugs in garbage collector.
	-- Tests store1a-d passing on DOS in 16 bit mode.
							(SMW Feb 8-10)

	-- Wrote X[SD]FloatFr[SD]Float [SD]FloatFrX[SD]Float.
	-- Wrote bit field manipulation operations.
	-- Rewrote the round-trip floating-point translation tests.
	-- Flushed one-way floating-point translation tests.
	-- Rewrote buffer/file get/put ops for floats to use xfloat formats.
	-- Flushed [SD]FloatUnion and accompanying buffer/file macros.
	-- Removed [SD]Float{To,Fr}Ieee.
							(SSD Feb 3-10)

	-- Fixed absyn pretty printing of AB_Inline, AB_Import,
	   AB_Builtin, and AB_Foreign forms.
	-- Fixed abnFlattenSeq so that abCopy is not called.
	-- Fixed abnDocumented to find 'post' comments.
	-- Fixed abCopy so that it copies documentation on ids.
	-- Upgraded test/doc0.as to be more complete.
	-- Changed distrib/Makefile and distrib/asharp.ins so that
	   $ASHARPVERS is no longer needed.
	-- Removed aharp.dsk and asharp.ins from tools.
							(RSS Feb 4-8)

	-- Added code generation support for where-clauses.
	-- Added a lambdaLevel field to symbol tables.
							(SCM Feb 5)

	-- More changes to store.c for non-canonical pointers.
	-- Updated .c and .l test outputs for "code generated by .." comments.
	-- Simplified abnorm for documentation nodes.
	-- Modified stabPushLevel and scobindLevel to take symbolic flags word.
							(SMW Feb 5)

	-- Set up doc to have all subdirectories with Makefiles.
	-- Changed memfill and memassert to functions memlset and memltest.
	-- Changes to store.c to get stoAudit to work in segmented 80286 mode.
	-- Misc fixes to store.c for non-canonical pointers.
							(SMW Feb 3-4)

-- v26.1
	-- Fixed scobindWhere.
	-- Fixed stabAddMeaning, which was sometimes incorrectly freeing symes.
	-- Improved scobinds ability to differentiate between local and
	   exported signatures.
							(RSS Feb 2-3)

	-- Added code generation for Union and Enumeration.
							(SCM Feb 2)

	-- Reorganized logic of scmdHandleLibrary to handle .a and .asl files.
	-- Split FTYPE[NO]_AR into FTYPE_AR_OBJ and FTYPE_AR_INT.
	-- Replaced string constants with FTYPE macros in ftypeString.
	-- Modified aslib/Makefile to put .o's in .a's and .aso's in .asl's.
	-- Split asharp library .o files into libaslib.a and libasdem.a.
	-- Adjusted compLibrary{Files,Keys}.
	-- Replaced use of LORAX, .lx, etc. in message database.
	-- Renamed compile-lx-file to compile-as-file in foam-l.l.
	-- Renamed libasyem.a to libasdem.a.
							(SSD Feb 1)

	-- Modified msgcat.c to generate .c files with #ifndef NO_MSG_TEXT.
	-- Modified asset.h0 to conditionalize text of msg via QASSERT.
							(SMW Jan 30-Feb 1/93)

	-- Got self-test layer working in native DOS with large model.
	   This includes big integers and most of storage allocation.

	-- All self-tests are passing with the exception of:
	   fname:   OK	==> Test should be improved to have more to it.
	   message: OK	==> Don't have an external database to test yet.
	   format:  OK	==> Borland doesn't seem to handle %#g	200.
	   bigint:  OK	Seems OK modulo stoAlloc problems. Dies in quo/rem tbl.
	   store*:  xx	Test dies partway through.
	   ccode:   xx	Bug bad case.
							(SMW Jan 26-Jan 30/93)


Version 26.0, January 29, 1993

	-- New version of emerge.c which properly tracks environment parents.
							(SCM Jan 28/93)

	-- Clean compile on DOS under Borland C++ version 3.0.
	-- Bigint.c mostly working with 16 bit ints.
							(SMW Jan 26/93)

	-- abnorm now removes duplicates from 'with' sequences.
	-- symeAlloc and symeCopy more complete.
							(RSS Jan 25/93)

	-- Modified util.[ch] and tfsat.c to pass RT port.
	-- Added audit tests for BottomUp and TopDown passes of tinfer.
	-- Modified lisp code generation to handle recent updates.
							(JMS Jan 22/93)

-- v25.4
	-- Added Archive symbol meanings.  An archive can now be used
		as a domain which exports every symbol that is exported
		by any of its archive members.
	-- Created SYME_Archive symeOrigin->__archive.
	-- Created syme{,Set,New}Archive stabDefArchive.
	-- Created tfLibrarySyme tfIsArchive tfArchive{,Syme,Ar,Lib}.
	-- Modified scmdHandleLibrary tfGetExports lib{Put,Get}SymeFiles
		symeGenesis gen0Vars0 gen0Syme get0GetGetter
		to use Archive symes.

	-- Created new Archive fields:
		Archive->symes (list of symes exported from the archive)
		Archive->index (maps export syme to library syme)
		Archive->hasLxb (does the archive have lxb members)
	-- Created arHasLxb arItemIsLxb arEqual arGetSymes arLibrarySyme.
	-- Modified arRdTable to set ar->hasLxb.
	-- Removed arIsLibraryKey.

	-- Modified arFind to return the Lib instead of the Archive.
	-- Modified libExtract libRead libFrString.
	-- Created arExtract.

	-- Rewrote {ar,lib}ToStringStatic to use fnameUnparseStaticWithout.
	-- Changed Bool to BPack(Bool) in lib.h archive.h.

	-- Tightened legal filetypes for different uses of library directives.
	-- Rewrote scmdHandleLibrary to use arHasLxb.
	-- Added messages for scmdHandleLibrary.

	-- Set up lxlib/Makefile to create liblxlib.a and liblxdem.a.
	-- Cleaned up dependency lists in lxlib/Makefile.
	-- Extended lxlib/lxlib.lx to set up a floor environment for:
		InBasic		for basic.lx
		UseBasic0	for clients of basic0.lx
		UseBasic	for clients of basic.lx (members of liblxlib.a)
		<else>		for clients of liblxlib.a
	-- Removed redundant library/import/inline commands in lxlib files.

	-- Created triv[56].lx numeral[0-2].lx ar6.sh to test ar importing.
	-- Updated tests for compatibility with lxlib directory changes.
	-- Updated libdup[01].lx.
							(SSD Jan 11-21)

	-- Added support for sequences after 'import' and 'inline'.
	-- Fixed circular macro bugs with macro parameters.
	-- Added distrib/Makefile to make tar files for distributions.
							(RSS Jan 20-21)

	-- Modified "mailbug" to use /usr/ucb/mail if there.
	-- Handled bugs
		bug-16.lx bug-20.lx bug-21.lx bug-27.lx bug-39.lx bug-41.lx
		bug-42.lx bug-43.lx bug-47.lx bug-48.lx bug-52.lx bug-53.lx
		bug-58.lx bug-60.lx bug-62.lx bug-65.lx bug-67.lx bug-68.lx
		bug-69.lx bug-73.lx bug-74.lx bug-75.lx bug-76.lx bug-77.lx
		bug-79.lx bug-80.lx bug-92.lx bug-99.lx bug111.lx bug112.lx
		bug120.lx bug122.lx bug124.lx bug132.lx bug140.lx bug160.lx
		bug168.lx
	-- Yes, but can you dance the Marenge?
							(SMW Jan 20-21)

	-- Added new foam instructions: MSet, Catch, Throw, TRNew, IRElt,
	   and TRElt.
	-- Added code generation for Tuple assignments.
	-- Added code generation for function entry of function taking
	   tuple arguments.
	-- Added tform.c changes by Stephen and Sam for calling functions
	   exported from Tuple.
							(SCM Jan 20)

	-- Fixed "lorax -i"
							(SMW Jan 19)

	-- Fixed lxlib/Makefile for suncc.
	-- Improved src/Makefile to not regenerate comsgdb.c unless needed.
							(SMW Jan 15)

-- v25.3
	-- Added support for "macro (a,b) +-> E"
							(SMW Jan 8)

	-- Added temp variable generation for CCall operators.
	-- Removed all "abs" builtin operations.
	-- Converted inline.c to use temp variable pools.
	-- Converted genfoam.c to use FoamBox for varaibles.
	-- Added temp variable re-use for CCall operators.
							(SCM Jan 8)

-- v25.2
	-- Allow quoted file names in system commands.
	-- Disallowed "==" in #library.
	-- Cleaned up scanners in syscmd.c and used in include.c.
	-- Changed prefix to "scmd" for syscmd not to conflict with cmdline.c.
							(SMW Jan 8)

	-- Changed "_[_]" to "bracket"	and "_{_}" to "brace".
	-- Changed use of ")" and ">" system cmds to "#" in tests.
	-- Updated user guide and language reference.
							(SMW Jan 6)

-- v25.1
	-- Renamed axc --> lorax.
							(JMS Jan 5)

	-- Changed includer directive character from '>' to '#'
							(SMW Jan 5)

Version 25.0, December 18, 1992	 == Alpha Test 1.0

-- v24.D
	-- Split tinfer.c into tinfer.c + tipasses.c for OS/2.
	-- Created doc/foam.tex	 from doc/Foam, with JMS.
							(SMW Dec 17)

-- v24.C
	-- Added doc/UserGuide directory and started adding files.
	-- Scobind will now give remarks about meanings being created.
	-- Messages now have things like (Error) preceding them.
							(RSS Dec 15-16)

	-- Wrote arFirstPos{,AIX,Arch}.
	-- Created ar[45].sh to test archives with deleted members.
	-- Caching offsets in linear foam for foam constants in Lib structure.
	-- Created {lib,foam}UnSetSymeIndices.
							(SSD Dec 15)

	-- Parametrized and unparameterized domains now properly share
	   export symbol meanings between 'with' and 'add' bodies.
	-- Fixed abPretty for expressions like (n : Integer) -> Integer
							(RSS Dec 14)

	-- Now caching library information when read from a file:
		symes, linear/expanded foam, foam formats, foam constants.
	-- The Lib structure owns the SymeList, the linear foam, and any
		foam formats or constants extracted from linear foam.
	-- Created foam{Tag,}FrBuffer0 foam{Formats,Const[cv]}FrBuffer.
	-- Flushed foamRdDFmt foamRdConst foamGetConst.
	-- Extended libGetFoam{Formats,Constant} to use the linear foam format.
							(SSD Dec 14)

-- v24.B
	-- Fixed comsg.c & srcpos.c so link failure doesn't give seg fault.
	-- Fixed axcomp.c so failure to comp file avoids link.
	-- Modified foam-c.h so small int types (e.g. artHInt) are typedefed
	   to smaller C int types (e.g. short).
	   This is so array refs will work (in particular, string indexing).
	   N.B. We should have two distinct C typedefs for each Foam type:
		one for parameters and locals (fast and promotion-robust), and
		one for use in packed records and arrays.
	-- Modified C code emission so we just include "foam-c.h" in the
	   generated file, rather than reproducing it.
	-- Fixed "basic.ax" indexing errors in String.
	-- Added tests string-t.ax, iroots.ax.
							(SMW Dec 13)

	-- Fixed bug putting macro rather than source position in msgs.
	-- Modified srcpos.* so that a source position can be marked
	   to indicate that it is for macro expanded source.
							(RSS Dec 12)

-- v24.A
	-- Fixed writing of Foam Decls' Syme numbers.
							(SMW Dec 12)

	-- Added symeIndex field to foamDecl structure.
	-- Changed genfoam.c to add syme to import foamDecls.
	-- Added foamSetSymeIndices to foam.c
							(SCM Dec 11)

	-- Created {sefo,syme,tform}Genesis which returns the SYME_Library.
	-- Created libGetFoam{Formats,Constant}.
	-- Removed inlSymeOriginFile inlTFormSyme.
	-- Replaced FileName values with Lib values in inline.c.
	-- Collected various functions in inline.c.
	-- Exported tfGetExpr from tform.h.
	-- Localized libExtract.
	-- Exported abIsSefo from sefo.[ch].
							(SSD Dec 11)

	-- Added support for the 'hide' keyword to avoid importing types
	   in declarations.
	-- Added abcheck and scobind support for using free in 'for' loops.
							(RSS Dec 11)

-- v24.9
	-- Relaxed test and iterator context to not try to make an implicit
	   application if the value is already of the right type.
	-- Added the fix to not free store when unboxing floats.
	-- Constructed new library to compile all .ax files in axlib
	   except vector.ax (not yet checked) and domain.ax (not real yet).
	-- Converted test suite to use new library with % + dependent types
	   in basic.ax.	 Whew!
							(SMW Dec 11)

	-- Function parameter types can now be given via 'default'.
							(RSS Dec 10)

	-- Added "never".
	-- Split primitive types from user-defined domains (e.g. BuiltinSFlo).
	-- Split builtin.ax to be included in basic.ax and basic0.ax.
	-- Added representations and per/rep transfers to all in basic.ax.
	-- Added stub definitions for all types in basic.ax.
	-- Reworked naxlib/Makefile.
							(SMW Dec 10)

	-- Made changes to genfoam.c fixing various bugs.
	-- Added a foamAudit function to foam.c.
							(SCM Dec 9)
	-- Improved srcPos printing and used it in absyn.c + genfoam.c.
	-- Sped up id forming in C code generation.
	-- Added bufPrintInt.
	-- Guarded abTUnique = 0 in sefo substitution.
							(SMW Dec 9)

-- v24.8
	-- Added coerce forms  a::T to tinfer and genfoam.
	-- Made tpossIntersect use type satisfaction to allow "x => error s"
	-- Added array.ax for extensible arrays.
	-- Modified osAlloc in os-unix to accept alignment hint.
	-- Staged N*.ax files in axlib to replace existing ones for v24.9.
							(SMW Dec 5-8)

	-- Extended dependent type recognition, matching, substitution.
	-- Enforced the requirement that tfFrAbSyn be given a Sefo.
	-- Added tfSymeInducesDependency tf{SymesFr,IsDependent}{Cross,Map}
		tfDefSelf tfDefinee{Symbol,Syme,Type} tfDeclareSyme
		tfCross tfCrossFrList.
	-- Incorporated symeImport into tfGetImports.
	-- Simplified tfMapAppRet; wrote tfMapAppArgN.
	-- Simplified tf[Map]Satisfies; wrote tfCrossSatisfies.
	-- Created tfMapMatch.
	-- Created stabUseMeaning{Shadow,Unshadow} stabSetSyme.
	-- Shadowed calls to stabUseMeaning using stabSetSyme.
	-- Created {sefo,syme,tform}{Print,Equal} sefoCopy in sefo.c.
	-- Changed AbSyn to Sefo in absub.c.
	-- Added absFreeBindingDeeply absFreeDeeply.
	-- Added AB_Tuple case to abDefineeId.
	-- Added boolToString.
							(SSD Dec 2-8)

	-- Qualify does not import its rhs type.
	-- Fixed stabGetEntry so that type possibility sets are copied.
	-- Fixed a bug in tpossCopy.
							(RSS Dec 7-8)

	-- Changed genfoam.c to generate getter type hash codes from
	   unsubstituted types.
	-- Fixed export initialization problem in genfoam.c
	-- Added gc0ExprType and gc0Cast to genc.c.
							(SCM Dec 7)

	-- Changed scobind so that pretend and restrict no longer import
	   the type.
	-- Commented out 30 calls to tfFollow.
	-- Added floating of type forms to higher symbol table levels.
							(RSS Dec 4-5)

	-- Added dataflow analysis code to jflow.c.
							(SMW Dec 3-4)

	-- Changed "import S from T" to "import T: with S"
							(SMW Dec 2)

	-- Changed genfoam to generate casts for pretends.
	-- Changed genc to generate function calls for casts from float types.
	-- Changed ArtWord type from char * to long unsinged int.
	-- Added artSFloToWord and artWordToSFlo to foam-c.c.
							(SCM Dec 2)


-- v24.7
	-- Added jflow.[ch] and code for FlowGraph in optutil.[ch]
	-- Fixed parsing of "not".
							(SMW Dec 1-2)

	-- tfSyntaxFrAbSyn now creates syntactic tforms.
	-- tfFullFrAbSyn now creates full tforms from syntactic ones
	   or absyns.
	-- Added abEqualModDeclares.
							(RSS Dec 1)

	-- Added lisort to support stable sorting of compiler messages.
	-- Added code to tf{Fr,To}Buffer to write tfSelf(tf).
	-- Changed depend[345].ax to testcomp tests.
	-- Created stabPutMeanings to allow compPhaseLoad
		to put symes from a library into stabFile.
	-- Removed stabGetGlobalSymes.
	-- Created {sefo,syme,tform,symeList}Closure0.
	-- Moved symeListClosure to sefo.c.
							(SSD Dec 1)

	-- Fixed genfoam for nested iterators and iterates at top level.
							(SCM Dec 1)

-- v24.6
	-- Display unknown meanings as "Meaning n: -- Unknown --"
	-- Implicit "apply" and "set!".
	-- Type inference of lhs in assignment and for iterators.
	-- Stacks for unifying multiple exit points for '=>', 'yield', 'return'
	-- Fixed genfoam for iterator types and implicit set!.
							(SMW Nov 25)

	-- Added support for iterators to be defined in arbitrary places.
	-- Added support for collect forms.
							(SCM Nov 24)

-- v24.5
	-- Turned on implicit operators for "iterator" and "test".
	-- Modified library to have ".." create segments, not iterators.
	-- Added TK_Blank and modified scanner to create ?xxx as TK_Blank.
	-- Added AB_Not as abstract syntax node.
	-- Modified abnorm to create singleton sequences for "=>" not in seqs.
	-- Fixed many bugs.
							(SMW Nov 19-23)

	-- Fixed scobind problem with things like   local i : Integer := 1
							(RSS Nov 20)

	-- Added genfoam support for implicit applications and sets.
							(SCM Nov 19)

	-- Improved the include and lib handling and information for
	   the OS/2 version.
							(RSS Nov 19)

	-- Added isFlatLevel parameter to stabPushLevel and the users in
	   scobind.
							(SMW Nov 18)

-- v24.4
	-- Backed out scobind changes for RSS.
	-- Activated genfoam and tinfer for mini stab levels.
	-- Made loop stab levels have same number as predecessor.
	-- Modified all tests and libraries to not use fake local in loops.
							(SMW+SCM Nov 18)

	-- Fixed some abpretty problems with [], {} and proper piling
	   of with/add for parametrized constructors.
	-- Added some initial code for type variables.
							(RSS Nov 18)
-- v24.3
	-- Added messages for suspicious
	   * applications (probably bad piles)
	   * = (probably meant := or ==)
	   * : (probably meant 'local' or 'default')
	-- Changed "SyntaxErr" in scobind.c and stab.c to BootStrapErr.
	-- Generalized lhs syntax of "for" iterator.
	-- Foam generation for 'do'.
	-- Added state hook for syntax error.
	-- Modified syntax error handling to use database.
							(SMW Nov 18)

	-- Added 0-th level support for dependant and parameterized
	   type lookup.
	-- Added genfoam machinery for adding stabs in arbitrary places.
	-- Added (commented out) support for stabs on repeats.
	-- Removed baseType from foamALenth struct.
							(SCM Nov 17)

	-- Created ar[0-3].sh.
	-- Created version of arRdItem for sun archive files.
	-- Created arIsLibraryKey.
							(SSD Nov 17)

	-- Added files archive.[ch].
	-- Extended libFrString to search archives to find a library file.
	-- Created a default list of archive files/keys at the axcomp layer.
	-- Removed archive file/key lists from opsys.[ch] os-*.c path.[ch].
							(SSD Nov 16)

	-- Added $ qualification of names.
	-- Added file sefo.c.
							(SMW Nov 15-16)

	-- Closed up the syme SyntaxHoles in tform.c
	-- Fixed various problems with parameter name and lexical clashing.
	-- Added absyn id info to scope frame information.
	-- tfFrAbSyn now local; cleaned up debug info in tinfer.
							(RSS Nov 14)

	-- Installed triv4.ax libarch.sh.
	-- Created libKeyList to contain -l arguments intended for cc.
	-- Extended cmdHandleLibrary to filter -l arguments to decide
		which go in arcMultiFileList and which in libKeyList.
	-- Created osDefaultLibKeyList osLibKeyList.
	-- Created keySearchPath fileAddLibraryKey.
	-- Removed ccAddLib.
							(SSD Nov 13)

	-- Removed tfSyntax/FullFrAbSyn macros, replaced with stub functions
	-- Removed abcheck code for checking selector:type format for
	   Records and Unions.
							(RSS Nov 13)

	-- Modified parser to give different message for failure to recover.
	-- Fixed scanner to put un-tabbed column numbers on tokens.
							(SMW Nov 13)

	-- Improved testing for incorrectly used implicit locals.
	-- Improved scope id coverage of params and lexvars.
							(RSS Nov 12)

	-- Added [os]fileSize fnameIsArchive osArchiveFileType osArchivePath
		arcSearchPath fileAddArchiveMultiFile.
	-- Removed osFnameHas{Dir,Type}.
							(SSD Nov 12)

-- v24.2
	-- Converted from Cross(A,B) -> Cross(C,D)  to	(A,B)->(C,D)
	-- Added "<<" as interim solution for heterogeneous N-ary "print".
							(SMW Nov 11-12)

-- v24.1
	-- Added type inference for functions of n-ary tuples.
							(SMW Nov 11)

	-- Bug fixes for inlining, environment merging and dead var elim.
	-- Added "inline" statements to libax.ax for basic domains.
							(SCM Nov 10)

	-- Fixed macro expansion circularities for parameters of macros.
	-- We now ignore non-declarations in with-bodies.
	-- A with-body sequence is now flattened.
	-- Added fixbug script.
	-- More conversion from debugStream to dbOut.
							(RSS Nov 10)

	-- tform abstract syntax from source is not owned by the tform.
	-- tform abstract syntax is owned if created.
		(tfToAbSyn, tfSubst, tfFrBuffer)
	-- tform abstract syntax is not created until requested.
	-- Added new TForm fields:  ownSyntax, __exports, __imports.
	-- Replaced exported functions tfNew[Empty] with locals:
		tfNew{Symbol,AbSyn,Empty,Node}.
	-- Created local functions tf{Get,Set,Has,Own,Disown,Owns}Expr.
	-- Replaced exported functions tf{Inc,Has,Set}Symes with locals:
		tf{Set,Has}Symes, tf{,Set,Has,Get}Exports tf{,Set,Has}Imports
	-- Created local functions tfSymesFr{Declare,Record,Union,Add,With}.
	-- Created local functions tfSymesTo{Add,With}.
							(SSD Nov 10)

	-- Added TF_Tuple.
	-- Modified interface to tform.c in preparation for "(A,B)->C"
	-- Added drive support for os2 + dos file names.
	-- Merged file name handling for os2/dos/unix.
	-- Added osDirIsThere and used it to make -R check for output dir.
	-- Implemented -M<x> -Mno-<x> and -Memax -Mno-emax for message control.
							(SMW Nov 9-10)

	-- Added an error termination point between scobind and tinfer.
	-- Added _in situ_ syntax checking of declarations in stab and scobind.
	-- Split up opsys.c into itself + 4 OS dependent files.
							(RSS Nov 6-8)

Version 24.0, November 6, 1992

	-- Improved support of OS/2.  Can now compile and execute tests,
	   including mandel.
							(RSS Nov 5)

	-- "Fixed" file name parsing on CMS to fold cases.
	-- Added "*.exec"  to tools/cms for porting.
	-- Added "*.files" rules to Makefiles to drive cms execs.
							(SMW Nov 5)

	-- Better method for sharing symes via scobind.
							(RSS Nov 3)
	-- Added dependent function calling.
	-- Added -Qcc -Qno-cc.
	-- Added support for % as self in type inference.
	-- Split option help message -- it was choking xlc.
	-- Split {tf,ab,syme}Subst into {tform,absyn,syme}.c
	-- Added symeImport, tfGetImports.
	-- Beginning support for importing parameterized domains.
							(SMW Nov 3)
-- v23.9
	-- Added environment merging.
	-- Fixed bugs in inlining and dead variable elimination.
	-- Change axlib Makefile to compile library with optimization.
	-- Changed inline3.ax test to be a basic0 version of mandel.ax
							(SCM Nov 2)

	-- Symes are now shared in 'with' tform, 'with' stab and
	   'add' stab.	A better version of this will be implemented soon.
	-- Changed type of '%' in 'add' and 'with' scopes.
							(RSS Nov 2)

	-- Extended grammar to accept abitrarily nested statements.
							(SMW Nov 2)

-- v23.8
	-- Reinstated $ as % for self-reference.
	-- Prepared tinfer.c for impied "set!" "apply" "iterator" & "test".
	-- Application of dependent maps -- still need to do imports
	   of dependent types.
							(SMW Nov 1)

	-- Symbols in repeats and collects now go the correct scope.
	   tinfer and genfoam still need to be upgraded.
							(RSS Nov 1)
	-- Improved checking of the lhs of a define (bug-30).
							(RSS Oct 31)

-- v23.7
	-- Fixed abnorm and scobind to put ++ documentation on the
	   correct id.
							(RSS Oct 30)
	-- Added dead variable elimination.
							(SCM Oct 30)
	-- Changed -x option to -Fx.
	-- Added ==> and $ for backward compatibility.
	   Note $ introduces 31 shift-reduce conflicts.	 Do we want it??
	-- Added wc-test and wc-port rules to src/Makefile.
	-- Improved src/Makefile to restore old comsgdb.h, if not different.
	-- Allowed to temporarily accept files of type .spad and .input.
							(SMW Oct 30)

-- v23.6
	-- Added tfIterator.
	-- Type inference of collect forms.
	-- ++ comments working in standard places.
	-- "->" parsing bug fixed.
	-- depend0.ax doc0.ax parse1.ax tests added.
	-- Local domains tested.
	-- Extended testax to allow generation of .axd files.
	-- Moved calls to stabFileInit/Fini for persistence with axc -i.
							(SMW Oct 29)

	-- Fixed strUntabLength
	-- Fixed symeListToSExpr/abToSExpr to add the symeComment to the end.
	-- Added abDefinee{Id,Type} for picking apart Declare/Define/Assign.
							(SSD Oct 29)

-- v23.5
	-- Dependent function and type definitions.
							(SMW Oct 27-28)

	-- Added code and macros to scobind, stab, syme, tposs and tfsat
	   to support tform forwarding and syntax tforms.
							(RSS Oct 27-28)

	-- Created cmdHookFlag abnSetHook abnApply AB_Hook ti{bup,tdn}Hook
	-- tfEqual/tfHash now more permissive on declare/define/assign.
							(SSD Oct 28)

	-- Added inlining of iterator and curried functions.
	-- Changed genfoam to generate temp variables to hold yield values.
							(SCM Oct 27)

	-- Further improvements to error messages.
	-- Added tuple assignment and multiple value returns to type inference.
							(SMW Oct 26-27)

	-- Fixed pretty printing with clipping and changed terror.c to
	   produce better indented messages.
							(RSS Oct 26)

-- v23.4
	-- Fixed pretty printing of ssymBracket and ssymeBrace applications.
	-- Undeclared parameters now get symbol meanings if there are
	   default types.
	-- Added some preliminary code for TF_Syntax and forwarding.
	-- Fixed syntax checking for declares. Added abcheck0.ax (bug-11).
							(RSS Oct 23)

	-- New file "terror.c" for type errors.
	-- Fixed display of sub-parts to check for leaves in error messages.
	-- Improved error messages to show expected type if known.
	-- Moved includes for terror.h, cfold.h, and inline.h
	   to the drivers for the appropriate phases, rather than having
	   them included in axcphase.h.
	-- Created bug reporting system.  Send bug files to axc-bug@radical.
							(SMW Oct 23)

	-- Fixed inlining of functions which have nested lexical levels.
	-- Fixed C code generation for FOAM_EElt.
	-- Fixed C code generation for environment references.
							(SCM Oct 22)

	-- Test for existence of .o and .a files named on command line.
	-- Fixed bug in includer's counting of leading white space.
	-- Improved error message for meaningless expression to show
	   meanings of sub-parts.
							(SMW Oct 22)

-- v23.3
	-- Hash type forms and abstract syntax based on tag's strings rather
	   than tag's numberical values to stabilize tests.
	-- Removed tfHashFrAbSyn
	-- Added AB_SuchThat to have a place to hang implicit test function
	   for "such that" tests.
							(SMW Oct 22)

	-- Renamed "truth" to "test", and String to Literal in literal formers.
	-- Simplified calls to tiGetTForm
							(SMW Oct 21)

	-- Fixed some bugs in scobindReconcile that may have put items in
	   the wrong symbol table.
	-- We no longer import from 'with' tforms.
	-- Importing self at an outer level no longer screws up add
	   bodies (inline3.ax problem).
							(RSS Oct 21)

-- 23.2
	-- Modified ccode.c, genc.c and genfoam.c to print correct
	   #line information in generated C code.
							(JMS Oct 20)

	-- Added declaration of Record to basic.ax and basic0.ax
	-- Fixed most tests which were not passing because of Record and/or
	   Experimental.
	-- Modified absyn.h to have "implicit" field in semantics structure.
	-- Removed AB_Type, added TF_Syntax and TF_Forward and installed
	   test outputs with the new hash codes.
							(SMW Oct 19-20)

	-- Changed syme->number to a UShort field.
	-- Changed the SYME_NUMBER_UNASSIGNED macro to include a UShort cast.
	-- Removed stab argument from:	compFileLoad compPhaseLoad
		stabGetSymeList libGetSymes libGetSymeTypes tfRdBytes.
	-- Added symeListEqual.
	-- Removed stabGetSymeList.
	-- Cleaned up some gcc warnings.
							(SSD Oct 16)

	-- Threw away all uses of AB_Type but have yet to remove it from
	   the enum list.
	-- Type forms are now cached on the actual type absyns, rather than
	   on the main expression absyn (ie, on the type of an Ab_Declare,
	   rather than on the AB_declare itself).
	-- Absyns can have a syme, stab and tform now, rather than just one.
	   abSeman macro has been replaced by 3 macros and 3 functions.
							(RSS Oct 15)

	-- Improvements to makeon maclean docc.
	-- comsgFini error loops fixed by calling comsgUninit earlier.
	-- Fixed sposLineText/include handling of stdio streams/file errors.
	-- Changed SExprFun functions so that the SExpr they get is
		the entire form instead of just the arguments.
							(SSD Oct 14)

	-- Installed code for real records.
	-- Installed tests with Experimental "on". (For shared tforms.)
	-- Fixed osAlloc to take address of a ULong variable, rather than cast.
							(SMW Oct 12-13)

	-- Fixed osPathLen to ignore trailing pathSep characters.
	-- Fixed a call to osAlloc that need a cast to ULong *.
	-- Fixed scobindReconcile so that record selectors do not
	   get warning messages if their names overload with outer
	   definitions.
							(RSS Oct 13)

	-- Improved "Experimental" code in tinfer.c so that now all tests
	   except inline2.ax and inline4.ax test pass. Still not the
	   default yet.
	-- AbSyn forms that have associated type forms created in scobind
	   are now storing them and tinfer is using them via tiGetTForm.
	   This excludes lambdas, withs and adds, however.
	-- Added abPretty... forms to include indentation.
	-- Modified stab and scobind to store ids declared for each tform.
							(RSS Oct 9-12)

	-- Modified sposNew to speed includer from 10% of overall time to 2%.
							(SMW Oct 11)

	-- Removed OS-dependent object file types from comsgdb.msg.
	-- Fixed bugs in char{Fr,To}Ascii for '^', '~', '|'.
	-- Made '-F o' flag work in addition to '-F <osObjectFileType>'.
	-- Headers for .l and .c generated files now printing filenames
		in a portable way.
	-- Moved fnameHas{Dir,Type} to fname.c.
	-- Fixed CMS version of osFnameDirEqual to treat 'A' as default dir.
	-- Removed relative pathnames from inline{0,4}.ax.
							(SSD Oct 8)
	-- Free parse tree in axcomp.c.
	-- Modified comsg.c to handle multiple messages for one line correctly.
	-- Fixed includer/srcpos interface to handle includer messages properly.
							(SMW Oct 9)

-- v23.1
	-- Added osFree to allow returning of store to OS.
	-- Removed pgmem list layer in store.c.	 Now use PgMap for this too.
	-- Added support for a$b.
	-- Removed duplicate -L options in osLinkCommand.
	-- Removed second attempt to print messages from fatal error.
							(SMW Oct 5-8)

Version 23.0, October 2, 1992

	-- Added platform support for OS/2.
							(RSS Oct 2)

	-- Added FOAM_FORMAT_FOR macro for often used nested 'if' fragment.
	-- Added stoTune to rebuild free lists by address (without STO_TAG).
	-- Modified a few 'assert's to remove warnings on DOS.
							(SMW Oct 1-2)

	-- Added name field to variables in pretty printed Foam.
	-- Cleaned up main programs' use of compiler files.
	-- Added '-expanded' option to makemake for Sun configurations.
							(SMW Sept 29-30)

	-- Added support for inlining functions in topological order.
	-- Removed stab slot in foamHdr
	-- Added slot in foamHdr for InlinerInfo struct pointer.
							(SCM Sept 28)

	-- Fixed pretty print of 'default'.
	-- Better use and checking of defaults in scobind.c.
							(RSS Sept 28)

	-- Fixed pretty printing of ++ comments.
	-- Separated tformsUsed from tformsUnused in stab.*
	-- Added more 'Experimental' stuff in tinfer.c.
							(RSS Sept 27)

[ SMW Vacation Sept 21-25]

-- v22.4
	-- Added support for inlining from a separate file.
	-- Added inlining support for global var references
	-- Added inlining support for lexical var refs from other file.
							(SCM Sept 24)

	-- Split stab{Global,Init} into Global and File versions.
	-- Created stabFini{Global,File} to free and pop stab{Global,File}.
	-- Added stab argument to compFile{Save,Front,Middle}.
	-- Expanded symeTop to recognize symes from stabGlobal/stabFile.
	-- Created gen0InitState to initialize gen0State based on a stab.
	-- Modified gen0MaxLevel to prevent symes floating to stabGlobal.
	-- Eliminated stabGlobal from gen0Syme.
	-- Eliminated gen0CompareTypes gen0IterFoamType gen0AbType.
	-- Added tfIsIterator tfIsRecord tfRecordArgc tfRecordArgN.
							(SSD Sept 23)

	-- liberateBuffer now always makes sure there is a '\0' in
	   position 0 of the string if nothing has been added to the
	   buffer.
	-- Fixed abpretty handling of AB_Label and added abPrettyPrintClipped.
	-- Removed the usedSymes from the symbol table entries.
							(RSS Sept 23)

	-- Added foamRdDFmt to return the formats from an .axb file and
	   foamRdConst to return the foam of a given constant from
	   an .axb file.
							(JMS Sept 21)

	-- Renamed top.[ch] to axcomp.[ch].
	-- Changed local to extern in axcomp.h forward declarations.
	-- Split top-level entry points from axcomp.h (was top.h) into axc.h.
							(SSD Sept 18)

	-- Added some stab support for TForm groups.
	-- Fixed bug with parameters in different scopes with same name
	   appearing multiple times in symbol meaning lists. This is
	   temporary as a more general scheme will soon be in place.
							(RSS Sept 18)

	-- Fixed handling of system commands in !INCLUDING state.
							(SMW Sept 18)

-- v22.3
	-- Fixed sxFunTimes.
	-- Changed abnorm.c to include positions on manufactured nodes.
	-- Added Truth.
	-- Fixed msg.sh test.
	-- Foam generators for "@", "return", "break", "next".
	-- Patch to genFoamVal to handle "3 + return 4"
	-- list.ax test file
	-- Extensions to tinfer.c
							(SMW Sept 16-17)

	-- Expanded the Doc structure to contain StringList and String fields.
	-- Added docNewEmpty docNewFrString docNewFrList.
	-- Removed docNew docMore docEnd docCorpus DOC_None DocCorpus.
	-- Made token.c pass strings through for docs and comments.
	-- Made scan.c pass the strings through into the tokens.
	-- Made axel.y collect the tokens in the correct order.
	-- Made abNewDocTextOfList collect strings into the Doc structure.
	-- Wrote abNewDocText to put the Doc into abstract syntax.
	-- Wrote scobindDoc to bind a Doc structure to put into symes.
	-- Added a Doc argument to stabDefExport symeNewExport.
	-- Made scobind.c put the Doc structures in the exported symes.
	-- Replaced lib{Put,Get}DocCorpus with lib{Put,Get}SymeDocs.
	-- Checked cases for AB_DocText in:  abNew abFree abCopy abHash
		abPrintClipped0 abPPClipped0 ab{To,Fr}SExpr
	-- Wrote docCopy docPrint.
	-- Added fileGetString.
	-- Added constants LIB_OFFSET_NONE, LIB_{Name,Inline,File,Type}.
	-- Pointed lib{Put,Get}Syme{Names,Symes,Docs,Files,Types}
		at new library file sections.
							(SSD Sept 13-16)

	-- Condensed tFormsSeen functionality in stab.* into tFormsUsed.
							(RSS Sept 16)

	-- Added warning for clobbering input files.
	-- Added warning for leaving out-of-date output files.
	-- Fixed testax for testrun of files in other directories.
	-- Added osFnameDirEqual.  Cleaned up some filename handling code.
	-- Added osFileIsThere and fileIsThere.
							(SMW Sept 14)

	-- Added preliminary support for inlining functions.
							(SCM Sept 15)

	-- Added interactive compilation loop for error-break or top-level.
	-- Moved system command recognition out of scanner and into syscmd.c.
	-- Added ability to include input stream item by item.
							(SMW Sept 15)

-- v22.2
	-- Large and small symbol tables are supported for TForms seen and
	   used.
	-- Explicit qualified imports and inlines now supported. Inline symes
	   have their inlinable bits set.
	-- Fixed abpretty for inlines.
	-- tfEqual first does an ==.
							(RSS Sept 9-11)

	-- Big chunk of cleanup in top/phase/emit to have all logic controlling
	   top-level in one place.
	-- Cleaned up fname.[ch]
	-- Modified a few things to take FileName rather than String values.
	-- Started to remove depencency of comsg stuff on having a full
	   list of source lines around.
	-- Added ability to traverse command line options without necessarily
	   processing them all.	 Some reorg of cmdline.c.
	-- Emmitters no longer call code generators -- they get passed the code.
	-- More immediate freeing of structures after use in top level.
							(SMW Sept 9-11)

-- v22.1
	-- Removed lib{Get,Put}TForm in favor of tf{Rd,Wr}Bytes.
	-- Handled syme->constNum in lib{Put,Get}Symes.
	-- Added symeInlined symeListClosureAddSymes.
	-- Added syme and sypos (syme offset) to struct libSyme.
	-- Combined dcpos/flpos to pos in struct libSyme
	-- Split lib{Put,Get}Symes into passes through the syme vector.
	-- Added libSectionSize lib{Init,Put,Get,Fini}Symev.
	-- Added lib{Put,Get}Syme{Names,Symes,Types}.
	-- Added a pass to libPutSymes to write out the syme numbers.
	-- Added a pass to libGetSymes to read in the syme numbers.
	-- Removed symev parameter from {ab,tf}{WrBytes,ToBuffer}.
	-- Added sxiSTAR_Standard{Input,Output}_STAR to sxiRead[Eval]PrintLoop.
							(SSD Sept 10)

	-- Changed ccode.c to only print #line numbers for function bodies.
	-- Wrote foamGetConst which returns a given Constant from a Unit.
							(JMS Sept 10)

	-- Created osPathLength to return the number of names in the path.
	-- Created osPathParse to parse the path into its constituents.
	-- Created osFnameHasDir, osFnameHasType.
	-- Changed pathListFrString and libKeyName to call opsys functions.
	-- Incorporated libKeyName into cmdHandleLibrary.
	-- Localized osExtSep osDirSep osPathSep to opsys.c.
							(SSD Sept 9)

	-- Wrote tfToAbSyn to create an AbSyn from a TForm.
	-- Changed tf{Wr,Rd}Bytes to call tf{To,Fr}Buffer.
	-- Added tfIsLibrary, tfLibraryName, tfLibraryLib.
	-- Changed abHash to tfHash in genfoam.c and stab.c.
	-- Wrote tfHashFrAbSyn to compute a tfHash directly from an AbSyn.
	-- Changed AbSyn arguments to TForm arguments in genfoam.c:
		gen0Type gen0FormatNumber gen0{Get,Library,Domain}Getter
		gen0{Add,Seen}ImportedDomain gen0AbTUnique
	-- Removed gen0DomName.
							(SSD Sept 8)

	-- Fixed abPretty to handle abNothing.
	-- Added more structure to top.c.
	-- Modified cmdline.c to allow peeking at options without necessarily
	   processing all of them.
							(SMW Sept 8)

	-- Extended makemake to allow include path variables.
		-- Added -Iv="/u/i" and -verbose command-line arguments.
		-- Added FTYPE_DIR.
		-- Created and used nodeName macro to access node->name.
		-- Added probeNode to search for a node along the directories.
		-- Added [NO_]PROBE and {probe,full} node fields for probeNode.
							(SSD Sept 8)

	-- Added compInit, compFini.
	-- Added a function value table to sexpr.[ch].
		-- Changed sxQuote to sx0Quote, sxFunction to sx0Function.
		-- Added SExprFun, sxiFunctionTable, sxiTableInit, sxiFreeList.
		-- Added sxSymbolValue,sxSet,sxiSymbolFunction,sxiSetFunction.
		-- Added sxApply, sxBye, sx{PLUS,MINUS,TIMES}
		-- Simplified sxEval.
							(SSD Sept 7)

	-- Cleaned up scobind a bit and added handling for abType.
	-- Added code in abnorm.c that inserts abType forms. It is now
	   conditional until I get tinfer to handle it correctly.
	-- Globally renamed stabTop to stabGlobal.
	-- Started implementation of small and large symbol tables for
	   tforms seen and used.
							(RSS Sept 4)

	-- Added cases to ab{To,Fr}Buffer for special type forms.
	-- Replaced symeListClosureAddType w/ symeListClosureAdd{TForm,AbSyn}.
	-- Added stubs for tfToAbSyn tfHash tfHashFrAbSyn.
							(SSD Sept 4)

	-- Changed Makefiles to not write temporary files in current directory.
							(SMW Sept 4)

	-- Wrote graph-based makemake:
		* much faster
		* output smaller
		* generates makefile which does not write in src dir,
		  allowing multiple makes to run from the same src.
		* generates makefile for several libraries together
		* retracts lists of files to macro references
							(SMW Sept 2-3)

	-- Modified C code generation to expand artCCall macro for cases
	   in which number of arguments is greater than that allowed by
	   largest macro.
							(JMS Sept 3)

	-- Added TF_{SYM,LEAF,NODE}_{START,LIMIT}.
	-- Classified the tfTags using the various tag types.
	-- Created tfIs{Sym,Leaf,Node}{,Tag} to recognize the tag types.
	-- Created tformInfoTable to support tfTag->{string,argc} translation.
	-- Generalized tfPrint to use tfIs{Sym,Leaf,Node} and tformInfoTable.
	-- Generalized tfEqual to use tfIs{Sym,Leaf,Node}.
	-- Exported ab{To,Fr}Buffer from absyn.h.
	-- Wrote tf{To,Fr}Buffer to walk the tform tree rather than the absyn.
	-- Exported tf{To,Fr}Buffer from tform.h.
	-- Wrote tfHash.
							(SSD Sept 3)

	-- Added AbSyn abType and updated abpretty to handle it.
	-- Added a forwarding pointer to tforms.
							(RSS Sept 2)

	-- Fixed bugs in cport-t.c.
	-- Created stubs for tf{Wr,Rd}Bytes.
							(SSD Sept 2)

	-- Fixed generation of temporary variables in C code generation
	   to generate appropriate types for foreign function calls.
							(JMS Sept 2)

	-- Added tests libdup*.ax to test duplicate )library commands.
	-- Changed multi.sh to not throw away the axc output.
	-- Fixed phGrandTotals to check cmdVerboseFlag.
	-- Extended foam{To,Fr}Buffer to convert arrays of chars to ASCII.
							(SSD Sept 1)


Version 22.0, September 1, 1992

-- v22.0
	-- Fixed *-t.sh test scripts to use command line correctly.
	-- Removed libfoam.a dependency on format.c buffer.c strops.c.
	-- Expurgated .axs input files from testax.
	-- Created domakemake to automatically select makemake options
	   based on platform.
							(SMW Sept 1)

	-- Made corrections to foam-c.c/h and changed some functions to macros.
	-- Added boxing and unboxing for double types used by Arb type
	   in C code generation.
							(JMS Aug 31)

	-- Added "-va" argument to "oldc" to provide hook for Sun CC
	   implementation of "varargs.h".
	-- Completed port to Sun (vendor) C ompiler --	a second K+R platform.
							(SMW Aug 31)


-- v21.8
	-- Extended funvar.ax test.
	-- Removed env variable CC in docc until we fix "make tools".
	-- Generated configuration for Sun (vendor) C compiler.
	-- Fixed float.h0 to have K+R compatible syntax (removed F suffix).
							(SMW Aug 28)

	-- Cast into and out of FOAM_Arb for getter returned values.
	-- Added check for env variable CC in docc.
							(SCM Aug 27)

	-- Modified testax to use -Ccc=docc.  Removed testax -args option.
	-- Modified store.c to work around Gnu C 2.2.2 bug.
	-- Merged -WF and -F options.
	-- Fixed the option setter in comsg.c to have explicit return.
	-- Removed use of AXCBIN, AXCLIB, AXCINC in path.c.
	-- Fixed fopt.sh test.
							(SMW Aug 27)

	-- Create temporary variables for nested function calls
	   in C code generation.
							(JMS Aug 26)
	-- Tightened up resource-by-phase report from "-v" option.
	-- Renamed Basic0 to Basic in tests.
	-- Accounted resources used by subprocesses (i.e. cc).
	-- Created clean entry point for recursive type inference.
							(SMW Aug 26)
	-- Added "fixlines" to opsys.c.
	-- Modified ccode.c to generate either "fixed" lines or actual lines.
	-- Added a "-Ccc=" option to set both linker and compiler.
	-- Now only generates C line numbers with "-g".
	-- Use the environment variable CC for the default C compiler.
							(SCM Aug 26)

-- v21.7
	-- TEMPORARY: put "ensureTForm" in tinfer until scobind catches up.
	   This causes the type inference to run much more slowly.
	   Otherwise categories loose symbol meanings on being written to .axb.
							(SMW Aug 26)

	-- Heavy revision of tform.[ch], making it much more substantial.
	-- Made all occurrences of tfFrAbSyn have non-zero symbol table.
	-- tinfer/stab/tform now no longer keep converting absyn<->tform.
	-- tfMap, tfCross, etc now keep a vector of their component tforms.
							(SMW Aug 25)

	-- Cleaned up abpretty.c wrt to abNothing and newlines.
							(RSS Aug 25)

	-- Added a 'p' developer's T option to "pretty print" the
	   result of a phase. Only works for those phases that return
	   an AbSyn now.
	-- Modified phase.* and top.c to support above.
	-- We now abNormalize (a(b))$T to (a$T)(b).
	-- Removed some unused variables in scobind.c and abpretty.c.
	-- Two instances of 'return' with no value in compFile now return 0.
							(RSS Aug 24)

	-- Expurgated AB_Many and AB_Wrong
	-- Multiple iterators placed in iterv field in abRepeat+abCollect.
	-- Removed AB_Use_Return, since genfoam can now handle statements.
	-- Simplified tiBottomUp + helper fns by removing pmeaningless param.
	-- Debugged fixlines.c.
	-- Handling of "next", "break", and "do" in tinfer.
							(SMW Aug 24)

-- v21.6
	-- scobind.c now passes TForms instead of AbSyns to the stab routines.
	-- Discarded most of the old structures of the symbol table for
	   keeping track of types and variables seen.
	-- A list of lexicals seen per symbol table level is now kept.
	-- A list of distinct TForms per symbol table level is now kept.
	-- A list of TForm uses concerning importing and inlining is now
	   kept.
	-- Changed the stab debug and printing routines to reflect above.
	-- Dropped abnorm flattening of sequences.
	-- Fixed some bugs in tform.c and tinfer.c regarding extraction of
	   TForm parts and abNothing vs. 0.
							(RSS Aug 21)
	-- Added the enumeration tfTag.
	-- Added fields to TForms for tracking sub-tforms.
	-- Added generic TForm field accessors.
	-- Added tfNewEmpty tfNew.
	-- Added compound tform recognizers and accessors.
	-- Rewrote tfMapArgTypeCount(tf) as tfCrossArgc(tfMapArgType(tf)).
	-- Rewrote tfMapArgTypeI(tf,i) as tfCrossArgN(tfMapArgType(tf),i).
	-- Added special symbols for type constructors.
	-- Added special symbols for type coercion operation names.
	-- Added special symbols ssymApply ssymSetBang.
	-- Added special tforms and special tform recognizers.
	-- Replaced tfUnknown() with tfUnknown.
	-- Created tfInit to initialize special tforms.
							(SSD Aug 20-21)

	-- Modified symbol table to hav TPoss for entries, rather than lists.
	-- Created TPossIterator to allow iteration on TPoss without seeing
	   the list representation.
	-- Modified type inference to use TPossIterators.
	-- Modified type inference to reference count TPoss rather than copy.
	-- Implemented -M+xxx and -M-xxx options for message control.

	-- Added additional lookup and printing functions to msg.[ch].
	-- More thorough message test cases.

	-- Split type inference into final cases (**).
	-- Cleaned spesym.[ch]
	-- Caught a few bugs from 0 type forms.
	-- Added titles in opsys.c.
	   Modified osAddToString to treat pos and buf uniformly.
							(SMW Aug 18-21)

-- v21.5
	-- Now importing from domains instead of from file names.

	-- Added -l command line option and )library system command.
	-- Added globalStab which persists across separate files
	   which appear on the command line.
	-- Added stabTop (returns globalStab) and changed stabNew to stabInit.
	-- Filled in cmdHandleLibrary to parse -l, )library options and
	   create Library symbol meanings.

	-- Defined SYME_Library symbol meanings.
	-- Added abIsLibraryId abLibraryName.
	-- Added syme[Set]Library symeNewLibrary stabDefLibrary.
	-- Rewrote stabImportFromType to use Library symbol meanings.
	-- Moved syme->doc into syme->origin and added origin.__library.

	-- Split tfAddType out from tfTypeType.
	-- Added tfGetAddSymes tfGetWithSymes osDirSep osExtSep.
	-- Added symeLevel syme[Set]Comment.
	-- Merged symeNewDummy with symeAlloc.
	-- Removed stabOnlyMeaning
	-- Cleaned up stabIsSeenType[0], stabDef<...>.

	-- Stubbed out cases for Library symes in lib code.
	-- gen0Syme calls gen0GetGetter to declare/define/init library symes.
	-- gen0Vars ignores library symbol meanings.
	-- Changed gen0GetFileGetter to gen0GetLibraryGetter.
	-- Removed symeImported<...>.
							(SSD Aug 13-18)

	-- Added new command line style.
	-- Added the ablility to link programs.
							(SCM Aug 18)
	-- Created abNothing nodes in parser and modified all phases
	   to acccept them.
	-- Renamed litInteger, litFloat & litString to integer, float, string.
							(SMW Aug 17-18)

-- v21.4
	-- Makefiles cleaned again:  incorporated $(MACHINE) into $(AXCROOT).
	   (Now $(AXCROOT) should be .../axc/$(MACHINE).)
							(SSD Aug 17)
	-- Fixed stdio.h0 to undef 'sprintf'.
							(RSS Aug 17)
	-- Split version.[ch] out from axcobs.[ch].
	-- Made TForm distinct from AbSyn.  Modified all uses in files
	   to convert as necessary.
	-- Added abstract iteration over TPoss sets.
							(SMW Aug 17)

-- v21.3
	-- Pulled the AXIOM code pretty printer out of absyn.* and
	   put it into abpretty.*. Extended it to handle most of the
	   language.
	-- Took the precedence and other pretty printing info out of the
	   table in absyn.c. Completed the data and put it into the table
	   in token.c.
							(RSS Aug 14)
	-- Split implicit return detection from type inference.
	-- Removed syntax stack in type inference.
	-- Added "iterator" keyword to orthogonalize semantics of functions
	   with "yield".
	-- Renamed "escape" to "raise".
	-- Heavy cleaning of axlib and test directories.
	-- Streamlined basic0.ax
	-- Tracked down code generation bug in domains containing iterators.
	-- Removed genfoam dependency on abUse fields.
	-- Renamed "Testax" to "testax" (It was "T" when in ../test)
	-- Added "-only <kind>" option to "testax".
	   E.g.	 testax -only testrun *.ax
							(SMW Aug 12-14)

	-- Added syscmd.[ch] to process system commands.
	-- Added cmdHandleExecuteDir cmdHandleLibraryDir cmdHandleIncludeDir.
	-- Changed cmdUseError to print a pointer to 'axc -help'.
	-- Now handling )executeDir )libraryDir in in scanSysCommand.
	-- Removed inclHandleExecuteDir includeHandleLibraryDir.
	-- Cleaned up Makefiles so that they only parameterize on
	   $(MACHINE) and $(AXCROOT).
							(SSD Aug 11,12)

	-- Extended "makemake" so libaxlo.a and libfoam.a can be built from
	   libaxc.a.
	-- Fixed top.c to go to next file rather than quit on abcheck errors.
							(SMW Aug 11)

-- v21.2
	-- Wrote fixlines to correct line numbers in .o files and
	   modified ccode.c to save info for fixlines. (Given to JMS)
							(SMW Aug 7,10,11)

	-- Cleaned up the spesym files and added some defs for arithmetic
	   operators.
	-- Expanded absyn info table to include data for pretty printing
	   AXIOM code. Table is not complete or necessarily correct yet.
							(RSS Aug 11)

	-- Renamed .../axc/rs_obj to .../axc/rs_lib.
	-- Introduced .../axc/include.
	-- Introduced environment variables AXCROOT, AXCINC, AXCLIB, AXCBIN.
	-- Introduced environment variables LIBPATH, INCPATH.
	-- Renamed -X to -trap.
	-- Introduced -X <dir> to add a directory to the execute path.
	-- Introduced -L <dir> to add a directory to the library path.
	-- Introduced )executeDir to add a directory to the execute path.
	-- Introduced )libraryDir to add a directory to the library path.
	-- doc/Paths now describes what files should go where.
	-- Added path.[ch] to implement search paths. (includes fileRdFind)
	-- Added inclSearchPath, libSearchPath, fileSearchPath.
	-- Using fileRdFind in the includer.
	-- Added osGetenv, osExecutePath, osLibraryPath, osIncludePath.
	-- Added tests for searching the include path.
	-- Added maclean for deleting all files created by makeon.
							(SSD Aug 11)

	-- Now terminates if errors exist after abcheck and tinfer phases.
	-- Standardized debugging in stab, syme and scobind files.
	-- Started real checking in abcheck.
	-- Removed some tinfer assert-ions because of abcheck coverage.
							(RSS Aug 10)

	-- Changed the axlib directory to new organization:
	--   basic.ax becomes basic0.ax and basic2.ax becomes basic.ax
	--   Merged both basic and basic0 into single files.
	--   Added print function to the basic domains.
	--   Added a file output.c to support the printing.
	-- Changed most tests to use domain versions of types.
	-- Added "testrun" options to several .ax files in the test dir.
							(SCM Aug 10)

	-- Wrote abPosSpan to find min and max position in an AbSyn.
							(SMW Aug 6)

-- v21.1
	-- Implicit import from declarations!
	-- Improved type inference error messages.
	-- Expurgated ccoLine in ccode*.
	-- Reworked abPrintString to abPretty in absyn.c.
	-- Added "-main" option to cmdline.
	-- Made foamDefaultPosition fluid in genfoam.c.
	-- Added tests triv0.ax triv1.ax ovload1.ax mandel2.ax
	-- Untabbed comsgdb.msg.  Please do not use tabs in this file:
	   It causes the messages to align differently when printed.
							(SMW Aug 3-6)

	-- Added support for "--> testrun" in Testax.
	-- Added code for libtest.a in test/output.c.
	-- converted mandel.ax to use "testrun".
							(SCM Aug 5)

	-- Added listFind. stabAddMeaning now checks for suplicates.
							(RSS Aug 5)
	-- Added support for "-main" in genlisp.
							(SCM Aug 4)

	-- Added symeEqual and (local) symeOriginEqual.
	-- Added stub for abCheck. Does not do anything yet. Aren't you
	   glad I mentioned this?
							(RSS Aug 4)

	-- Added Syme Dump phase to output a .axd file.	 ('axc -Fd basic.axb')
	-- Added functions symeList{Wr,Rd}SExpr, symeList{To,Fr}SExpr,
		symeTag{To,Fr}Str, emitSymeDump, libGetDocCorpus.
	-- Begin reading doc positions and exporters in libGetSymes.
	-- Made symeListClosure a structure-sharing operation.
	-- Added sx{First,Second,Third,Fourth}.
	-- Fixed seg faults from unassigned syme numbers.
	-- Improved error recovery in reading library files.
							(SSD Aug 3)

[ Aug	3- 7 visit by Malcom Cohen of NAG   ]
[ July 27-31 SMW SCM RSS JMS at conferences ]

Version 21.0, July 30, 1992

-- v21.0
	-- Fixed type/level of import declarations in gen0Vars.
	-- Fixed order of import declarations in gen0InitImport.
	-- Created gen0GetDomainGetter; it fixes a bug in the use of
		lexical levels in the generated code which returns
		the closure for the exporter.
	-- Added AB_With -> FOAM_Clos mapping to gen0Type.
	-- Collected and expanded GenFoamState accessing functions.
	   (added gen0{Push,Pop}State, gen0PushFormat)
	-- Replaced gen0IssueStmt with gen0AddStmt and added gen0IssueStmts.
	   (gen0Add<foo> adds a <foo> to gen0State, and gen0Issue<foo>
		collects the results and actually constructs the foam)
	-- Fixed compilation of basic2.c and complex2.c.
	-- Added extern to global declarations in gc0IdDecl.
	-- macex now uses macWith for with clauses instead of macWhere.
	-- Changed library version numbers from macros to static variables.
	-- Bug fix for symeListClosure code to keep symes in order.
	-- Fixed minor compiler warnings:
		tools, mandelmain, absyn, genfoam, genlisp, genc.
	-- Updated test files.
							(SSD July 27-30)

-- v20.2
	-- Added literal cases to ab{To,Fr}Buffer.
	-- Added data type Offset for File position offsets.
	-- Added debugging aids to absyn.c, foam.c, genfoam.c, lib.c.
	-- Added separate phase for printing the Symes to library files.
	-- Now writing symeExporters of imported Symes to library files.
	-- Separated functions stabGet{Exported,Global}Symes.
	-- Added symeListClosure--closes Symes over symeType and symeExporter.
	-- Checking in lib{Get,Put}Symes so that we only import from top-level.
	-- Added tiSymeTypes to check the types used in a symbol table.
	-- Fixed future bug of trying to check symbol meanings imported
		from library files that don't belong in the local stab.
							(SSD July 23)

	-- Changed scobind to treat constants as exports by default in adds.
	-- Modified tinfer so explicit export list not needed in adds.
							(SMW July 23)

	-- Changed genfoam to treat files as domains.
							(SCM July 23)

	-- Can now import a domain multiple times.  Fixed the "bar" problem".
	-- Connected abPrintString to symePrint and modified stabPrint.
							(SMW July 23)

	-- abCopyApplyArgs in absyn.c now actually copies the arguments.
	-- Installed SSD's fix to the parser for with/add.
							(RSS July 22)

	-- Removed argtypes and rettypes from symbol table entries.
	-- Misc minor fixes in foam.c foam-c.h emit.c.
							(SMW July 22)

	-- Include defines at the top of generated C code files
	   depending on whether K&R or ANSI C compiler is specified.
							(JMS July 21)

	-- Modified strHash to call charToAscii macro.
	-- Modifed axel.y to allow single declarations in 'for' variable
	   slots. Improved scobind to handle such animals.
							(RSS July 21)

	-- Modified the scope binder to delay recursing into lambda
	   expressions until everything else at the scope level was
	   processed.
	-- Scope binder now sets up symbol tables for repeats and
	   collects and makes 'for' variables (only) local to that
	   scope.
	-- Fixed some scoping binder bugs regarding default types.
							(RSS July 20)

	-- Implemented printing function abPrintString for abstract syntax.
	-- Fixed format, scanning and divide functions in foam-c.c
	   and fixed prototype bug in foam-c.h.
	-- Fixed string generation for formats in genc.c.
							(JMS July 20)

-- 20.1
	-- Streamlined grammar clauses for 'with'/'add'/'declare'.
	-- Added abArgList abListOneOrOfArgList.
	-- Streamlined tfTypeType.
	-- Replaced stab..Imported with stab..SeenType. (using TCON_IsImported)
	-- Added AB_Qualify/AB_RestrictTo cases for tinfer.c.  (need more work)
	-- Fixed AXC_AMeaning messages from tinfer.c.
	-- Added macro symeUnused.
	-- Added stabGetExportedSymes.	(supercedes ShouldPutSyme)
	-- gen0MakeGetter and gen0GetterLine now use the Symes placed in the
		stab by scobind instead of re-extracting them from the AbSyn.
							(SSD July 17)

	-- Added more careful checks for applications that need their own
	   symbol tables. Added better controls for what gets put in the
	   tables.
	-- Added line and file data to bugBadCase and bugUnimpl in util.h
							(RSS July 15)

	-- Implemented AB_Where case for tinfer.c.  May need more work.
	-- Implemented AB_Qualify case for scobind.c.  May need more work.
	-- Fixed abnorm.c bug where it was creating an ill-formed type
	   for a function of one argument when its argument is not declared.
	-- Changed the 'from' argument of 'add' and 'with' forms from
	   'Infixed' to 'Type' in axel.y.
	-- Fixed linear.c bug where it was not creating a pile when a single
	   statement was indented after 'with' or 'add'.
							(SSD July 15)

	-- Fixed macro expansion so that parametrized macros work correctly and
	   have the proper scoping behavior.
	-- Add macro scoping for "add" and "with" forms.
	-- Made explicit the macro scoping for "where" though it is still not
	   correct if the "expr" part introduces new macros -- these will not
	   be retained after the "where" expression (bug).
							(RSS July 13)

	-- Fixed type errors involving 'if'/'exit' statements that are required
	   to return a value, but which will not when the condition fails.
	-- Changed gen0ValueMode from int to Bool.
	-- Added test so that gen0SetTemp only generates code if given
	   a temporary to hold a result; otherwise it has no effect.
	-- Removed gen0FillInits.
	-- Removed optDepth.
	-- Added gen0TempValueMode: creates a temporary when in value mode.
	-- Streamlined genIf, gen0Sequence, gen0Body.
							(SSD July 13)

	-- Added accessors abApplyOp and symeLevelNo.
	-- Added comments to struct stabLevel in stab.h.
	-- Added constructor tfMakeOpType and accessor tfOpArgType.
	-- Removed tfOpArgTypes[Done].
	-- Added tfOpTypeHasSatisfier.
	-- Updated tinfer to use new (and previously existing) functions.
							(SSD July 9)

	-- Defined ssymSelf and "with" and "add" handlers in scope
	   binder to define it as a lexical variable.
							(RSS July 8)

	-- Removed variable sefo from compFile in top.c, using ab instead.
	-- scoDebug functions now use DEBUG macro.
	-- Collected and extended scoFrame functions within scobind.c.
	-- Generalized scoFrameMakeImplicitLocal to scoFrame{Set,New}Use.
	-- Renamed scobind to scobindRhs (cf. scobindLhs).
	-- Separated scobindDeclare and scobindId from scobind[LR]hs.
	-- Separated scobindCollect from scobindRepeat.
	-- Clarified getDefaultType to scobindDefaultType.
	-- Moved abSeman decoration/stab reconciliation calls to scobindLevel.
							(SSD July 8)
Version 20.0, June 26, 1992

-- v19.9
	-- Many, many tweaks to get compiling cleanly on all platforms.
	-- Pre-freeze checkpoint, before confirming merged changes.
							(All June 24,25)

-- v19.8

	-- Added symeQualifiedInline.
	-- Removed declared/defined list from symbol table and added
	   lists for defined, assigned, and used but not assigned symbols.
	-- Implemented 'default' for declarations in scope binder.
	-- Reorganized scope binder so that most function have void
	   return types and to no longer use a 'bits' field.
							(RSS June 24)

	-- Used comsgError for the library file errors.
	-- Added symeNewDummy.
							(SSD June 24)
	-- Added reference counting to TPoss.
	-- Disconnected syme promotion on symbol table access.
	   This creates less garbage, but may be slower.
	-- Added summary by code for garbage collection.
	-- Made -Tg option display the kinds of objects collected.
	-- Made all access for syme type and exporter via macros in preparation
	   for lazy loading of these fields from libraries.
							(SMW June 24)

	-- Added preliminary Foam code generation for "add"s and usage of
	   values exported from "add"s.
	-- Fixed code generation for RecNew to initialize the
	   fields of the record.
							(SCM June 23)
	-- Added macros for SExpr <-> [SD]Float translations.
	-- Extended foam{To,Fr}{Buffer,SExpr} to floating point data types.
	-- Added lib{Major,Minor}Version to track the oldest acceptable
		compiler version with the same library file format.
	-- We now allow a variable number of sections in an axb file.
	-- Added a section name to each of the section headers.
	-- Added a section index to map section names to section numbers.
	-- Cleaned up library file header functions/macros:  data structures,
		external entries, library headers, and library sections.
	-- Rebuilt the library file (axb) tests.
							(SSD June 23)
	-- Created struct tposs to insulate TPoss representation.
	-- Updated uses of TPoss in tinfer.c etc to use insulating interface.
							(SMW June 23)

-- v19.7
	-- Added new files "tform.[ch]" for type forms.
	-- Added new files "tposs.[ch]" for type possibility sets.
	-- Moved importing code to "stab.[ch]" from "tinfer.[ch]".
	-- Moved file type macros from "emit.h" to "axcobs.h".
	-- Moved comsgdb from level 3 to 2 to allow stab to import from file.
	-- Added "probed" field to stabEntry.
	-- Added QualifiedInline to TypeContext.
	-- Renamed abTyUnique->abTUnique  abTyPoss->abTPoss
	   for consistency with new TPoss type.
							(SMW June 22)

	-- Added comments about sizes for file portability to cport.h.
	-- Removed bufGetChars and clarified the purpose of fileGetChars.
							(SSD June 22)

	-- Removed the offset and offset compression code in foam generation.
	-- Updated the foam instruction table by removing Iterate,
	   Break, Loop, Pos, and Offset from foam.c and foam.h and making
	   Prog an n-ary instruction.
	-- Modified Prog in genfoam.c, foam.c and foam.h to include an offset
	   to the end of the prog, and a field for the maximum label.
	-- Changed Select, Goto, and If statements to write out label number,
	   where the label has the format of maximum label.
	-- Eliminated the dataArgc field from the foam instruction header.
							(JMS June 22)

-- v19.6
	-- Removed Sefo as a separate datatype and deleted sefo.c and sefo.h.
	-- Reorganized the scope binder so that it collects data and then
	   processes it when it is done at each level.
	-- Modified the symbol table code to be more scope-binder friendly
	   and attached the scope frame to it so that one can walk up the
	   stack and look at information compiled in outer scopes.
	-- Added a function to print hash table entires in a columnar format.
							(RSS June 22)

-- v19.5

	-- Testax:  added testexpr to test .axs -> .axb -> .axs
	-- [b]intLength(0) now yields 1 instead of zero.  (length in bits)
	-- xintStoreI(0) now constructs a BInt with one place.
							(SSD June 19)

	-- Fixed Testax to use a temporary directory for output files.
	   Aborted tests no longer prevent future tests.
	   More than one test suite can be run on a single host.
							(SMW June 19)

	-- Restructured genfoam.c to not treat the initialization
	   program as a separate lambda-level.
							(SCM June 19)

	-- Removed the library file format compatibility code.
	-- axlib/Makefile:  {basic,complex}.axb depend on $(XDIR)/axc.
							(SSD June 18)

	-- Installed updated axb files in test/test.out.
	   (The message 'Bad magic number' during testing indicates
	    an axb file that should be updated.)
	-- Improved the library file format error messages.  (libChkHeader)
	-- libPutSymes:	 allocated a libSyme vector to hold positions
		so they can all be written at once.
	-- Added redundancy check on offsets stored in a library file
		to make sure they don't point outside the section.
	-- Added {file,buf}{Rd,Get,Wr}Chars.
	-- Defined constants for header sizes computed from the field sizes.
		(see libHdrSize in lib.h and libSymeSize in lib.c)
							(SSD June 17)

	-- Added round-trip floating-point tests to cport-t.c.
	-- Collected byte-ordering macros for integer types in cport.[ch].
	-- Extended byte-ordering macros to floats.
	-- Moved existing library file I/O primitives to file.[ch]/buffer.[ch].
	-- Added library file I/O primitives for character sequences,
		integer types, float types, strings, and buffers, that
		handle representational conversions.  (file.[ch]/buffer.[ch])
	-- Plugged in library file I/O primitives in sefo.c foam.c lib.[ch].
	-- Modified library file getters to they manifestly assign the value.
	-- Isolated code that manipulates library file headers. (w/in lib.c)
	-- Added magic number and no. of sections to the library file header.
	-- Swapped the foam/syme section headers (to match the section order).
	-- Added pad section headers. (used for header redundancy checks)
	-- Added redundancy checks for reading library file headers.
	-- Checked that code that references a position in a library file
		uses an offset from lib->offset0.
	-- Offsets that are stored in library files use offsets from
		the beginning of the section referenced.
	-- Added documentation for the Axiom Library File Format.
	-- Current library code reads both the old and new formats.
							(SSD June 16)

-- v19.4
	-- Added [sd]float{To,Fr}Ieee to cport.
							(SSD June 9)
	-- Separated page map handling from "pagesAdd".
	   (This cleanly separates store.c into internal levels.)
	-- New strategy to allow storage manager to enlarge page map.
	   (This had been turned off since the port to CMS.)
	-- Added manew madiff maput makill to tools directory.
							(SMW June 10)
	-- Installed updates to the file finding functions in file.h.
							(SSD June 10)
	-- Modified src/Makefile for a libfoam.a which doesn't need libaxc.a.
	-- Added rules to axlib/Makefile for libax.a (basic.o, complex.o)
	-- Added test mandel.sh, which compiles and runs a stand alone program.
							(SMW June 11)
	-- Added maget.
	-- Added -rb flag to madiff.
	-- madiff and friends now work if ${HOME}/axc is a symbolic link.
							(SSD June 11)

-- v19.3
	-- Modified makemake to take the target as an optional argument
	   with a -T flag.
	-- Modified Makefile to generate foam.mak and create the libfoam.a
	   library which contains foam-c.o, etc.
	-- Fixed compiler bugs in foam-c.c
							(JMS June 9)

-- v19.3
	-- Denesting of statements used in expression context.
							(SCM June 9)
	-- Import from packages.
							(SMW June 8)

-- v19.2
	-- New tool "strarray" to generate C code for array containing
	   a file's contents.
	-- Added creation of foamhdr.[ch] to Makefile.
	-- Modified emit.c to plop contents of foamhdr_array into generated C.
							(SMW June 5)
	-- Further type inference for packages.	 Added test domain0.ax.
							(SMW June 8)
	-- Fixed C generation of variable declarations for RNew, RElt,
	   ANew and AElt.
	-- Added bodies to functions in foam-c.c
	-- Fixed errors in builtin macros for C generation.
							(JMS June 8)

-- v19.1
	-- Fixed genlisp to put the source file name in global names.
	-- Changed Foam to use new style ifs with labels.
	-- Removed generation FOAM_Loop.
	-- Patched lisp and C generation to use new Foam forms.
	-- Temporarily removed generation of offsets for Foam.
							(SCM June 3)
	-- Type inference of "with" and "add".
							(SMW June 5)

Version 19.0, May 29, 1992

	-- Added ArtFlo and ArtDFlo types in foam-c.h.
	-- Modified types in foam-c.c and return 0 in empty functions.
	-- Fixed type declaration of new record generations in genc.c
	-- Replaced buf array with strPrintf() in genc.c
	-- Changed some C code generation to include macros in ccode.h
							(JMS June 1)
-- v18.7
	-- Added EElt, CProg, CEnv, Rec and ALength generation in C code.
	-- Modified foam-c.h to be independent of axc source files.
	-- Modified foam-c.c to include bigint.h functions.
	-- Made closure calls in C code into macros.
							(JMS May 28)
	-- Installed code for generating FOAM for iterator functions and
	   for loops.
							(SCM May 27)
	-- Added src positions to Foam nodes and to CCode nodes.
	-- Fixed CCode table for TypedefId.
	-- Command line arguments for inserting #line info in emitted code.
							(SMW May 27-28)

-- v18.6
	-- Fixed closed function calling of C code.
	-- Added new array and new record generation in C code.
	-- Added test files for C generation in test suite.
							(JMS May 22)
	-- Installed corrected test outputs for mandel.ax and builtin1.ax.
	-- Allowed "import ... from Foreign()" rather than ")assert StandAlone"
	-- Merged tests lit0/1 forn0/1 fact/fact1 big/big1 mandel/mandel1
	-- gen{foam,lisp}.c name the initializer function by the file name.
	-- "import" now only imports exports (not other's imports).
	-- Testax removes .axb files after phase tests.
	-- No longer save unreferenced imports in .axb file (lib.c).
							(SMW May 26)

[ May 26    Sam Dooley (SSD) starts ]
[ May 18-22 SMW away ]

-- v18.5
	-- Basic libraries and separate compilation.
							(SMW May 13-15)

-- v18.4
	-- Modified scope binder to create builtin symes for relt etc.
	-- Installed structured .axb files containing byte codes and ++ doc.
							(SMW May 12-13)
	-- Modified foam to use BInt rather than Int for big integers.
							(JMS May 13)

-- v18.3
	-- Started to implement structured library files.
	-- Options to create .o output file.
							(SMW May 11)
	-- Fixed bug in making open calls to Foam functions.
	-- Fixed bug generating sequences with exits.
							(SCM May 12)

-- v18.2
	-- Added generation of PCalls in foam.
	-- Moved program leaf information into the infoBits foamProg field.
	-- added concrete literals in lisp.
							(SCM May 7)
	-- Added integer/string/float literals.
	-- Modified tools/oldc.c to not depend on src/cport.h
	-- Added simplified type inference for =>, while, for, repeat, yield.
	-- Renamed literal formers to litInteger, litFloat and litString.
	-- Added type constructor Iterator to lang.ax.
							(SMW May 5-7)
	-- Added integer/string/float literals to C code generation.
	-- Added foreign function calling to C code generation.
	-- Fixed environment declarations in C functions.
	-- Fixed lexical variable calling in C generation.
	-- Changed variable prefix from gct to Art.
							(JMS May 7)

-- v18.1
	-- CMS and RT ports.
							(SCM May 4-5)

Version 18.0, Apr 30, 1992

-- v18.0
	-- Added lexical variable environments to genlisp.
	-- Fully proclaim generated lisp code.
	-- Mark Foam progs as leaf or non-leaf programs.
	-- Changed foam.lisp to foamac.lisp.
	-- Added sxNconc to sexpr.
	-- Genfoam now handles ands ors and exits from sequences.
							(SCM Apr 29)
	-- Added lexical variable environments to genc.
	-- Created tables for builtin call functions and special characters.
	-- Generated format structures for environments.
	-- Changed genc to be compatible with new foam syntax.
							(JMS Apr 29)
-- v17.6
	-- Syntax modifications:
	     Changed 'from x import ...' back to 'import ... from x'
	     Added   'export ... to ...'
	     Removed 'generate ...'
							(SMW Apr 17)
	-- Added syntax for exception handling.
	-- Modified for declarations. Now: local i, j, k: Integer
	-- Start to handle ++ comments.
	-- Uniformized naming conventions in sexpr.* with rest of system.
							(SMW Apr 20-24)
	-- Changed format of foamProg to have stack of lexical
	   levels used by the prog.
							(SCM Apr 22)

-- v17.5
	-- Fixed platform.h to corectly detect AIX PS/2 (was compiling as RT).
	-- Broke ccode-t.c into smaller pieces for PS/2 C compiler.
	-- Completely clean port to PS/2.
	-- Fixed signal handling for CMS.
							(SMW Apr 14)
	-- Generate open calls in Foam.
	-- Changed Foam Unit to put all decls in Format section.
	-- Added open call generation to genlisp.
							(SCM Apr 16)

-- v17.4
	-- Added signal and break handling.  Hook for cleanup on abnormal exit.
	-- Modified cmdArguments to not shuffle argv.
	-- Added "signal.h0".
							(SMW Apr 13-14)

-- v17.3
	-- Storage manager working on DOS.
	-- Added ptrDiff for difference between ptrs into different objects.
							(SMW Apr 9)

-- v17.2
	-- osMemMap and garbage collector working on CMS!
	-- osMemMap working for DOS.
	-- New version of fluid variables which allows upward growing stacks.
	-- Killed jump.c et al.
	-- Renamed NOTREACHED to NotReached, etc to conform with Return etc.
							(SMW Apr 7-9)

-- v17.1
	-- Added copyright notices to all src files.
	-- Modified tools/msgcat.c to understand $copyright
	-- Modified NOTREACHED to cater to weaker dataflow of Borland C++.
							(SMW Apr 2)
	-- Initial code for osMemMap under CMS.
	-- Cleanded up and renamed unport.{h,c,-t.c} to opsys.{h,c,-t.c}.
							(SMW Apr 3)
	-- Initial code for osMemMap under DOS.
	-- Inserted pnormalize calls where needed in store.c for DOS.
							(SMW Apr 6)

Version 17.0, Apr 1, 1992

-- v16.10
	-- Started hygeine port to CMS with C/370.
	-- Renamed string{.h,.c,-t.c} to strops{.h,.c,-t.c} for portability.
							(SMW Mar 26)
	-- Modified platform.h cconfig.h unport.*  and other files for CMS.
	-- Compiled and linked on CMS.
							(SMW Mar 27)
	-- More modifications for CMS:	compiled basic.ax to basic.axs.
	-- Added axl.c and targets in Makefile to link together level 0+1.
	-- Read-eval-print loop for sexpr.c.
	-- Misc fixes for RT port.
	-- Fixed scanner for oldc to allow floats starting with 0.
	-- Misc fixes for 16-bit DOS port. (store.c and bint.c not yet working)
							(SMW Mar 30-31)
	-- Cleanup of genc.c et al for AIX 370 and Sun OS ports.
							(JMS+SCM Mar 30-31)
	-- Added NOTREACHED macro to catch bugs and document data-flow gags.
	-- Modified zacc not to compactify tables.  Gives 25% speedup on 350.
							(SMW Apr 1)

-- v16.9
	-- Backup prior to v17 freeze.
							(JMS Mar 27)

-- v16.8
	-- Improved error messages for circular includes and macro expansion.
							(SMW Mar 24)
	-- Changed Sam-->Foam (many files)
							(SMW Mar 25)

-- v16.7
	-- Added abUse field in absyn trees to indicate how used.
	-- Added extra parameter in tiBottomUp to set abUse field.
	-- Started clean up of macro expansion.
	-- Added single use-by-phase cell in compiler symbol info.
							(SMW Mar 23)

	-- Changed gensam to denest programs and generate formats for
	   the lexicals layout for programs.
	-- Generates returns in Sam.
	-- Generate an initialization program for the file.
	-- Generate closures for programs.
	-- Changed locals to constants in Sam Unit.
	-- Generate correct return type tags in Sam calls.
	-- Generate lisp for Env and Clos Sam instructions.
	-- Added test scope2.ax.
							(SCM Feb 7-Mar 24)

-- v16.6
	-- Removed obsolete macros PabXxxxx, QabXxxxx.
	   I.e. replaced PabXxxx(u)->f	with   u->abXxxx.f.
	-- Lie and put version 0.0 into axb.  Makes tests 1/3 faster,
	   since don't have to decompile as often.
							(SMW Mar 18)
	-- Activated abNewXxxx macros.
	-- Added tokens and parser support for 0, 1, and character literals.
	-- Modified so it is "from x import y" rather than "import y from x"
	-- Modified so it is Foreign(X) rather than X for foreign decls.
							(SMW Mar 19)
	-- Replaced lit 0, lit 1 and 'x	 with  id 0, id 1 and "x".
	-- Created axlib directory, with files
		lang.ax builtin.ax
		bit.ax byte.ax hinteger.ax sinteger.ax integer.ax
		  sfloat.ax dfloat.ax character.ax string.ax pointer.ax
		basic.ax
	   Thes files contain user-level, overloaded functions for all
	   builtin operations (except record and vector ops,
	   which require dependent types)
	-- Modified test suite to refer to axlib.
	   Since we are now compiling 700 lines more per test, the time
	    to run the test suite is now doubled (2 minutes for unoptimized
	    debug version on RS/6000 320H).
	   This will be improved once we can access compiled libraries.
							(SMW Mar 20)

-- v16.5
	-- Finished abNormal for now:
	   copy reused subtrees so abFree can traverse simply.
	   label bodies of defined lambdas (for return from).
	-- Handle "foreign" declarations.  See test forn0.ax.
							(SMW Mar 17)
	-- Cleaned up sbiXxxx vs samBValXxxx to all use samBValXxxx
	-- Added samProto... for inter-language protocols.
	-- Addes support for import... from ... for Fortran/C/Lisp/Builtin
	-- Added PCall for call-by-protocol in SAM.
	-- Removed FDecl in SAM.  Now all Decls have protocol field.
	-- Modified tests to use import ... from ...
							(SMW Mar 18)

-- v16.4
	-- New header versions working for RT, AIX PS2 and DOS.
							(SMW Mar 13)
	-- Revised abNormal to nearly final state:
	   No longer require :=, == lhs to be Declare.
	   Lambda return type in separate field.
	   Correct return type for curried lambdas.
							(SMW Mar 16-17)

-- v16.3
	-- Revised level 0 code so each ANSI header <xxx.h>
	   we use by a corresponding file "xxx.h0".  This cleans up fixups.
	-- Revised header organization so each level provides one header
	   for use by the next level up.
	   This provides much better code organization and will allow us to
	   take advantage of Borland compiled headers.
	-- Signigicant code cleanup.
							(SMW Mar 12)
	-- Got new header versions producing squeaky clean compiles on
	   Sparc and AIX 370.
							(SMW Mar 13)

-- v16.2
	-- Fixed stoResize bug for STO_USE_MALLOC.
	-- Fixed bigint width bug in sexpr.c.
	-- Timing tests on aix370/sun4/rs6000.
							(SMW Mar 10)
	-- Modified cids to accept cflags, e.g. -DTEST_ALL
							(SMW Mar 11)

-- v16.1
	-- Modified storage manager to allow osAllocBytes to return
	   memory located below current heap.
							(SMW Mar 6)
	-- Start hygeine port to PS2  -- fixed byte order bug in binary file.
	-- Start hygeine port to DOS  -- clean compile only.
	-- Reduced time taken in compressOffsets from 43% to 2%.
							(SMW Mar 9)


Version 16.0, Mar 5, 1992

-- v15.6
	-- Hygiene port to Aix 370 -- straightforward
	-- Hygiene port to Sun 4   -- many minor fixes
	-- Hygiene port to RT	   -- many minor fixes

	-- Timing test: 45,000 lpm on obelix.  Executable size 221563 bytes.
	-- Timing test: 46% of time is in psam when -Fs is given!!!!

	-- Split test.c into xxxx-t.c for compilation on RT.
	-- Split ccode-t.c for compilation on RT.
	-- Modified cprt.awk to allow .tex files.
	-- Fixed makemake for non -L use.
							(SMW Mar 3-5)

	-- Offset compaction!
							(JMS Feb 11-Mar4)
	-- Multi format string and bigint output in .axb.
	-- Added sam tests and split diagnostic self test.
							(JMS Mar 4)

-- v15.5
	-- Big integer division.
	-- Modified sam.h for big integers (still need to handle i/o in sam.c).
							(SMW Feb 26-27)
	-- Modified bigint arithmetic to macro all double precision operations
	-- Allow BINT_LG_RADIX == bitsizeof(BIntS).  No carry bit needed.
							(SMW Mar 2)
	-- Split src.c into srcpos.c (level1) and srcline.c (level2)
	   so level 1 is now has ccode and sexpr and is self contained.
							(SMW Mar 3)

-- v15.4
	-- Big integer shift operation.
							(SMW Feb 17-21)
	-- Big integer to/fr string in base 10.
	-- Big integer connected to SExpr.
							(SMW Feb 23)
	-- Big integer arith: + - * (start of /)
	-- Reorganized top-level of self-test code.
							(SMW Feb 24-26)

-- v15.3
	-- Start representation of big integers for sam.
	-- clean up sam conversions between buffers, strings and files.
							(SMW Feb 12-14)

-- v15.2
	-- Comments in ccode.h documenting use of all ccoXxxx macros.
	-- Better handling of #line.
							(SMW Jan 31)
	-- Test port of v15.0 to AIX PS/2.
	-- Replacement of vex by sexpr.
	-- Improvements to sexpr: tables for pkgs, more functions, union...
	-- Updates to sbiInfoTable.
							(SMW Feb 3-10)
	-- Offsets in linear sam code.
	-- Tests for CCode.
							(JMS Jan 15-Feb 10)

-- v15.1
	-- Compiled+linked v15.0 with Borland C on AT. Minor fixes to v15.1.
							(SMW Jan 25-28)
	-- Finished CCode type. Modified tools/cparse.y to generate test cases.
							(SMW Jan 27-30)

Version 15.0, Jan 24, 1992

-- v14.4
	-- Started to handle "with"s.
	-- Added -D STO_NEW_DEAD  for better debugging
	   (and renamed -D STO_NEW_ZERO).
	-- Extensive stoGc testing: found 2 bugs.
	-- Fixed many minor bugs in reporting to SUN, AIX370, RT.
							(SMW Jan 21-24)
-- v14.3
	-- Sweep phase of gc running.
	-- Allocation bug in bufAddn.
	-- Cleaned out unused stoXxxx functions.
	-- Makefiles in subdirectories of "test".
	-- stoAudit() to test consistency of memory.
	-- -Tg to garbage collect after a phase.
	-- -Ts to audit after a phase.
	-- -D STO_ZERO	(debugging aid) zeros out memory on free.
	-- btreeNew takes width, rather than a #define in btree.h
	-- Tested stoGc.
	-- More storage management tests in test.c
							(SMW Jan 16-20)

-- v14.2
	-- Linearization is turned off inside (| ... |)
							(SMW Jan 8)
	-- Start of printer for CCode (expressions only).
							(SMW Jan 9)
	-- Flag for K+R vs ANSI C:  -Fk	 vs -Fc
	-- All error handlers set uniformly.
	-- More on printer for CCode (executable statements & indentation).
							(SMW Jan 10)
	-- Cleanup of store.c.	Start to merge gc with btree allocator.
	-- osMemMap.
							(SMW Jan 13-14)
	-- Merge nearly current SAM definition.
							(JMS Jan 14)
	-- Compact SAM byte codes.
	   50% size of general form, 80% size of unsafe heuristic form.
							(JMS+SMW Jan 14-15)
	-- Mark phase of gc running.
							(SMW Jan 15)

[ SMW away Dec 23-Jan 5 ]

-- v14.1
	Grammar modifications:
	-- prefix add + with. has.
	-- Allow assignments and statements to be mixed:
		a := if u < v then c := d else for i in 1..10 repeat e := f
	-- Removed restriction that piles cannot be applied.
							(SMW Dec 20)

Version 14.0, Dec 20, 1991

-- v13.7
	Built and tested from oldc generated k+r code on RT.
	Basic updates from v13.6 for RT.
	Experiment: type cast list ops rather than structure access.
	   Speeds up by about 2-3% + smaller.  (42600 lpm on RS6000 530H)
	   Wd be easier to maintain.
	   xlc will not clean-compile so not installed.

	Installed new new grammar which builds AbSyn directly.
	-- abNew takes SrcPos rather than PTree.
	-- rewrite rules
		  Apply(x,Tuple(a,b))  to Apply(x,a,b)
		  Define(Apply(a,b),c) to Define(a, Lambda ...)
		  Lambda(Apply(a,b),e) to Lambda(a, Lambda(b,e))
	-- Modified grammar to make : :: have same prec as @ pretend.
	   Modified grammar to allow f(x) == if a then b else c
	-- fully converted macex to work on AbSyn trees.
	Absyn objects own their own store: abLits + abNothing.
	Literals folded into AB_ enumeration.
							(SMW Dec 13-20)

-- v13.6
	bufPrintf + friends.  Fixed testString for strPrintf etc.
	Modified storage page parameters to be realistic for MS-DOS.
	Clean compile on TURBOC.
	Start of CCode data type for emitting C code.
	C Parser as start of ANSI->oldc tool.
							(SMW Dec 2-5)
	ccode.[hc] files to represent CCode.
	oldc tool to de-ansify.
	docc + simplified make file in src.
							(SMW Dec 10-12)
	Simplified tools directory.
	Built and tested axc from generated oldc code.
	Added files ccode.[hc] to src.
	Removed of() macros in src.
							(SMW Dec 13)

-- v13.5

	Modified testTime to be processor invariant.
	Keep track separately of stoBytesAlloc and stoBytesFreed.
							(SMW Nov 23)
	Uniformized names of misc functions in unport.c.
							(SMW Nov 26)
	Modified cwords.c in preparation for ANSI->oldc tool.
	Modified all src/* files to use true ansi function headers.
							(SMW Nov 30-Dec 1)
	Full conflict-free yacc grammar. (not installed in this version)
							(SMW Nov 27-Dec 1)


-- v13.4
	Added Buffer type for grow-on-demand buffers.  Used by includer,
	fnameParse/UnparseStatic, strVPrintf, scanner, etc.
							(SMW Nov 21)
	Added testBuffer() to test.c
							(SMW Nov 22)
	Made /spad/local/axc/version/current maintainable.
							(SMW Nov 22)
	Fixed stoAlloc counting in store.c.
	Added function symClear to file symbol.c.
	Freed memory for test program and reorganized the testing files.
	Added function btreeFree to file btree.c.
							(JMS Nov 22)

-- v13.3
	Changed makemake to generate call to "doranlib" (rather than ranlib)
	  so make works properly on RT.
							(SMW Nov 14)
	Added target "make new" to list changed files in a version tree.
							(SMW Nov 15)
	Modified abLambda to use new AB_Param for arg rather than AB_Many.
	Revision of scopeBind to use default "local if assigned".
	  (No error checking).
							(SMW Nov 15)
	Modified type inference + tests to use A -> B rather than Map(A,B)
							(SMW Nov 19)

-- v13.2
	Moved all test code to test.c.
	Added test functions for all level1 files.
							(JMS Nov 20)
	Bob's source printer.
							(RSS Nov 19)

-- v13.1
	Removed unport dependency on FileName type and defined lowest
	  level as portability only.
	Simplified Makefile since -test removes need for alternate mains.
							(SMW Nov 14)
	Added -test option for internal self-tests.
							(JMS Nov 14)

Version 13.0, Nov 13, 1991

-- v12.8
	Finished rewrite of RGG code in msg.c.
	Modified msg code to use database file only when requested.
	  (Otherwise, compiled in msgs are used.)
	Modified Makefile to generate Pig Latin version of message database
	  for testing alternative message files.
	Added test/msg.sh.
							(SMW Nov 12)

-- v12.7
	Cleanup of comsg.[ch]
	Creation of msg.[ch] to localize interface to RGG code for cleaning.
	xprintf, strVPrintf.
							(SMW Nov 12)

-- v12.6
	Wrote tools/msgcat.c to make comsgdb.{h,c,cat} from comsgdb.msg.
	(replaces RGG's incomplete code)
	Wrote findFile and added osSearchPath etc. to find msg file in path.
	(replaces RGG's incomplete code)
	Localized all RGG's types to comsg.c, in preparation for cleanup.
							(SMW Nov 11)

[ RGG Returns to Italy ]
[ Nov 4-10 SMW away ]

-- v12.5
	Installed new src/Makefile using suffix rules	(SMW Nov 4)

	Did some clean-up for PC Turbo C compilation
	in unport.*. Also fixed some test array sizes
	so that they would be small enough to run on
	a PC.						(RSS Nov 4)

	Installed new message database code.		(RGG Nov 4)

-- v12.4
	Installed new table implementation.
							(SMW Oct 30)
	Simplified Semantics structure in Sefos.
	Started to make lint-free.
							(SMW Oct 31)

-- v12.3
	Cleanup of names in cport.h & throughout.
							(SMW Oct 26)
	Modified msg interface to comsg for eventual inclusion of RGG code
							(SMW Oct 28/29)
	Verified ports: Aix PS2, RS, RT, 370.  Sun4.
							(SMW Oct 30)

-- v12.2
	Full port to Sun + Aix 370, passing all tests
	(null pointer dereferences corrected)
	(int/Length lint cleaned in store.c)
							(SMW Oct 26)
-- v12.1
	added .xx file type for alt src
	removing own printf, Robustified vprintfLength as vnprintf.
	removed uses of %A %< %> and test
	Sun + CMS clean build
	makemake improvements,
	-v flag so normally quiet, cmdline improvements
	compute lines per minute with -v
	Extended Testax to allow testing of generated files: .axa, .l, etc.
	Fixed lisp generation bug
							(SMW Oct 22/25)

Version 12.0, Oct 22, 1991

-- v11.5
	Made objects compatible for different debug levels.
	Simplified tag and monitor code for store.c
	Simplified Makefile.
							(SMW Oct 21)

-- v11.4
	Split compiler source into levels to factor dependencies.
	Timing tests of BTREE allocator vs malloc on big pieces.
	     BTREE is about 4x slower but uses 85-95% of store compared to RS
	     malloc using 45-55%.  Little to no optimization has been done
	     on this case.  What would an optimized version give???
							(SMW Oct 17/18)

	Timing tests of general allocator with non-freeing in-line allocator.
	Severest hacking gives 20% increase in speed.

	     DB=0 -O of 10 x big.sp [[approx instructions/alloc]]

	     BTREE-TAG	 19.7s	      with full debugging+handlers
	     BTREE-NOTAG 16.2s	      no error handler
	     BTREE-NOTAG 16.4s [[36]] with error handler
	     Name	    %Time     Seconds	  Cumsecs  #Calls   msec/call
	     .stoAlloc.GL   4.9	       1.44	  15.04	 675707	     0.0021
	     .stoFree	    1.4	       0.42	  19.20	 212970	     0.0020

	     ONCE-NOTAG	 15.8s	      external fun,    570 sbrks.
	     ONCE-NOTAG	 14.2s [[12]] static in-file,  1 sbrk for upward   heap
	     ONCE-NOTAG	 13.6s [[ 4]] in-line code,    1 sbrk for downward heap
							(SMW Oct 17)

	Added exception handlers to store.c.
							(SMW Oct 16)
-- v11.3
	Port to RT.  Copied files and typed "make" -- 20 minutes.
							(SMW Oct 16)
	Changed all functions to use _0, _1,... macros to generate
	ANSI function headers if possible.
							(SMW+RGG Oct 15)

-- v11.2
	Installed new storage management. Speedup of 23% from old "use once".
	Stats for RS/6000 530H:
		Method		lpm (u)	 lpm (u+s)  size
		ONCE-NOTAGS	 38370	   31080    152K
		ONCE-TAGS	 38634	   30470    152K

		BTREE-NOTAGS	 38370	   32041    168K
		BTREE-TAGS	 35318	   29183    169K

		MALLOC-NOTAGS	 32715	   24963    152K
		MALLOC-TAGS	 32041	   24281    152K
							(SMW Oct 14)

-- v11.1
	Modified names of storage management functions to match new allocator.
							(SMW Oct 14)

[ SMW: ISSAC 91, Oberlech, Axiom Rel 1:	 March-Sept ]

Version 11.0, Feb 28, 1991

-- v10.9
	Modified gensam to allow generation of temporaries.
							(SMW Feb 24)
	Modified abNorm to xfer type to fn lhs. E.g:
	   f(x:Int):Bit == E  ==>   f: Map(Int,Bit) == (x:Int):Bit +-> E
							(SMW Feb 20)
-- v10.8
	Altered sam defn to not use SAM_Clos, for SAM_Loc and SAM_Par
	to take a single index, and introduced SAM_Lex for env refs.
							(SMW Feb 20)
-- v10.7
	Modified phases+top to accomodate emiting Lisp+C.
							(SMW Feb 13)
	Added sam code for SAM_Unit and a frew reserved blanks.
							(SMW Feb 12)
	Modified scobind/stab/gensam so externals generate Sam Globals.
	Renamed sam operations to usable names for C-code generation.
							(SMW Feb 11)
-- v10.6
	Added more of the Sam codes: BCall OCall Env Clos
	Added optsam phase.  Only trivial optimizations for now.
	Modified vex printer for -ve ints: leading nonalpha is escaped in syms
							(SMW Feb 7)
-- v10.5
	Added Makefile to test directory to detect junk.
	Extended Testsc to accept shell scripts in the test suite.
	Wrote shell script test files for compiling .sp* to .sp*.
							(SMW Feb 2)
	Fixed typedefs for table fn types to be TblXxx rather than Hash_xyxy
	Added Nil = (pointer) 0 to cport.h
	Changed (foo *) 0  to Nil in argument positions.
							(SMW Feb 1)

-- v10.4
	Scanner puts Symbols, rather than strings, in tokens.
	(This is slowing the compiler down right now -- however it
	 should make certain things faster in semantic analysis.
	 This may or may not be permanent.)
							(SMW Feb 1)
	Caused compiler to terminate as soon as it has no more files to emit.
							(SMW Jan 31)
	Profiled to get the following statistics:
	  ----- 100 x ovload0.spA ------
	    3/80  list manip
	   21/80  stoman
	   10/80  hash table manip (incl str hash etc)
	   19/80  vexRd (vexPeekChar/ungetc, in particular)
	   11/80  *New*/Cons  (some included in above)

	  ----- 100 x ovload0.sp ------
	    35/170 parse
	    18/170 abnormal/reparse
		inclGetLine -- 2.7 s
		sposCmp	    -- 0.7 s
		open	    -- 2.5 s
	     7/170 ptmanip
	    17/170 scan
	    27/170 stoman
	    11/170 hash table manip (incl str hash etc)
	    10/170 *New*/Cons (some included in above)
							(SMW Jan 30)
	Fixed include bug -- it wasn't closing files.
							(SMW Jan 30)
-- v10.3
	Reworked command line options.
	scomp  now takes .sp .spI .spA .spB and .spS files
	  and produces	     .spI .spA .spB and .spS files.

	spsexpr is obsolete: to produce a .spS file from a .spB file do
	  scomp -FS foo.spB

	Still need to write test files
							(SMW Jan 30)

-- v10.2d
	Can now save abstract syntax via abVexWrite
							(SMW Jan 29)

-- v10.2c
	added samFrVex
							(SMW Jan 29)
-- v10.2b
	added vexRead
							(SMW Jan 28)

-- v10.2a
	vex.c file -- for v-expressions
	  These will be used for general pretty printed output and,
	  more importantly, to allow input of other data types soon.
							(SMW Jan 27)
-- v10.1
	Changed options to make tracing more convenient.
	Changed cids tool to preprocess each file individually to
	  avoid macro collisions.
	Set up to allow old to new grammar switchover.
							(SMW Jan 16)

Version 10.0 Jan 14, 1991

-- v9.7
	Wrote "badzeros" tool to detect potential int 0s being passed to
	  functions expecting ptr 0s.  (This causes crashes on 80286 where
	  sizeof(int) != sizeof(void *).)
	Converted all src to use explict casts on 0 in contexts where
	  it would be taken by default to be an integer.
	Compiled using Turbo C, large model.
	scomp compiled "lang.sp" on PC/AT.
							(SMW Jan 10)

-- v9.6
	Reorganized cport.h to cconfig.h and cport.h to allow Turbo C
	  keywords.  (I.e. allow certain ANSI-isms even if not __STDC__.)

	Ported to Aix PS2.
							(SMW Jan 8)
-- v9.5
	Simplified file name parsing by merging fnameParse* with
	  fnameParseUnderDir*.
	Wrote CMS functions for unport.c.

	Now compile + link under CMS + DOS.
	Makefile relies on MACHINE variable.
							(SMW Jan 7)


-- v9.4
	Changes for clean compile on CMS:
	  Removed trailing ";" in CREATE_LIST
	  Defined "const" to nothing in Waterloo C.
	  Use "short-7.h" via:	SETCW DEFH "short-7.h" NOWNG
	  Removed macro defs and uses for listCar(Type)(l,a),
	    and similarly for listCdr listSetfirst listSetrest
							(SMW Jan 6)

-- v9.3
	Tools to produce a file #defines for long names:
	  uninclude cwords cids collide shorten
	Emacs' "shortnames" cannot handle our concatenated ids
	  used in List(StabLevel) etc.
	This is for the port to CMS.
	This has been tested by compiling with short-7.h on the RT.
							(SMW Jan 5)

-- v9.2
	Fixed Testsc script to work on all 3 platforms
							(SMW Jan 3)
	"scomp" running + tested on AIX370
	"scomp" clean compile on DOS
	(Compiles on CMS except for List macros.)
							(SMW Jan 4)
	zacc: added %include-enum "foo.h" X tokenTag ptreeTag
	zacc: calls yacc and compacts tables, rather than have Makefile do it
	Makefile for tools directory split off -- simplifed remainder.
	(Makefile still does not propagate MACHINE environment variable).
							(SMW Jan 5)

-- v9.1
	"scomp" running + tested on RT, RS, SUN4
							(SMW Jan 3)

-- v9.0d
	sun port
	DEBUG_LEVEL=0 on sun4 (arnor) =>
		size  98304 (stripped)
		perf  3.1s + 1,110,765B for big.sp. (19955 lpm)
							(SMW Jan 2)
-- v9.0c
	zacc: allow rule parameters to substitute into action. minor bugs.
	Started to simplify cogram.y using parameterized rules.
							(SMW Dec 15)
-- v9.0b
	zacc accepts all legal yacc files.
							(SMW Dec 14)

-- v9.0a
	2-level grammar tool: zacc
							(SMW Dec 14)

Version 9.0: December 12, 1990

-- V8.7a
	1 line piles after all lang words ("repeat", "return", etc) rather
	   than just "then" and "else".
	Linearizer treats lines begining with "in" as continuations.
							(SMW Dec 12)
	Implemented improved includer error reporting
							(SCM Dec 12)
-- V8.7
	Abstract syntax error messages pointing to offending expression.
	Concrete syntax for
	  if ...
	     then ...
	     else ...
	Absyn for:  with ++

	linearizer beefed up to near-final state:
	    then and else force sub piles.
	    openers closers and commas understood.
	    ++ joined to appropriate expressions.

	scanner beefed up to near-final state:
	    Float context now properly handled.

	test files for includer, linearizer and scanner.
	    Bugs found in includer (see ToDo file).
	Testsc made to operate across directories.

	started putting grammar into near-final state.
							(SMW Dec 10)
-- v8.6a
	Implemented )include vs. )reinclude.		(SCM)
	Extended concrete syntax to handle: ++ => -> ; with add :: @ $ u-
	  if ... then ...	  if ...
	  else ...		  then ...
				  else ...
	Can now parse float.spad (with lang updates s/==>/macro/ s/$/%/).
							(SMW Dec 5)
-- v8.6
	Fixed some bugs in %> %<.
	Fixed some minor bugs in the includer.
							(SMW Dec 4)
-- v8.5a
	Installed new format.c (This needs more thought).
	Converted "addmargin" commands to "%>"	"%<"  formats.
							(SMW Dec 3)

-- v8.5
	Modified all data type's print functions to take a FILE * argument.
	  Now fprintf(fout, "...%A...", a) can work.
							(SMW Dec 1)

-- v8.4b
	split file name manipulations from file system interactions.
							(SMW Dec 1)

-- v8.4a
	Removed dependency of unport.c on fname.c.

	Fiddled cport.h:
	  Moved filename aspects to unport.c.
	  Changed "STATIC" to "local" and "CONST" to "const".
							(SMW Dec 1)
-- v8.4
	"FileName" data type to improve portability.
	Cleaning of includer.
							(SCM Nov 30)


	Compared timings on "radical" [RS 6000/IUO] to "matthew" [RS 6000/530].

	  Version 8.2 of the compiler handles "big.sp" (1027 lines)
	  in 1.72s (user+system) on matthew = 36,000 lines per minute.


		Compilation of Scratchpad to Lisp or Sam (lpm)

	  Model		New comp/C	New comp/Boot	Old comp
			"big.spad"	"sam.spad"	"float.spad"

	  RT 6150/135	  5,370		     10@	     21*
	  RS 6000/IUO	 23,500		     44*	     93
	  RS 6000/530	 35,800		     67*	    140*

	  @ est based on 30 min for sam.spad (was improved to 10 min)
	  * based on 1x RS/530 = 1.5x RS/IUO = 6.7x RT/135

							(SMW Dec 1)

[ SMW to Germany. Thanksgiving. NAG Visit. McGroddy demo.]

-- v8.3
	Changed output file suffixes to .S and .B
	Now produce output files in the current directory, rather than
	  the directory of the source file.
	Modified version directories so that each carries its own tools, etc.
	Wrote shell script "Testsc" to run a test suite -- it is driven off
	  "-->" lines in the .../test/*.sp files and can compare
	  byte code files from compilations, reports on phases,
	  or error logs.
	Changed timing function in "unport.c" to use HZ variable from
	  <sys/param.h>.  This gives correct times on RIOS.
							(SMW Nov 10)

	I ran some timings of the new compiler on "radical".
	  After working on an RT, the RS/6000 times are quite pleasant.

	  The new compiler will translate a 1000 file to SAM byte codes in
	  less than 3 cpu seconds. (23,500 lines per minute).

	  For comparison, the old compiler (in spadsys) takes about 10 cpu
	  minutes to translate the file "float.spad" to Lisp.
	  (93 lines per minute).
							(SMW Nov 10)

-- v8.2a
	Times are for RT 6150 model 135.

	DEBUG_LEVEL=0 =>
		size  108508 (ar+stripped)
		perf  11.7s + 1107415B for 10*testov.sp. (4820 lpm)

	DEBUG_LEVEL=0 + small yacc =>
		size  101068 (ar+stripped)
		perf  11.6s + 1107415B for 10*testov.sp. (4862 lpm)
		      11.4s + 1098375B for big.sp	 (5370 lpm)

	DEBUG_LEVEL=5 + XXDEBUG + -pga + small yacc =>
		size 1123818 (no ar + not stripped)
		      117224 (stripped)
		perf  14.8s + 1233415B for 10*testov.sp	 (3810 lpm)
		      14.6s + 1219975B for big.sp	 (4200 lpm)

	Modified so that "small yacc" tables are used (saves 7% of exe).
	Modified Makefile so that separate directories of .o files are
	   kept for each debug level.  This saves considerable recomp time.
	Modified Makefile to CD to ODIR to do final link
	   (this allows faster mv when BINDIR and ODIR are on a different
	    file system than the working directory).
							(SMW Nov 9)
-- v8.2
	Cut scanner times by 35% by sorting the tokInfo table and
	using an indexed start for the search.
							(SMW Nov 9)
-- v8.1a
	Fixed min/max and relative includes.
	* min/max code required the n-ary ptrees formed by yacc to have
	  position calculations.
	* include code did not remember directory part of file.
	  Could this have been purposeful?  It seems dead wrong.
							(SMW Nov 8)

-- v8.1
	min/max positions in ptrees.
	  Supposed to be copied to abstract syntax trees but buggy.
	Included files are relative to src file.
							(SCM Nov 8)

-- v8.0a
	Removed list-based string allocation from scanner
	Repaired sposNew to form positions correctly
	-Y option provides yacc-based parser.
	   recursive descent parser left in for now for verification.
							(SMW Nov 7)
	Changed scanner to allocat token string and token in one go.
	Changed to non-consing version of tfOpArgTypes.
	Added fast-non-freeing storage manager for virtual memory.

	size is 106552 bytes at debug level 0.
	speed is 4210 lines per minute (10 * testov.sp = 940 lines in 13.4s)
							(SMW Nov 8)

Version 8.0:  November 2, 1990
-- v8.0--
	Added "export" and "builtin" declarations.
	Allowed builtins to have types (as they should) in the symbol table.
							(SMW Nov 2)

	Added "if" statements.
	Port to RIOS.					(SMW Nov 2)

-- v7.3 Finished overload resolution for simple expressions without
	   dependent types.
	Do not attempt to generate sam code if there were errors.
							(SMW Nov 1)

-- v7.2
	Vectorized absyn creation, rather than list consing then vector alloc.
							(SCM)
	Start of macro expansion.
	Collapsed all storage manager .c files into one.
							(SMW Oct 30)

-- v7.1 Merge of SMW & SCM developments.
	SCM: PTree to AbSyn conversion now done using Yacc.
	SMW: See above.

							(SCM Oct 23/SMW Oct 24)

	Measurements of the code to do PTree to AbSyn conversion:
	   The hand-coded 'C' version compiles to  8044 bytes,
	   the "small" yacc   version compiles to 11096 bytes, and
	   the vanilla yacc   version compiles to 16128 bytes.
	To get a small yacc version, change
	1) the typedef of "yytabelem" from int to short, and
	2) the declaration of yyxi from "register int *"
	   to "register yytabelem *".

-- v7.0f Sam S-expression output
	Developed "skimenum" tool to produce token files for yacc.
	  (This allows all scomp ".c" files to be compiled independently.)
	Start of overload resolution
							(SMW Oct 23)
-- v7.0e Sam byte coded output. Very simple scheme.
	test.sp gives 242 bytes output rather than 178 in KWW code.
							(SMW Oct 20)

-- v7.0d Next cut at sam code.	Greatly simplified implementation.
	Long outstanding problems in Sam finally solved:
	-- record and vector elts become machine instructions.
	-- these instructions refer to numbered, previously declared
	   layout descriptions.
	-- data design allows arbitrary data objects to be compiled into
	   a file.  non-immediate data is encoded as a local or global ref.
	-- Sam stuff only about 1/2 done.
	For test.sp (65 lines included):
		DEBUG_LEVEL=0 =>  108968   .85 sec, 62441 bytes
		DEBUG_LEVEL=5 =>  906374  1.29 sec, 70929 bytes
							(SMW Oct 19)

-- v7.0c Simplified Knut's rediscovery of v2.0 style lists.
	Removed tlist.[ch].  Sam generation disconnected.
	-t option to terminate after a given phase.	 (SMW Oct 3)

	[SMW vacation 6-15 (SSMTWTFSS)]

-- v7.0b Gathered "scomp"-level typedefs to single file "cotydef.h"
	to break circular include dependencies.	 The main problem is the way
	generating type-safe lists requires typedefs. (SMW Oct 2)

Version 7.0: Sept 28/90

-- v6.5: (Sept 26)
	SCM/SMW Fluid variables (with longjump).
	SMW	genSam skeletal.

	SMW	emitting code to file.	(Sept 28)
-- v6.4: (Sept 21)
	SCM cleaned includer (without ")unassert").
	  Suspect de-allocation bug.
	SMW basic type inference.
	  Skeletal:  only works simple inputs.
	SMW "sem" fields on all abstract syntax nodes.
	Decided that (mutually recursive) compiler types should
	 all be typedefed in one file.

	(Timings are for 6150 model 135)
	DEBUG_LEVEL=5+PROFILE => Size= 1278378. Time= 1.6s on test.sp (65 lines)

	DEBUG_LEVEL=0 =>	 Size=	141239. Time= 1.0s on test.sp
		     +ar qv * => Size=	126966.
		     +stripped=> Size=	111428.

	65 lines/sec vs 10 lines/min [boot version] = 400 x faster.

-- v6.3:Parameterized list types. Start of symbol table. (Sept 13)

	[KWW leaves for GMD]
	[SCM starts work on includer]

-- v6.2:KWW unified while SMW in Japan. (~ Aug 20)
	sam i/o
-- v6.1c:Escaped whitespace and tabs handled properly by scanner.
	 Escapes in identifiers, strings, etc handled properly.
	 Parser handles $ qualified ids, operators etc.	 (Aug 9)

	[CCK finishes as summer student]
	[SMW lost 1 month: Japan Conference, managing group for 2 weeks.]
-- v6.1a:Verification of various statically initialized arrays.
	 phInfo, ptInfo, etc.  Also modified KWW code to export
	 and verify sbiInfo. (Aug 7)

-- v6.1: Loaded KWW code with SMW code.

Version 6.0: August 6/90
-- v5.9: Abstract syntax for subset of language:
	 literals, ids, application, definition, assignment,
	 some declarations, ifs.
	 y-* files are experimental yacc parser.

-- v5.8: Intermediate checkpoint
-- v5.7: yacc directory contains experimental YACC grammar and LEX scanner.
	 Parses 1000 lines/sec on RT
	   (vs. 1000 lines/min with hand-coded parser).

-- v5.6: Intermediate checkpoint
-- v5.5: Cleaned up all storage management code. (July 25)
-- v5.4: Garbage collector, can be implicitly called.
	 Suspect CCK code of memory bugs -- disconnected. (July 18)
-- v5.3: Port to RIOS.	Debug levels. Started config.h style stuff in cport.h.
	 Clean compile on Sun (segmentation violation when run).  (July 18).

-- v5.2: Garbage collector, must be explicitly called. (July 17).

-- Objective for v6.0:	Abstract syntax
   -- Generate abstract syntax trees.
   -- Merge in preprocessor.
	(July 13: DONE.	 CCK still needs to conform to conventions.)

Version 5.0: July 12/90

-- v4.4c: Scan floats.	Parse macro defs.
-- v4.4b: larger class of expressions.
-- v4.4:  repeats and collects.	 Started sexy message display. Merging with cck.
-- v4.3 : (July 7) if's (special indentation requirements)
-- v4.2c: More extensive expressions.
-- v4.2b: Framework for error trapping via longjmps. works with simple exprs.
-- v4.1d: Changed from pile parsing (lines of arb toks) to simple arith exprs.

Version 4.0..: July 4/90

-- Objective for v5.0: Handle large subset of concrete syntax.
   -- Reasonable parser.   Write own recursive descent with error handling.
      (DONE)
   -- Exception handling.  Fns for bugs, unimpls, user errors and aborts.
      (DONE)
-- Lower priority:
   -- Error reporting.	   Save error structures for sort and display.
      (DONE)
   -- Debug levels.	   0=>NDEBUG. 1=>!NDEBUG. 2=>DEBUG. 3=>TRACE.
      (DONE -- July 18)
   -- config.h		   select c compiler, os, debug level etc.
      (DONE -- July 18)

Version 3.0: June 30/90

-- Generic obPrint, obSize, etc.

-- Debug (-d) and Report (-r) options for each phase.

-- ENTER and RETURN macros for debug tracing.

-- Indenting printf.
   "addmargin" alters the left margin for "printf".
   Used for debug tracing and structure pretty printing.

Version 2.0: June 20/90

-- Simple recursive descent parser for pile structure.

-- Experimented with Yacc grammar.
   Conclusion: too awkward to use lalr(1) grammar.

-- Profiled on RT to determine that about 80% of time was in malloc.
   Wrote own storage allocator.
   -- Tagged storage for self-identifying pointers.
   -- Sized free lists for fast re-use.
   -- Allows clients to proclaim roots for leak detection (and later GC).

-- Linearizer

Version 1.0: June 15/90

-- Scanner

Start:	     After returning from Maple retreat.  About June 14/90.
