On Fri, May 17, 2013 at 11:37:29AM -0700, Greg Weber wrote:
I would rather get rid of commas
altogether (make them optional actually) and just have a newline +
consistent indentation signal a new list item: coffee-script does that.

I'm interested in this idea. We should make sure we think it through and there are no weird cases, but if it all works out I'd be in favour.

This looks a bit too much like a GADT to my eyes:

data Point = MkPoint
    x :: Rational
    y :: Rational

Maybe the recommended style would be:

data Point =
  MkPoint
    x :: Rational
    y :: Rational

But I suppose pattern-matching, update syntax and so forth would probably still have to use explicit braces and commas. That inconsistency is probably a bit unpleasant.

I'd say import and export lists at least are probably fine with a layout-based rule.

On Fri, May 17, 2013 at 11:23 AM, Tillmann Rendel <
ren...@informatik.uni-marburg.de> wrote:

Hi,

Garrett Mitchener wrote:

There's a weird idiom that I see all the time in Haskell code where
coders put commas at the beginning of lines:

data Thing = Thing {
   x :: Int
   ,y :: Int
   ,z :: Int
   ,foo :: String
} ...

items = [
   "red"
   ,"blue"
   ,"green"
]


(I don't think this is valid Haskell. The closing } and ] should be more
indented).

I like to put commas at the beginning of lines, because there, I can make
them line up and it is visually clear that they are all at the same nesting
level. I like how the commas look a bit like bullet points. For example, I
would write:

items =
  [ "red"
  , "blue"
  , "green"
  ]

Could we extend Garett's proposal to also allow prefixing the first
element of a list with a comma, to support this style:

items = [
  , "red"
  , "blue"
  , "green"
  ]

Allowing an optional extra comma both at the beginning and at the end
would allow programmers the choice where they want to put their commas.

  Tillmann

______________________________**_________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/**mailman/listinfo/haskell-prime<http://www.haskell.org/mailman/listinfo/haskell-prime>


_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to