
One of this differences between Haskell and Clean I did not see mentioned in this discussion is that Clean does not allow so-called partial parametrisation. I.e. all function calls have to be fully saturated. Although the GHC can sometimes (often) find out that a call is saturated, this becomes more complicated if higher-order functions are involved. As a consequence extra tests have to be performed at each call, which partially explains the speed difference. I have no idea how much difference it would make if such tests could completely be avoided in Haskell implementations. We hope to to be able to say something more about this difference in the future, based on the global (GRIN-based) analysis done in the Utrecht Haskell Compiler. Doaitse On 3 nov 2009, at 21:30, 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?
-- Deniz Dogan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe