News for hackers. Stuff that matters.
Re:Clean – A functional programming language by davidgrenier on Saturday December 16, 2017 @08:50AM (#15939508)
Anyone who hasn't tried a whitespace-significant language in anger is missing out.

I had started with F# and was put off by it like you described. I moved to Haskell and had difficulty understanding it yet again, but when I moved back to F# one more time it was a delight.

Re:Clean – A functional programming language by dorfsmay on Saturday December 16, 2017 @09:25AM (#15939651)
I LOVE python, it is the weapon I first take to any battle and the language I recommend to beginners. But, I have to admit that the fact that it is so easy to lose track of which "if" a nested "else" belongs to when modifying code, and, I've seen this being the source of so many bugs, that it has changed my opinion about whitespace-significant languages.

Also, I've come to appreciate when I write in say Rust, the fact that I can let go of the syntax, just write and focus on my ideas and let my editor sort the mess at the end.

Re:Clean – A functional programming language by bjz_ on Saturday December 16, 2017 @10:47AM (#15940011)
> it is so easy to lose track of which "if" a nested "else" belongs to when modifying code, and, I've seen this being the source of so many bugs, that it has changed my opinion about whitespace-significant languages.

Having types and removing statements from the language make this much less of an issue

> I can let go of the syntax, just write and focus on my ideas and let my editor sort the mess at the end.

Elm has a whitespace significant syntax, but it too has an excellent code formatter tool.

Re:Clean – A functional programming language by daveFNbuck on Saturday December 16, 2017 @10:23AM (#15939900)
How does Rust make it any easier?
Re:Clean – A functional programming language by dorfsmay on Saturday December 16, 2017 @10:37AM (#15939962)
All clauses are defined within curly brackets like C so indentation has no meaning and you can let tools take care of that.
Re:Clean – A functional programming language by vram22 on Saturday December 16, 2017 @11:11AM (#15940118)
Also, with editors like vim, you can press % to go to the matching brace (curly bracket). In fact that works in vi too, right from the early vi days; also, in vim, if you position the cursor on an opening or closing brace, it momentarily highlights the other one (at least if that brace is visible on the screen, can't remember offhand if this works even if not visible).

I still like languages like Python and F# though.

Re:Clean – A functional programming language by daveFNbuck on Sunday December 17, 2017 @11:03AM (#15946248)
But is it any easier to tell which clause an else is connected to? Python has tools too.
Re:Clean – A functional programming language by dorfsmay on Monday December 18, 2017 @09:41AM (#15951883)
When you refactor, yes. In python, say you add a new condition inside a condition, it's really easy to get lost and indent the wrong one to the wrong level.