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