current status of next clean version?

rinus rinus@cs.kun.nl
Wed, 26 May 1999 12:00:36 +0200


Hi Matthew,

Matthew Lye wrote:

> hi folks -
>
> correct me if I'm wrong, but I seem to recall someone making an optimistic
> reference back in December or so to a new version of Clean coming out some
> time after the holiday.  Would anyone in Nijmegen be willing to spare the
> time to say what the current status of that version is?  It would also be
> helpfull to know what the cause of the delay since that estimate has been:
> proposed revisions cropping up before the compiler is ready to ship, lack
> of human-work-hours available, or implementation difficulties.

You are absolutely right, we should give more information once and a while
about the status of the project...

Well, the team is working very hard on the new compiler.
The new compiler is near completion: it contains all important features we
wanted to include in this release.
What currently is missing is some small syntactic stuff (explicit imports,
multi-dimensional arrays selections and updates) and issues like smarter code
generation for dynamic objects which will not take too much time (I hope).
Also we are working hard on support for dynamics (dynamic linkers) and a new
Clean IDE.
The compiler is being tested. The 0.8 IO programs work.
When testing 1.0 IO applications (which use the more sophisticated area's of
Clean) we hit on small bugs or
one of the unimplemented language features.

The delay is not caused by difficult implementation issues, it simply is an
awful lot of work
Much more work than we expected (we forgot how much work and features we have
put in the old Clean compiler).
Sometimes we have to do additional work. For instance, in the old compiler we
used guards internally in core Clean.
In the new compiler guards are directly translated to case constructions.
Since we are using the same back end (including strictness analysis and code
generation) for the old and the new compiler, we transferred guards to cases
in the beginning of the compilation and backwards lateron.
This is pretty silly.
Using the same back end has the advantage that we at least have one big worry
less.
Nevertheless we are now changing the back end of the old compiler such that we
do not have to do unnecessary transformations
in the new one.
An important reason for the delay is caused by the fact that Sjaak Smetsers
has become a staff member. He started the coding on the new compiler. In his
new position he cannot work full on the compiler (he has to do a lot of
teaching).

Now the big question is: how much more time will it take?
Some weeks will go in implementing small stuff. And a lot of time will go in
debugging (only big applications are left for trying like the 1.0 IO library
and the compiler itself).
We do our best. We also want the thing to be finished such that we can focus
on new research issues.

> It is not _neccesary_ that I know the answers to these questions, but I am
> very interested.
>
> from the peanut gallery,
> Matt Lye

Thanks for asking.

Greetings,

Rinus