From: pTymN
Subject: Corman Lisp 3.0 Released!
Date: 
Message-ID: <1158698042.778525.268290@k70g2000cwa.googlegroups.com>
Hi everyone,

Corman Common Lisp 3.0 is a Win32 based implementation of Common Lisp.
The new version has improved in nearly every way. I am proud of Roger
Corman's work, and was glad to be able to contribute to the FFI
stability and the floating point performance.

Corman Lisp 3.0 Release Notes
Sept. 14, 2006

This release includes:

-Math and numeric code performance.
 Completely rewritten math libraries and generated code for nearly all
math
 operators. Previous versions of Corman Lisp were pretty well optimized
for
 fixnums, but this version greatly improves floating point
 performance and other numeric types. All the math code is in Lisp and
 Corman Lisp assembler.

-Math and numeric code stability.
 Improvements in stability in all math code, better interaction with
GC,
 better multi-threading.

-Better error reporting and shutdown.

-Improved FFI, with improved stability with multiple threads and GC.

-Numerous bug fixes.

-Numerous ANSI compatibility improvements.

-Integration with .NET (Edi Weitz' RDNZL package is included).
 (see Corman Lisp User Guide, chapter 25 for more details and link to
RDNZL
 documentation)

-New CCL:MEMORY-REPORT function. (see Corman Lisp User Guide, chapter
24)

-New CCL:LISP-SHUTDOWN function. (see Corman Lisp User Guide, chapter
23)

-All Corman Lisp kernel code (as well as C++ samples and client apps)
compile
 with Visual Studio 2005.

-Updated Zlib compression package (used by various exported Lisp
functions such
 as COMPRESS-BYTES, as well as compression of Lisp image files and
compiled files)
 from version 1.1.3 to 1.2.3.

-Most Lisp kernel function are now redefined in Lisp (or Corman Lisp
assembler).
 They play by all the threading and GC rules, and stability is
improved.

-EQUAL, EQUALP, HASH-EQUAL, and HASH-EQUAL-P are now all defined for
foreign
 pointers. This means two foreign pointers are EQUAL (and EQUALP) if
and only
 if the pointers are the same (point to the same address). This allows
hashing
 on OS handles and other foreign blocks.

-Garbage collection heap sizes may be set by the COM host when the
kernel is
 initialized via new InitializeEx() function.

-Garbage collection fix: if call to SuspendThread() fails the collector
will keep
 trying until the thread is suspended. We suspect this was the cause of
some
 heap corruption problems, as Windows will fail the suspend attempt
 occasionally.

-Auto-update feature (Corman Lisp User Guide, chapter 23)
 This allows us to distribute bug fixes and feature upgrades
automatically via
 the Corman Lisp web site.

----------------------------------
Improvements to Corman Lisp IDE:
 (for details see Corman Lisp User Guide, chap. 7)
----------------------------------

-Text styles and colorization is improved and stability issues are
fixed.

-Context (right-click) menu includes Macroexpand and Macroexpand-1
options
 which expand and pretty-print the currently selected expression to the
 worksheet.

-Lisp Variables Display panel (by default, located in toolbar at top
right).
 Lisp variables and expressions can get added here via context menu,
 and update automatically.

-Added Declarations menu which displays all the declarations (DEFUN,
DEFMACRO, etc.)
 in the current file, and selecting a declaration will jump to that
declaration.

-Added Symbols menu which shows you all the packages and all the
exported
 symbols in a hierarchical manner. If you select one, it calls DESCRIBE

 operator  with that symbol. Tooltip for each symbol in the menus is
displayed
 in the status bar as you glide over it tooltip shows values of
variables and
 arguments to functions and macros).

-The History menu which shows recently used commands and lets you
select them.


Examples:
-New Othello game (in the examples/gui directory).



-Tim Kerchmar