Lazy conflict reports

Ralf Hinze ralf@informatik.uni-bonn.de
Fri, 19 Oct 2001 10:11:29 +0200


I am not sure whether this has been reported before. At least, it's
not listed on

http://www.cse.ogi.edu/PacSoft/projects/Hugs/pages/bugsandfeatures.htm

---

Hugs doesn't implement the lazy conflict reports. Thus, if you define

	module A where
	head = ":-)"

then hugs complains

	Definition of variable "head" clashes with import

The clash shouldn't be reported as there is no ambiguous *use*
of `head'.  If we change module `A' to

	module A where
	import Prelude hiding (head)
	head = ":-)"

then everything works as expected. However, if we import `A' then
the error shows up again

	module B where
	import A
	yo = 1

	Entity "head" imported from module "A" already defined in module "Prelude"

Several on my programs rely on this Haskell feature, so this is
a continuous stumbling block ...

Cheers, Ralf