[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.
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
- 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
- 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.