[Haskell-cafe] What's the deal with Clean?

David Leimbach leimy2k at gmail.com
Tue Nov 3 16:57:04 EST 2009

On Tue, Nov 3, 2009 at 1:37 PM, Andrew Coppin
<andrewcoppin at btinternet.com>wrote:

> Deniz Dogan wrote:
>> Recently there has been a lot of discussion on this list about the
>> programming language Clean and converting Clean programs to Haskell.
>> Reading the Wikipedia article on the language, I can't really see any
>> major difference between that and Haskell, except for the monads vs.
>> uniqueness types.
>> So what's the deal with Clean? Why is it preferable to Haskell? Why is it
>> not?
> As far as I can tell, Clean is to Haskell as C is to Pascal. I.e., Clean is
> notionally very similar to Haskell, but with lots of added clutter,
> complexity and general ugliness - but it's probably somehow more
> machine-efficient as a result.
> (All of which makes the name "Clean" rather ironic, IMHO.)
> Of course, this is merely the opinion I formed after performing a cursory
> scan of some of the introductory documentation. I haven't actually seen any
> code written with it or anything, so my opinion probably doesn't mean a
> lot...
It's preferable to Haskell in situations where Haskell isn't the best

The criteria for that decision is different from problem to problem.


I had to implement a ring buffer, and I wanted the code using it to be
written in Haskell.  I ended up implementing the buffer in C, and wrapping
it in FFI from Haskell because implementing a destructive array in Haskell
is kind of unwieldy to someone of my experience level.  In Clean, it looks
like the uniqueness typing allows for destructive updates in a very
controlled manner.

Disciplined Disciple might be interesting to look at here too, but i'm not
sure I'd deploy anything with DDC just yet :-)


> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20091103/50baf8c2/attachment.html

More information about the Haskell-Cafe mailing list