It is the first community release intended for real use.
The main objectives of this release are:
- to make the system usable on the modern versions of the Windows operating system, especially the 64-bit ones;
- to improve the stability of the runtime and kernel code;
- to improve basic functionality of the IDE;
- to fix long-standing bugs;
- to prepare the ground for the future development.
Nevertheless, it contains a lot of new features.
New in this release
-
Support for modern, x64 editions of Windows - it does not crash when intensively using FFI.
The application itself is still a 32-bit one. -
New customisable high-quality Lisp code indenting engine in the IDE (Dorai Sitaram's scmindent).
The functionality is used during source-code editing and is also available via the context menu for reindenting the selected code. -
Hardware-assisted garbage collector mode (experimental, disabled by default).
See the new functionsENABLE-HARDWARE-GC
andHARDWARE-GC-ENABLED-P
(Chapter 12 of the Corman Lisp manual). One can find:HARDWARE-GC
keyword in*FEATURES*
when this functionality is available (it is always available starting from Corman Lisp 3.1 and onwards). -
Support for multi-user environments.
The Corman Lisp does not assume that it has write permissions to the installation directory.
See Chapter 6 of the Corman Lisp manual for the additional details. -
User specific initialisation file (
%USERPROFILE%\corman-init.lisp
). -
Support for high-DPI screens in the IDE.
-
Support for IPv6 (when available on the platform).
One can find:IPV6
keyword in*FEATURES*
when this functionality is available. -
Support for datagram sockets.
One can find:DATAGRAM-SOCKETS
keyword in*FEATURES*
when this functionality is available. -
Networking sockets library does not need specific initialisation any more.
TheSTART-SOCKETS
andSTOP-SOCKETS
are dummy functions which are available for compatibility reasons. -
SSL sockets module does not need any specific initialisation.
TheSTART-SSL-SOCKETS
is a dummy function which is available only for compatibility reasons. -
SSL sockets module now uses TLS by default.
-
New MSI-based installer created using WiX 3.x.
-
Installer creates
%CORMANLISP_HOME%
environmental variable which contains Corman Lisp installation directory (to make it easier to integrate it into the other projects). -
Visual Studio 2015 Community Edition is used to build the project.
-
The Visual Studio solution was reorganised to make it easier to build the project and contribute.
The only optional dependency is WiX 3.x which is used to build the installer. -
The third party libraries were updated to the latest versions when possible.
-
All old Corman Lisp licensing code is properly removed.
-
Support for Windows operating system versions older than Windows XP SP3 is dropped.
-
It is possible to load a Lisp image without crashing the IDE (all the time ;).
Corman Lisp is one of the few modern implementations which provide image loading functionality without restarting the process. -
New
LOAD-DEFAULT-IMAGE
function.
See Chapter 22 of the Corman Lisp manual. -
Numerous improvements to the CLOS implementation.
-
Numerous improvements to the kernel and runtime code.
-
Numerous bug fixes.
-
Numerous stability improvements.
What is missing (planned for the next releases)
- Support for the recent version of ASDF.
- Support for the new efficient thread synchronisation primitives available starting from Windows Vista and newer.
New examples
- Minesweepers AI and GUI demo (examples/minesweepers.lisp).
Credits
Release 3.1 includes new contributions from the following people (in alphabetical order):
- Artem Boldariev (@arbv)
- Chun Tian (@binghe)
- Luis Cervantes (@Luis-Cervantes)
- Max Chumak (Instagram)
- Roger Corman (@rgcorman)
- Zachary Beane (@xach)
If you believe that your name is missing here please contact me (@arbv).
To see the full list of contributors, please, visit the following page:
https://github.com/sharplispers/cormanlisp/graphs/contributors