
Sorry for late comment. Am 12.06.2016 um 14:24 schrieb Joachim Breitner:
Am Samstag, den 11.06.2016, 12:12 -0700 schrieb Michael Burge: I propose allowing an optional single extra comma at the end in module declarations, record declarations, record constructors, and list constructors:
module Example ( module Example, SomeConstructor(..), ) where
data SomeConstructor = SomeConstructor { foo :: Int, bar :: Int, }
baz :: SomeConstructor -> SomeConstructor baz x = x { foo = 5, bar = 10, }
qux :: [ Int ] qux = [ 1, 2, 3, ]
What do you think?
For the module header, this is already possible.
For the term language, it unfortunately clashes with things like TupleSections.
Tuples haven't been mentioned by the OP. Indeed, extra commas don't make any sense for tuples so let's just forget about them.
I believe this has been discussed a few times in the past, e.g. https://mail.haskell.org/pipermail/haskell-prime/2013-May/003833.html
And, like here, people concentrate on the red herring 'tuple sections'. To repeat (and slightly flesh out) the proposal: Allow an optional single extra comma at the end in: * module import and export lists * record declarations * record constructors * record updates * list constructors I can't see anything problematic with that. Cheers Ben -- "Make it so they have to reboot after every typo." ― Scott Adams