News for hackers. Stuff that matters.
Re:Reflecting on Haskell in 2017 by lmm on Monday December 04, 2017 @11:01AM (#15844827)
> And if you're implying that Rust is easy to read, for a beginner, because it uses curly braces, I'm not entirely sure what to say.

Rust is easier to read because the visually natural distinction between words and punctuation has the same kind of meaning in Rust that it does in prose. Reading Haskell feels like reading a paragraph without any punctuation; there's no structure to grab onto. A lot of the time you can't tell whether something is a type parameter or a value.

Also $ is utterly alien compared to any other remotely mainstream language, . means something very different from what it usually does and what it usually means is rarely used ("subject verb object" is very rare in Haskell code), the :: type syntax is obscure, the mandatory split/duplication between function declaration and definition feels weird...

Re:Reflecting on Haskell in 2017 by runeks on Monday December 04, 2017 @12:39PM (#15845701)
> A lot of the time you can't tell whether something is a type parameter or a value.

> […] the mandatory split/duplication between function declaration and definition feels weird...

I believe you just answered your own critique: you can always tell whether something is a type parameter or a value, because type and implementation are kept separate.

Re:Reflecting on Haskell in 2017 by lmm on Monday December 04, 2017 @01:41PM (#15846306)
They're in separate clauses but they look the same on their own. You have to look out to a few lines of context to see which is which. At a glance it's not even obvious which lines are function declarations and which are implementations.
Re:Reflecting on Haskell in 2017 by lucozade on Monday December 04, 2017 @11:21AM (#15844997)
> natural distinction between words and punctuation has the same kind of meaning in Rust that it does in prose

I'll just leave <'a> here then. Hard to resist. Sorry.