Research WebPage; Clean 2

rinus plasmeijer rinus@cs.kun.nl
Tue, 30 Nov 1999 01:13:25 +0100


Dear Cristian,

Cristian Levcovici wrote:

> Hi!
>
> I think you have a little problem with the research page of your Clean
> website: it is just a blank page, although it has a valid source.  Have you
> intended to remove it?

No. It is an error. The pages are generated from a database which is currently being modified.
We will fix it ASAP.


> It was interesting to know some internal details and
> directions behind Clean.
>
> On some other side, I am a Clean programmer and I am impacient to learn
> about as many and as deep details as possible about the new Clean 2.  Can
> you provide me with some information about this?

The compiler is rewritten in Clean For ABC code generation we still use the same part as used in our
1.3 compiler which is written in C..
For portability reasons we tried not to change too much yet in the language at his stage.
Added to the language are:
-multi-parameter type classes
-dynamics (the type dynamic, dynamic type checking via pattern match on types, dynamic unification,
type dependent functions)
-more refined import statements
-a different scope rule for modules
-definition modules can be cyclic dependent

The new system comes with a library for storing and retrieving dynamics.
There is a dynamic linker (available on the PC, currently being ported to the Mac) which can
dynamically link in code.
There is a new IDE to support all this, using the 1.2 object IO library.

>  Also, there were sundry
> "non-final announcements" about the possible release date of Clean 2,
> especially on the discussions mailing list.  What are the lastest estimates
> regarding this issue?

Peter Achten is currently finishing the 1.2 Object IO lib. It will be released this year.
It will include the game library (have a look at www.cs.kun.nl/~mike.wiering)
The new IDE will be released as soon as the latest  Clean compiler 1.3.3 has been put on the net.
Soon.

We still are working on the Clean 2.0 compiler. Sorry.
There are 2 reasons why it takes much longer than expected.
1. There is a shift from the kind of work from people who started the work on the compiler. They are
now staff members heavily involved in teaching.
They tried to deliver a working compiler, but the other work consumed so much time that effectively
the work on the compiler did not make any progress anymore.
Other members of the group are now taking over the development of the compiler.
This clearly causes a big delay.
2. All 0.8 IO examples can be compiled with the new compiler. However, we spotted a serious bug in
the old compiler. It has to do with uniqueness typing and existentially quantified types.
As a consequence, the 1.2 Object IO lib has to be changed because it contains code which is not
accepted by the new compiler (which is correct).
It is not a serious problem, but it is a lot of tedious work in a huge IO library system.
We will not release the new 2.0 compiler before all our software in Nijmegen (lots of rules) works.

We try to do our best. I am getting impatient as well.

Greetings,

Rinus