logo       

RE: special handling of "Main.hs" contradicts Report: msg#00053

lang.haskell.glasgow.bugs

Subject: RE: special handling of "Main.hs" contradicts Report


> The problem comes when I try to import the module.
> Note:
> tests $ cat X.hs
> module X where t1 = t1
>
> tests $ cp X.hs Main.hs
>
> tests $ ghc -c X.hs Main.hs
>
> tests $ ghc --show-iface X.hi
> __interface "Main" X 2 where
> __export X t1;
> import GHC.Base ! :: 1;
> import Foreign.Ptr !;
> ;
> 1 t1 :: forall t. t;
> (1, [])
>
> tests $ ghc --show-iface Main.hi
> __interface "Main" Main 5 where
> import GHC.IOBase :: 1;
> import GHC.TopHandler :: 1;
> import GHC.Base ! :: 1;
> import Foreign.Ptr !;
> import System.IO :: 1;
> ;
> 1 ($main) :: GHC.IOBase.IO ();
> (1, [])

You shouldn't have a Main.hi at all: it must be left over from a
previous compilation of a Main module. The interface filename always
follows the module name (unless you've used any obscure flags), not the
source filename.

Cheers,
Simon


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise