Live data from Hacker News

Clean – A functional programming language

clean.cs.ru.nl

41–50 of 68 posts

Re: Clean – A functional programming language

#41
post #7

You wonder why Clean isn't as popular as Haskell and Ocaml. I've read it's the lack of community. The name doesn't help either.

I don't know if it's changed much, but I remember that several years ago I thought about trying to learn Clean but I gave up because it looked like Linux was a second-class platform and the Clean project mostly focused on a Windows IDE.

iirc the compiler and libraries worked fine with Linux, but work on the IDE was not being ported to Linux.

Example, Clean programs working fine on Linux --

https://web.archive.org/web/20130101063215/http://benchmarks...

Re: Clean – A functional programming language

#42
post #18

You wonder why Clean isn't as popular as Haskell and Ocaml. I've read it's the lack of community. The name doesn't help either.

An additional hurdle may be it's use of uniqueness typing ( http://clean.cs.ru.nl/download/html_report/CleanRep.2.2_11.h... ), which it uses for IO instead of monads. In my experience with Clean, uniqueness typing has been some kind of magic.

Funny how interpretations differ. I always considered the uniqueness typing approach to IO superior to the monadic approach.

Re: Clean – A functional programming language

#43

You wonder why Clean isn't as popular as Haskell and Ocaml. I've read it's the lack of community. The name doesn't help either.

It took ages for Haskell to become "popular". My personal impression is that OCaml was more popular in the past and lost ground in recent years. OCaml's story demonstrates though how difficult it is to turn an academic research language into a widely accepted tool that is (financially) supported by the industry. Clean had a performant compiler when Haskell was mostly interpreted and slow. Why didn't it take off? Mayb…

> Why didn't it take off?

afaict there was a moment when most of the "pure" "lazy by default" functional language projects coalesced into Haskell to build working mass -- except the developers of Clean continued to see value in strictness analysis and uniqueness typing but that limited the numbers developing libraries and tools.

Re: Clean – A functional programming language

#44

The thing about syntax like this fac :: Int -> Int fac 0 = 1 fac n = n * fac (n-1) to me, is that all the statements of this function declaration seem "disconnected". I'm guessing the "fac" connects them but it seems less clear than open-closed brackets in a c-like language (and also more cluttered). Especially, I'm not sure what tells me I've reached the end of the function declaration. This may seem trivial but it'…

I think about it like you're listing various definitions for what something is, given various patterns to match against. For me, this makes it more palatable because each pattern has a different operation associated with it. It's almost like binding multiple functions to one name that are called based on what you pass in, instead of creating one function to do the operation -- even though that's exactly what you're actually doing. It's declarative programming, in a way.

Re: Clean – A functional programming language

#45

The thing about syntax like this fac :: Int -> Int fac 0 = 1 fac n = n * fac (n-1) to me, is that all the statements of this function declaration seem "disconnected". I'm guessing the "fac" connects them but it seems less clear than open-closed brackets in a c-like language (and also more cluttered). Especially, I'm not sure what tells me I've reached the end of the function declaration. This may seem trivial but it'…

This is what makes it clear. Instead of burying the value somewhere in an if expression, pattern matching makes it immediately clear what the evaluated value is for a given argument.

Re: Clean – A functional programming language

#46
post #32

Earlier quoted context omitted.

It took ages for Haskell to become "popular". My personal impression is that OCaml was more popular in the past and lost ground in recent years. OCaml's story demonstrates though how difficult it is to turn an academic research language into a widely accepted tool that is (financially) supported by the industry. Clean had a performant compiler when Haskell was mostly interpreted and slow. Why didn't it take off? Mayb…

Languages don't win. Package management and distribution wins. Access and energy required for a viable solution.

C won befoee package managers and Linux distributions existed.

Re: Clean – A functional programming language

#48
post #46
post #32

Earlier quoted context omitted.

Languages don't win. Package management and distribution wins. Access and energy required for a viable solution.

C won befoee package managers and Linux distributions existed.

Because it was the language of UNIX distributions (not called that, but it's the same concept).

Re: Clean – A functional programming language

#49
post #46
post #32

Earlier quoted context omitted.

Languages don't win. Package management and distribution wins. Access and energy required for a viable solution.

C won befoee package managers and Linux distributions existed.

well, unix was written in it, making it a natural choice if you're writing unix programs, or if you are writing programs on a unix.
Post reply on HN