You are hitting this problem because the "base" and "haskell98" packages really do provide overlapping functionality. The Haskell 98 standard specifies a few core modules and gives them very simple names, like "Maybe" and "Time". Modules with these names are provided by haskell98 [1]. By default, GHC provides the base package instead, which uses hierarchical names, like "Data.Maybe" and "System.Time". But both packages provide a module named "Prelude". I think that in practice, this kind of conflict is quite rare. The quick fix for your situation is probably to add the flag "-hide-package base" to your command-line [2]. You could also write a cabal file for this program - when building with cabal, all packages are hidden by default unless explicitly listed. -Karl 1: http://hackage.haskell.org/package/haskell98 2: http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/packages.html On Fri, Sep 6, 2013 at 2:12 AM, Dimitri Hendriks <diem@xs4all.nl> wrote:
Hi,
I have ghc version 7.6.3. I am trying to compile some code (not mine) with
$ ghc --make Main
and get the message:
Could not find module `Time' It is a member of the hidden package `haskell98-2.0.0.2'.
Then I tried:
$ ghc -package haskell98-2.0.0.2 --make Main
resulting in
Ambiguous module name `Prelude': it was found in multiple packages: base haskell98-2.0.0.2
At this point I am stuck. How do I load the right packages without introducing ambiguities?
Thanks!
Greetings, Dimitri _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners