null · 2017-08-18 10:59
I wish this language had taken off as the biggest inspiration in pure strongly typed functional programming instead of Haskell.
DEBUG-CONTENTS · 2017-08-18 11:22
One thing that really blew my mind is that every function in clean that is defined on a restricted set of types automatically defines a typeclass. Really neat.
Marly Krushkhova · 2017-08-18 19:22
There can never be enough languages with Linear types (i.e. behaving like Rust's borrow checker).
Clean was among the first to have them, and since the language is GCed the implementation there had far less cognitive overhead than Rust's borrow checker, since most of the time you're just doing ordinary functional programming. It occupies a corner of the design space that no other major language holds right now, because afaik it is the easiest language to use overall that has linear types.
Too bad the language is basically dead.
drop · 2017-08-18 21:49
What's a good resource for learning Clean? It's been on my radar for a while, and I've never gotten around to it.
dictionary · 2017-08-18 22:06
>>2975
I read through this book:
http://www.mbsd.cs.ru.nl/publications/papers/cleanbook/CleanBookI.pdf
Clean is really similar to Haskell so if you have some Haskell experience, the interesting parts start showing up in chapter 4. For the minor syntax differences, you can use this cheat sheet: ftp://ftp.cs.ru.nl/pub/Clean/papers/2007/achp2007-CleanHaskellQuickGuide.pdf
With that said, GHC Haskell should be getting Linear types this year, and the GHC guys getting excited over the possibility of eliminating garbage collection from code that uses it. So Haskell is moving in a direction closer to where Clean used to be.
Leto Atreides I · 2017-09-21 02:30
>>2976
Thanks for posting the book. I'm gonna pick this language up now, looks interesting.
Jim Hilger · 2017-10-17 11:30
>>2976
GHC Haskell should be getting Linear types this year
Woowowoowowo
Knuth · 2017-10-18 01:07
>>4396
If you are curious, here's the proposal that'll be implemented:
https://ghc.haskell.org/trac/ghc/wiki/LinearTypes