[Hugs-users] Hugs98-plus-Sept2006

dfeustel at mindspring.com dfeustel at mindspring.com
Sat Dec 9 20:10:52 EST 2006


> On Sat, Dec 09, 2006 at 05:23:34PM -0600, Mark Hills wrote:
> > [patient explanation of how Hugs finds hierarchical modules]
> >
> > I only have two files named Prelude.hs, the one under base and the one
> > under hugsbase. The one under base simply wraps the one under hugsbase
> > (it imports it at the end), I'm assuming to allow the definitions to be
> > Hugs-specific (since they use primitives) while still providing a
> > standard location for the Prelude, in case you want to run your programs
> > using a different Haskell system like GHC.
> 
> Another reason for a separate Hugs.Prelude is that it exports some
> extra things.  This is because Haskell 98 has the Prelude and some
> other library modules import each other, and Hugs does not support
> mutually recursive modules,

I ran into the mutual recursion error when I attempted to load the GS.hs
provided for _The Haskell Road..._. The term generating the error was
'case' although there was no instance of that word in GS.hs. I still
have a lot to learn about how Hugs works.

Dave
 
>                             so it simulates it by having the Prelude
> and the other modules import another module with the real definitions
> (Hugs.Prelude).  Also, Prelude.hs is shared code with GHC, except for
> the imports (courtesy of cpp).


More information about the Hugs-Users mailing list