2 ms·
Clean is not the language that gets recommended to every pilgrim in search of functional purity, but I think it should be. The syntax is about the same as Haske
by wrp 15y ago
Clean is not the language that gets recommended to every pilgrim in search of functional purity, but I think it should be. The syntax is about the same as Haskell, but it comes with a polished IDE, a native GUI library, and excellent documentation.
There is some confusion over the handling of state in Clean versus Haskell. It is usually said that Haskell uses monads and Clean uses uniqueness types. This is partly true. A more accurate explanation that monads and uniqueness types are distinct features that can coincidentally both be used to manage state. Haskell doesn't have uniqueness types. Clean has both, and you can use either, but the developers prefer uniqueness types. Having tried both methods, I'd say that uniqueness types are easier to understand but monads give cleaner structure to the code.
I see so many laments from people who tried Haskell and gave up. My guess is that there would be a much lower attrition rate if they started with Clean instead.