[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

release notes for 1/26 core



Well, here they are.  Remember, these notes are for the 1/26 core, not the
current alpha.  I'm going to be building a new core soon, and it will be
accompanied with release notes covering everything after these notes.

-William



These release notes cover all the changes that have been made sence the
beta release of 12/15/90 through the alpha release of 1/26/91.

			   *** General Stuff ***

 - The representation of structures has been changed.  Instead of being
built on top of simple-vectors, they now exist as their own independent
type.  Therefore, new functions had to be introduced to create, indirect,
and modifity structures and the code to save/load structures in/from FASL
files had to be updated.

   *** Note: This means that old fasl files will not work in this lisp.

 - DRIBBLE has been fixed.  It no longer calls %top-level, so it is
possible to use it to record debugger sessions, and it changes
*standard-input* and *standard-output*, so it works correctly with the new
stream structure.

 - The code produced by DEFMACRO to destructure lambda-lists was optimized,
and in some cases fixed.  (It used to break if you tried to supply NIL
where it wanted a sub-list even if zero arguments was reasonable.)

 - Several calls to FORCE-OUTPUT were added to the debugger to make sure
prompts are actually seen before requesting input.

 - EXPT now correctly returns complex results for negative numbers raised
to a fractional value.

 - A ``try again'' restart was added to OPEN for permision denied errors.

 - Some broken declarations in format were fixed.

 - Echo streams no longer echo unread characters twice.

 - More broken declarations were fixed, this time in stream.lisp.


			      *** Hemlock ***

 - "Editor Compile Defun" and related functions have been fixed.

 - "Check Word Spelling" has been fixed.


			    *** The Compiler ***

 - You can now (proclaim '(ext:freeze-type <structure-type1> <type2> ...))
which informs the compiler that no more structures will include any of the
specified types.  This allows it to produce much better code to test for
those types.

 - The compiler now open-codes bit-vector operations (bit-and, bit-not,
etc.) for simple bit vectors.

 - Changed LET and LET* to allow var specs like (VAR), as allowed by some
ANSI cleanup or other.

 - The code generated to verify types has been optimized a bit more for the
case when an exact type test is not necessary (speed > safety > 0).

 - Dead code deletion has been cleaned up a bit.

 - Functions that return multiple values can now be constant folded.

 - Broken uses of PROCLAIM no longer cause the compiler to barf.

 - Changed SC-CASE to print the offending SC in the error message.