Does that mean more typing? Yes. Does it mean better readability? Yes.
It's not like you are typing that much code in the first place! The goal of Haskell should not be maximum terseness: it should be elegance.
Does that mean more typing? Yes. Does it mean better readability? Yes.
It's not like you are typing that much code in the first place! The goal of Haskell should not be maximum terseness: it should be elegance.
As for the usage on the lower code snippets like `for […] $ \x -> …`, then it saves some parentheses. Opinions on this go both ways, with some people preferring lisp-style syntax, others use more Python-like indentation code formatting. Both are okay, and I’ve switched my preference multiple times.
Where I agree $ is terrible is in expressions like `foo x . bar y z $ abc`, often (!) much harder to read than just adding parentheses.
This case is actually valuable for the clear delineation of the lefthand-side that's relatively fixed and can be moved to an outer scope (or even toplevel) and the righthand-side that's contextual and is dependent on a more dynamic value-part.
During the same voyage, almost no uses of dot - it might be super elegant when writing complex functions for something else, but not for doing things.
f
$ g
$ h
$ some expression etcI will always have a nostalgic love of `$ do` though :)