Am Mittwoch 23 September 2009 02:51:59 schrieb Jimmy Hartzell: > > On Sep 22, 2009, at 8:01 PM, Jimmy Hartzell wrote: > >> I am in love with this proposal: > >> http://www.haskell.org/haskellwiki/Accessible_layout_proposal (Richard O'Keefe:) > > > > I hadn't read it before. Now that I have, I really do not like > > it. "Syntactic sugar causes cancer of the semicolon" as Alan > > Perlis once said, and to my taste this proposal definitely > > counts as cancer of the semicolon. In effect, its purpose > > is to overload vertical white space. > > > > Any time that you have something where you think you need > > this, it's likely that a better solution is to break what > > you are doing into smaller pieces.
I don't like it either. I have not nearly a s strong feelings as Mr. O'Keefe, but to me it doesn't look right. > > Well, look at code like this: > > wrapParens str = concat [ > "(", > str, > ")" > ] > > (And yes, I realize you can do something like this with 'printf "(%s)" > str'.) Or, what I do: concat [ "(" , str , ")" ] (of course, here I would just write '(' : str ++ ")"). I admit it looked odd for the first couple of hours, but now I find it nice, clean and systematic. > > First off, there is a serious issue with the commas. You should at least > be allowed to have a comma after the last element, a la Python. Otherwise, > the last one is randomly special in this list, and in a format like this, > I regularly edit code accidentally leaving off commas, yielding stuff > like: > > concat [ > "(", > str, > ")" -- (oops, no comma!) > lineEnd -- forgot I needed this > ] And that is avoided, because a missing comma leaps to the eye. > > which (of course) results in a very confusing type error. Meanwhile, you > have to format your code very awkwardly, as the closing bracket can't be > in the left-most column, Which is a good thing in my eyes. > 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, and I don't think anyone would claim that I just shouldn't use > records or ADTs. I see your point but remain not liking the proposal. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe