Scoping bug in module system implementation

Iavor Diatchki iavor.diatchki at gmail.com
Sun Feb 11 22:30:12 EST 2007


Hello,
Consider the following two modules:

> module A where x = True

> module B where
> import A
> x = 'a'
> test = let x = "" in x

Upon loading "B", Hugs (Sept 2006) erroneously reports:
Ambiguous variable occurrence "x"
*** Could refer to: B.x A.x

The variable "x" in the definition of "test" refers to the locally
defined "x", and not the top-level name, so there is no ambiguity.

-Iavor


More information about the Hugs-Bugs mailing list