Permitting trailing commas for record syntax ADT declarations

Simon Peyton Jones simonpj at microsoft.com
Tue Sep 23 08:55:18 UTC 2014


PS I have to admit that GHC already fails to adhere to H-2010 by accepting trailing commas in module import lists, *without* a language extension.  That is naughty, but I suppose it is a foot in the door.   What to others think?

Incidentally, trailing commas in tuples have quite a different meaning. With TupleSections,  (a,,b,) means \x y -> (a,x,b,y).

Simon

| -----Original Message-----
| From: Simon Peyton Jones
| Sent: 23 September 2014 08:32
| To: 'Alexander Berntsen'; Johan Tibell
| Cc: ghc-devs at haskell.org
| Subject: RE: Permitting trailing commas for record syntax ADT
| declarations
| 
| | > have a language extension TrailingCommas (or something) to enable
| | > the extension
| | For clarification: are you overruling the "do we sneak it in HEAD or
| | use pragma(s)"-vote and telling me to do the latter?
| 
| Well, it *is* a language extension, exactly like lots of other language
| extensions, isn't it? (E.g. UnicodeSyntax.)  What alternative action,
| exactly, are you proposing?   Why do you propose to treat it differently
| to other language extensions?  I would be reluctant to simply add it
| without any indication; then GHC would accept non-Haskell 2010 programs.
| And we have not done that with other extensions.
| 
| Simon
| 
| |
| | If we can sneak it into HEAD (this is @ you Johan, too), I suggest
| | that someone applies my patches to make import and export lists
| | support leading commas (presently they only support trailing commas,
| | per the report) -- and following this I can just send a bunch of
| | "Permit leading/trailing ',' in Foo" patches to Phabricator, and you
| | guys can bikeshed over there about which ones you actually want to
| | commit. ;-)
| |
| | If I am to go down the pragma route, I guess I can make a
| | RudundantCommas pragma or something like that, that implements
| | trailing commas for imports/exports, and leading/trailing commas for
| | the suggestions in this thread.
| |
| | I'm +1 on the GHC HEAD route, but I'm not exactly violently opposed to
| | the pragma route either.
| | - --
| | Alexander
| | alexander at plaimi.net
| | https://secure.plaimi.net/~alexander
| | -----BEGIN PGP SIGNATURE-----
| | Version: GnuPG v2
| | Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
| |
| | iF4EAREIAAYFAlQhHRoACgkQRtClrXBQc7U0WAD+Ixdah2pHMoeLiTGQJf0JLwDR
| | I2dxYS7yaKyOHuHcUuEBAKh6RQmmpztz82yt/KCw0n2md3pf4n8yc5tt9s9k3FW3
| | =FfHX
| | -----END PGP SIGNATURE-----


More information about the ghc-devs mailing list