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