[clean-list] Clean 2.1.1 available for Windows, Macintosh, Linux and Solaris

Clean Support clean at cs.ru.nl
Wed Jun 1 16:23:24 MEST 2005


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

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


New in 2.1.1 (compared to version 2.1.0):

- New libraries: GAST, GEC, Hilde and Parsers (for Windows).

- Improved redirected standard input/output files.

- clean functions using integers and tuples can be called from c
  using foreign export, for example:

	implementation module f;
	import StdEnv;

	foreign export f;

	f :: !Int !Int -> Int;
	f a b = sum [a..b];

	call_f :: !Int !Int -> Int;
	call_f a b = code {
		ccall "GII:I"
	};

	Start = call_f 1 20;
	
	definition module f;

	f :: !Int !Int -> Int;

	will call the function f using the c calling convention. Functions
	exported using foreign export can only be called from c if
	the c code is called from Clean using a ccall with a 'G' as first
	character of the string. htoclean does not yet generate these 'G's. 

- let can be used after a generator in comprehensions (without in),
	for example:
	
	[ s \\	n <- [1..10],
		let s = n*n
		| s>=40
	]

- Code generator optimizations:
	- optimized array indices that consist of an add or subtract
	  of a value and a small constant, for example: a.[i+1],
	  a.[1+i] or a[i-1].
	- branch optimization that improves the speed of small loops. 
	- faster bitnot, ~ for integers and abs for reals.
	- small improvement in the register allocator for ia32.

- Bug fixes.

Regards,

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


More information about the clean-list mailing list