*** Bugs and ToDos in ASpecT ***

Detection-Date	Description (which module, ..., state of correction)
and who has
detected it
---------------	----------------------------------------------------------
12.09.92	rts_db.c
JvH		another try to throw away previous inputs before reading
		a debugger command. It seems that I am unable to do this
		in a clean (compatible) way (fflush). The extra input may
		result from user input (i.e. a call of read) and normally
		cause extra 'next' commands (<cr>).
		
		State: waiting for an idea to come, since fflush(stdin) does
		not work as it should.

19.08.92	free, copy ...
JvH		The copy, free, ... operations are not defined on aliased
		sorts. This is a bit dirty while programming extern defined
		functions using them.

		State: nice if I would have some time to do it

13.08.92	parametrisation
JvH/Ric		currently it is not possible to have a global sort without
		constructors (hidden constructors) which is locally
		actualized by a sort with formal parts (formal to the whole 
		module).
		This happens because this sort is then implicit formal and
		has to be reconstructed at actualization time ... but the
		constructors are not known there because they are hidden.

		State: an errormessage is printed! (restriction)

27.07.92	free/strlen ....
JvH		unlike the SUN some systems do not like the
		predefinitions of free/strlen ... .
		Solution: introduction of conditional NEED_STD_DECL

		State: in work

12.07.92	compiler (sc, UNFOLD.AS)
JvH		The following function does not terminate
		because of an 'error' in the unfold routine.

		OPNS f :: integer -> integer.
		EQNS f X = (if 1==2 then f X else X) +
                           (if 3==4 then f X else X).

		From the 'strict' point of view (ASpecT has a
		strict semantics) this is obviously correct, but
		this collides with the common users intuition that
		if_then_else is somewhat lazy. To deal with this
		intuition the calls of if_then_else are unfolded.
		But CSE (common subexpression elimination) took place
		at the unfolding step. So some effort had been done
		to move the argument-calls of the unfolded calls into
		this new code (if this seems to be more efficient).
		But we missed this special case here ('f X' been more
		than once 'conditional').

		State: This will be fixed soon (hopefully)

29.06.92	TIMER.AS (TIMER.xc)
JvH		The MacIntosh UNIX does not support 'getrusage'
		this should be solved somehow.

		State: An 'available' function gives the user
		of the module the possibility to detect this situation.
		more to do: check the Mac's sar program for possible
		usage

28.06.92	aspdb (xaspdb)
JvH		The source line debugger is a bit unstable and buggy.

		State: in development		

15.06.92	REMOTE.AS (REMOTE.xc, gen, aspserv)
JvH		Gen running in network-mode (-p option) is not very
                stable. Sometimes the connection breaks down unmotivated.
                
                State: perhaps the extern routines (TCP/IP) should
                be redesigned (made saver).

14.06.92	compiler (sc, runtime-debugger)
JvH		The renaming doesn't seem to happen on the items
		the user examines while debugging a program (thats
		very unlikely).

		State: looking for some time to examine this

14.06.92	compiler (asp)
JvH		In this implemenation the compiler does not support
		(polymorphic) instantiations with tuples/functionals
		of formal sorts being included into other sorts, i.e.
		in LIST.

		State: we know this restriction (solution is a bit
		of complex coding which needs some time we do not
		have now)

14.06.02	gen
JvH		The installation mode (-i and -s options) are in a
		preliminary state.

		State: looking for some time to develop this



xx.xx.xx	misc
		- include subsorting more directly into parser
		- better separate parsing if only locals change
		- induction incomplete parameter passing (actualisation)
		- remove macros, introduce where, let and lambda abstractions
		- non builtin equality
		- signatur as term (write runtime, debugger in ASpecT)
		- constant terms as constants in C
		- automatic unfold
		- non builtin and,or,if
		- non builtin integer, system, string, char
		- cse on constructors
		- better (complete) documentation
