[clean-list] Clean 2.1.0 available for Windows, Mac, Linux and Solaris

Clean Support clean@cs.kun.nl
Fri, 31 Oct 2003 12:02:28 +0100


Clean 2.1.0 is now available for Windows, Mac OS X, Linux (Intel)
and Solaris (Sparc) at

<http://www.cs.kun.nl/~clean/Download/main/main.htm>.

New in 2.1.0 (compared to version 2.0.2):

– Abstract synonym types.

Example (in a dcl module):

:: Abs (:== Int)

means that Abs is abstract during type checking, but its
implementation can be used by the compiler to generate
more efficient code.

– Boxed records.

Example: the exclamation mark in

:: R = !{f1 :: Int, f2 :: Int}

indicates that values of type R should always stay boxed,
in particular when passed as a strict argument to a function
or returned as a strict value from a function.

– Mac OS X support including Object I/O 1.2 (Carbon)

The Clean System runs only under Mac OS X. It features the
same IDE as the Windows version and can produce executables
for Carbon PEF (the default), Carbon MachO (using the linker
from the Apple developer tools) and Mac OS 9. The Object I/O
library is currently available for Carbon only.

– Stack overflow checks without overhead and always enabled.

Stack overflows are detected using a guard page. The stack
check option in the Project > Diagnostics panel refers to
the old method with overhead and should be disabled.

– Optimising linkers for Linux and Solaris.

- Direct code generation (instead of using an assembler)
on Solaris.

- htoclean replaces fclc (Linux and Solaris).

- Version for Linux that bootstraps the compiler from
intermediate ABC files.

- New optimisations
* tail recursion modulo cons optimisation.
* faster code for division and remainder by integer
constants (IA32 and PowerPC);
* faster code for multiplications with certain integer
constants;
* faster real to string conversion (Windows);

- Improvements to the IDE
* syntax colouring of type definitions and function types;
* standard keyboard mapping for Windows;
* alt-key works as expected on Windows.

- Option "write stderr to file" on Mac OS X (Carbon) behaves
the same as on Windows: it only writes to file and doesn't
copy the error messages to a console window.

– Major improvements in the implementation of dynamics
(Windows only). Generics and dynamics are now standard in
Clean 2.1.

- Numerous bug fixes.

The documentation (most notably the Clean Language report)
is not up-to-date. We will fix this in a next minor release.

The source code of the complete Clean System is also
available from the download page. This includes the sources
for the Clean Compiler, Code Generator, IDEs, Profilers,
Dynamics support, Linkers, Run-Time System and the Sparkle
theorem prover.


Clean Support
http://www.cs.kun.nl/~clean/