Solve the problem in ghci : attempting to use module ... which is not loaded
I am reading Learn you a Haskell for great Good and I faced the problem of "attempting to use module ... which is not loaded" when I am at the end of chapter module, finally I got the solution on it
- Load the source code
- Set the module to Prelude
- Import the modules
Compile the source code into the GHCI
*Geometry.Cuboid> :l Geometry/Cube.hs Geometry/Sphere.hs [1 of 3] Compiling Geometry.Cuboid ( Geometry/Cuboid.hs, interpreted ) [2 of 3] Compiling Geometry.Cube ( Geometry/Cube.hs, interpreted ) [3 of 3] Compiling Geometry.Sphere ( Geometry/Sphere.hs, interpreted ) Ok, modules loaded: Geometry.Sphere, Geometry.Cuboid, Geometry.Cube.
Change back the current module in the GHCI to Prelude, by default the last module loaded becomes the current module.
*Geometry.Cube> :module Prelude
Import the modules we just loaded in the GHCI, and you can see the qualified name of the module will be append into the namespace.
Prelude> import qualified Geometry.Sphere as Sphere Prelude Sphere> import qualified Geometry.Cuboid as Cuboid Prelude Sphere Cuboid> import qualified Geometry.Cube as Cube Prelude Sphere Cuboid Cube>