
Am Mittwoch 23 September 2009 04:06:11 schrieb Jimmy Hartzell:
Daniel Fischer wrote:
Or, what I do:
concat [ "(" , str , ")" ]
This is a lot better, true, but it still takes a lot of typing, and the
Huh? Per line it's two keystrokes more than with the accessible layout proposal. That's not a lot.
first element is now special-cased, preventing easy copy-and-paste
Making it slightly harder. Copy-Paste-Cursor to beginning-delete-comma. No big deal. Besides, how often does one need to copy the beginning of one list into the middle of another?
(although, admittedly, much less opportunity for mistake). On a more philosophical level, the signals used by the humans still are different from the signals used by the computer, which leads me to suspect such a system could still cause confusion.
I don't think so. The dominant factor to the human eye (at least to mine) is the layout. The commas are rather unobtrusive and go almost unnoticed.
And that is avoided, because a missing comma leaps to the eye.
True. Drawing this much attention to syntax, however, is part of why I find it aesthetically displeasing.
To me, it doesn't draw attention to syntax, only to syntax errors. When each line has its comma at the beginning, all is fine. When one line lacks the comma, it looks different and only then spring the commas to attention. Of course, it may be different for you.
Which is a good thing in my eyes.
Well, yes, but it means that when you lay it out the way I was proposing, you had two levels of indentation. With the way you're using, it's a lot cleaner.
I see your point but remain not liking the proposal.
Do you mean you see that there is a problem in the language that needs fixing, but you just don't like this fix?
I don't consider it a problem in the language. For me it works fine as is. But I can understand that if
In summary, I have to spend a good portion of my time coding Haskell dealing with the fact that I have a lot of {'s, ['s, and ,'s to keep track of, and they rarely fit on one line (records, ADTs, lists). I have to spend a significant amount of my coding time finagling the layout to look sensible,
there is reason to desire something that would simplify the process.
Would you be open to a modified version of the proposal?
Maybe. I haven't formed an opinion yet.
Is it an aesthetic objection, or more philosophical?
On an aesthetic level, I find #( and #[ absolutely terrible. Opening a parenthesis (or bracket) and not closing it just screams "WRONG!!!" to me. On the philosophical side, I'm not fundamentally opposed to syntax sugar, but I think it should be added sparingly. I don't think there is sufficient reason to add this sugar, but if many argue that there is, I would accept such an addition (just, please don't use #( and #[).