Skip to content

Corman Lisp 3.1

Latest
Compare
Choose a tag to compare
@arbv arbv released this 30 Dec 15:41

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 functions ENABLE-HARDWARE-GC and HARDWARE-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.
    The START-SOCKETS and STOP-SOCKETS are dummy functions which are available for compatibility reasons.

  • SSL sockets module does not need any specific initialisation.
    The START-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

Credits

Release 3.1 includes new contributions from the following people (in alphabetical order):

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