[clean-list] Clean 2.2 available for Windows, PowerMacintosh, Linux and Solaris

Clean Support clean at science.ru.nl
Tue Dec 19 14:42:19 MET 2006


Clean 2.2 is now available for Windows (IA32 and AMD64), Mac OS X 
(PowerPC), Linux (IA32 and AMD64) and Solaris (Sparc) at

<http://clean.cs.ru.nl/Download/main/main.htm>.

New in 2.2 (compared to version 2.1.1):

Ported to 64 bit processors:

- Support for 64 bit processors (AMD64) on Windows (XP x64) and linux.
   In these versions integers and pointers are 64 bits, floating point
   computations use SSE2 instructions, intermediate results are also
   64 bits (instead of 80 for IA32).
   Dynamics, Sparkle and some libraries are not yet available in the 64
   bit versions.

IDE:

- Multi line error messages are supported.
- The experimental fusion optimisation can be enabled per module.
- Improved initial size of windows for .icl and .dcl files.
- Relative paths in project files are converted if a project file
   is moved to a different platform.

Linux and solaris:

- Added StdLib and Generics libraries.
- Fixed -lat and -lset.
- Removed the executables using XView. The IO 0.8 library is not used anymore.

clm (linux and solaris):

- Added -IL option for adding a standard library to the search path.
   For example: -IL ArgEnv
- Added support for "import code from".
- Added -tst option for generating stack traces if a program aborts.
   Using this options slows down execution of your program and uses more memory.

StdEnv:

- The IF_INT_64_OR_32 macro has been added to module StdInt.
   On 32 bit platforms it is defined as:
	IF_INT_64_OR_32 int64 int32 :== int32
   on 64 bit platforms as:
	IF_INT_64_OR_32 int64 int32 :== int64
- added specialized versions of == and < for [Int], [Char] and [Real]
- drop and take have been modified.
- TakeWhile has been fixed.

Compiler:

- Use multi line error messages for "Cannot unify" and
   "derived type conflicts with inferred type" errors, so that
   the types can be compared more easily.
- Fixed bug in printing types, causing printing of a dot instead of
   a uniqueness type variable.
- Improved accuracy of line number in some error messages.
- Bug fixes for existential and universal quantified variables and
   generics.
- Fixed use of TC class in context of class definition.

Code generator:

- Calls to functions passed as argument with more than one argument
   are now usually more efficient, because intermediate partial application
   nodes are no longer created in most cases.
- ccall now supports type 'p', for passing pointers. Same as 'I' on
   32 bit platforms, but 64 bit on 64 bit platforms.
- Improved code generation for some instructions that require specific
   registers on IA32 processors.
- Bug fix for functions that yield more than 7 unboxed reals and
   fewer than 2 unboxed integers on IA32.
- The 200 character limit on string denotations has been removed.

Runtime system:

- Changed implementation of selections during garbage collection.
- Improved copy collector performance for records with more than
   two fields without pointers.
- Fixed minimum heap profile size on the macintosh.

Linker:

- Added support for new relocations on Mach-O.

GAST:

- New version with support for state based testing.

Regards,

Clean Support
http://clean.cs.ru.nl


More information about the clean-list mailing list