Well, for your example frustration, the leading comma style would sort your 
problem nicely. As for the particulars… hmm, not sure. I use leading commas for 
both, so I never really noticed.

It may be that since modules simply expose functions to other programs, the 
form is syntactically irrelevant except when the module is being loaded.

I am quite curious about it now, though, so I hope there are some more 
knowledgeable folks with some input.

On Jul 11, 2011, at 4:49 AM, L Corbijn wrote:

> Hello,
> 
> I'm wondering why the trailing comma is allowed in export syntax, but not in 
> record syntax, here an example
> module Foo (
>     export1, -- is allowed
> ) where
> 
> data Type = Type  {
>     record1 :: Foo, -- is not allowed
> }
> 
> To me this seems quite inconsistent and sometimes quite frustrating, imagine 
> the case that you want to temporarily remove the last record:
> data Type = Type  {
>     record1 :: Foo,
> --    record2 :: Bar
> }
> this would fail due to an extra comma that has to be commented out. 
> 
> You could of course say that I'm using a bad style, but it remains that it 
> seems to be inconsistent to allow a trailing comma in one place and not in 
> the other. So is there an reason for this?
> 
> Lars Corbijn
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe


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

Reply via email to