Qualified identifiers opinion

Stefan O'Rear stefanor at cox.net
Fri Aug 17 14:44:39 EDT 2007


On Fri, Aug 17, 2007 at 12:53:11PM +0200, Christian Maeder wrote:
> Hi Isaac,
> 
> just to give you a reply at all, see below. I reply
> glasgow-haskell-users at haskell.org since I'm not subscribed to
> haskell-prime. And I don't want to subscribe, because I'm more
> interested that Haskell becomes more stable (and standard). So here is
> my opinion:
> 
> 1. The lexer should recognize keywords.
> 
> 2. I would not mind if Haskel98 rejected all keywords that are also
> rejected by extensions, so that the lexer is extension independent.
> (Starting with Haskell98, removing conflicting identifiers as soon as I
> switch on valuable extensions does not make sense.)
> 
> 3. I'm against qualified identifiers, with the unqualified part being a
> keyword like "Foo.where". (The choice of qualification should be left to
> the user, usually one is not forced to used qualified names.)
> 
> 4. However, "Foo.where" should always be rejected and not changed to
> "Foo.wher e"! (Longest matching, aka "maximal munch", must not consider
> keywords!)
> 
> (see end of: http://www.haskell.org/onlinelibrary/lexemes.html#sect2.4)
> 
> I would not mind if a name "F. " is plainly rejected. It only makes
> sense, when a data constructor is the first argument of the composition
> operator "(.)"
> 
> Maybe "." and "$" as operators should require white spaces on both
> sides, since "$(" also indicates template haskell.

What's wrong with the status quo?  Our current lexical rules *seem*
complicated to newbies, but just like everything else in Haskell it
carries a deep simplicity; having only one rule (maximal-munch) gives a
certain elegance that the proposals all lack.

I'd hate to see Haskell become complex all the way down just to fix a
few corner cases; I see this pattern of simplicity degerating through
well-intentioned attempts to fix things all over the language...

Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20070817/79c0c437/attachment.bin


More information about the Glasgow-haskell-users mailing list