In section 5.5.1 the report states that a top-level declaration brings 
into scope qualified and unqualified names. Thus, the following 
declaration is legal:

  module Foo where
    ones = 1 : Foo.ones

However, in section 2.4 the report says "External names may optionally be 
qualified in certain circumstances by prepending them with a module 
identifier." And also in section 3.2 the report says "Qualified names may 
only be used to reference and imported variable or constructor", from 
which the above program would not be legal (because Foo.ones is not an 
imported constructor or variable).

In order to make the report consistent, I would suggest to change the 
section 3.2 to say:
"Qualified names may be used to reference variables or constructors 
which are imported from other modules or defined at the top level."

In section 2.4, the word "External" should be dropped from the 
sentence.

Wolfgang



--
Wolfgang Lux                              Phone: +49-251-83-38263
Institut fuer Wirtschaftinformatik          FAX: +49-251-83-38259
Universitaet Muenster                 Email: [EMAIL PROTECTED]



_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to