problem with hiding?

Sigbjorn Finne sigbjorn_finne@hotmail.com
Sat, 3 Mar 2001 20:21:54 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0084_01C0A41F.9666E100
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit


Johan Nordlander nordland@cse.ogi.edu writes:
>
>> Christian Sievers wrote:
>> Hello,
>>
>> there may be a bug with hiding imports.
>>
>> I tried to load Functional Metapost
>> (http://www.informatik.uni-bonn.de/~ralf/FuncMP.tar.gz)
>> and expected all sorts of problems as it is described to be written
>> in Haskell 1.4, but not this one:
>>
>> Prelude> :l FMPMain
>> [...]
>> ERROR FMPMain.lhs - Entity "space" imported from module "FMPPP"
>> already defined in module "FMPPicture"
>>
>> However, the file FMPMain.lhs contains the line
>> > import FMPPicture      hiding (text,empty,space)
>>
>> I cannot see what's goin here: simple tests with hiding worked well.
>> I'm using the Feb 2001 version.
>
>
> The reason this example doesn't work is because of the module
> FMPMpsyntax, which imports FMPPicture selectively, and then reexports
> FMPPicture in the module header.  Hugs doesn't implement this correctly,
> it reexports all identifiers of every module mentioned in its export list.

I've been bitten by this infelicity numerous times too, and started a while
ago to modify the sources so as to fix it, but never got around to
completing
the job. The above report caused me to finally do something about it, so
attached is a patch which fixes this problem for Hugs98 (wrt Feb 2001
sources.) Hopefully the patch is in a decent enough shape for it to
be included & that it will prove useful to others.

BTW, the FuncMP source code highlighted that the version of GHC used
to develop FuncMP didn't implement module re-exportation properly - I
had to tweak one of the modules (FMPMpsyntax) quite a bit to have it
work with Hugs98 (and ghc-4.08)

--sigbjorn


------=_NextPart_000_0084_01C0A41F.9666E100
Content-Type: application/x-gzip;
	name="module-patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="module-patch.gz"

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
g+yEWJzWRTd1k05al6NM/Ps/nBghoKIiAAA=

------=_NextPart_000_0084_01C0A41F.9666E100--