Re: module system/libraries bug

Ross Paterson <[email protected]>
Newsgroups gmane.comp.lang.haskell.hugs.bugs
Message-ID <[email protected]>
On Wed, Feb 04, 2004 at 10:32:56AM -0800, Iavor S. Diatchki wrote:
> i am having the following problem (just tried it with the current cvs 
> version, on linux)
> 
> > import Array
> > import ST hiding (bounds)
> >
> > test x = bounds x
> 
> ERROR "test.hs":4 - Ambiguous variable occurrence "bounds"
> *** Could refer to: Data.Array.Base.bounds Hugs.Array.bounds
> 
> I am not sure why ST is exporting "bounds" at all, but in any case
> the "hiding" clause of the import should prevent the conflict.
> a similar thing occurs with "indices", but then adding the "hiding"
> clause solves the problem.

Regarding the libraries part: the compatibility libraries in {Hugs}/oldlib
approximate the old interfaces by importing and re-exporting hierarchical
modules.  This is often imperfect, as here (there's a re-export of
Data.Array.ST, which re-exports Data.Array.MArray, which has a new
version of bounds).  But it would be too costly to maintain the exact
old interface -- people are encouraged to migrate to the hierarchical
libraries.  Sooner or later, the old library interface will disappear
from both Hugs and GHC.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.