List syntax (was: Re: help from the community?)

Douglas Philips dgou at
Fri Feb 2 18:34:45 EST 2007

On 2007 Feb 2, at 1:03 PM, Neil Mitchell indited:

>> The argument that a trailing comma "means" "the programmer forgot the
>> last item" in a list / tuple is
>> inconsistent with the deliberately explicit permissiveness of a
>> trailing comma in the import / export lists.
>> In the import / export lists such a trailing comma does not mean
>> "programmer forgot additional thing at the end."
> An import list is not a value, you can't examine whats in the list,
> you can't enumerate it etc. As such, it doesn't really matter how many
> elements are in there, the important thing is what the elements are.

I don't know enough about it, but mightn't Template Haskell disagree  
on that point?
Or any other source-level manipulators? (perhaps that shouldn't be a  

> A real list/tuple IS a value. A 3 element tuple is completely
> different from a 4 element tuple.

I don't dispute that.

> Thats the difference, there is a real semantic difference - its not a
> case of inconsistency.

> Personally I'd make the rule that trailing commas are never allowed,
> anywhere, but I do see an argument for adding them to import lists.

You just highlighted the inconsistency:
	You refer to "import lists"... you appear to think of the import  
syntax _as a list_,
and it is precisely that mental processing where the inconsistency  
If it is an "import" _list_ it can have trailing commas, but if it is  
some <other> _list_, it can't.
I don't see the justification for making those two cases different.


More information about the Haskell-prime mailing list