Open Clean Source

Ana Maria Abrao ana@ufu.br
Mon, 25 Jan 1999 13:40:41 -0200


rinus plasmeijer wrote:
> 
> Hy folks,
> 
> We will discuss the open source request in our team.
> The main reason for us currently not to distribute the source code is
> that we fear all kinds of not working variants we will be blamed for and
> lots of questions we will have to answer about the internal structure of
> the Clean system.

Dear Rhinus.
People at this lab are not specialists in computer languages. Thus, our
opinion may be nonsense. However, let's express it.

When one compares Clean with Haskell, the two languages are not
very different. To outsiders like ourselves, the differences between
Clean and Haskell are smaller than between two dialects of ML.
Clean stands out not because it has some inovative language 
constructs (like unique types), but because it has such a fine
compiler. We believe that an open source Clean wouldn't help 
very much, because the source could fall in less than competent hands. 
As you fear, if you open the sources, Clean team may be forced 
to give long explanations about the workings of the compiler,
and this could delay the development of the language. Besides
this,  buggy (and slugish) variants could give the language a
bad reputation. However, people who complain about Clean 
beeing supported by only one vendor have a very good point...
You know, it is  common for single
vendor compilers to go unsuported. A good example is Trilogy.
A very good system, wasn't it? If you liked it, I am very
sorry for you, since Professor Paul Voda (the designer
of Trilogy) has other interests right now. 

Happily enough, there are other solutions, besides opening the
compiler's source code (which I think that is not a good idea). 
Let's consider one of these solutions.

Visual Prolog designers made an association with developers
from Saint Petersburg and Atlanta. People like us, who use 
Visual Prolog  in the area of multimedia, 
know that, if Jensen gives up the compiler writing business, 
we can get support  from Saint Petersburg, or from Atlanta.
Besides this, there is no danger of faulty Visual Prolog compilers,
since there is a close relationship between the three teams.


> I have no problem in releasing the source code of the Clean IDE.

All you need to do is to show us how the compiler is called from Clean
IDE
(for example, how to call it from the command line, in the case of
Windows and MacIntosh). One can easily  write an IDE to fit his/her
needs. 
If one has a mechanism to feed source text to the compiler, 
he/she can even write an IDE, which features source
to source transformations. Visual Prolog
has a nice mechanism to feed source to the compiler, which is
released as a library.


As Nick pointed out, what Clean badly needs to become popular
is a killer application. Since we like  Clean very much, we tried
to figure out what that killer application could be.
Mathematica, Mathlab, Mapple are very popular. 
Nevertheless, these packages
are inefficient, because they are extended through
interpreted languages. Think about a system like Mathlab,
where packages could be written in Clean, instead of that
lousy language used to increment Mathlab.

Observe that computer algebra packages depends on user contributions: 
There is no computer algebra without heavy user contributions. 
Clean  is a very good language for collecting user contributions. It has
a nice syntax (close to the syntax used by mathematicians and
engineers), it is fast (no need to use C for critical code,
like in Mathlab), it has a mathematical semantics, etc.
In the Clean list, we have seen
a couple of mails from professor R. Malaquias, 
who started up the CICS system. Since he is interested in Clean
(otherwise he wouldn't frequent the Clean list), we contacted him,
and suggested that he starts up an algebra system in Clean (one doesn't
develop algebra systems; one starts them up; users do the rest of the
work). He became interested in our project of translating CICS
to Clean. However, he pointed out that there are a 
few details to handle:

1- Clean needs a flawless and well documented interface to the
non-procedural world. Prof. Malaquias thinks that the Clean 
interface to C is good enough. However, it is not well documented.
He needs to know whether the Clean team could answer his 
questions about how pass arguments (like pointers to windows)
from Clean to C. He probably will write you a email about that.

2- It would be necessary to get official support from the two
Clean mother institutions (KUN and Hilt). As I told you before,
computer algebra depends on user contributions. The site which
collects the contributions must be one of the Clean sites. Prof.
Malaquias intends to design and implement programs to normalize
formulae, computer graphic libraries, and an interpreter for
graphic entries (people love graphics; then, let's give 
them a lot of graphics). After that, he will contact the Clean 
team about the possibility of installing a contribution 
collector site at Nijmegen. 

Of course, you may have other ideas about what is a good killer
application for Clean. If you do, I suggest that you prepare a
TODO list, and start collecting user contributions. You know,
contributors not only provide free labour, but also spread the
word :)

Ana
Alex
Eduardo