在haskell中导入模块

时间:2014-06-09 21:48:02

标签: haskell ghc ghci

我创建了一个小模块,我想在我的程序中使用它。我可以在程序中导入它并使用它。但是,我无法在ghci中导入它。这导致了很多问题,因为我无法以交互方式测试我想要的东西。

基本上,我是从这里创建Geometry.hs(http://learnyouahaskell.com/modules#making-our-own-modules)并尝试在我的程序中导入它。如果我在ghci中做同样的事情,那就没有。我从Geometry.hs所在的同一目录运行ghci。

这是我的计划。

import Geometry
main = putStrLn $ show $ Geometry.sphereVolume 1

我尝试在ghci中执行相同的行并得到此错误 -

<no location info>:
    Could not find module `Geometry'
    It is not a module in the current program, or in any known package.

1 个答案:

答案 0 :(得分:1)

为了使我们在Haskell标签上保持答案问题的比例很高,解决方案是使用GHCi中的:load:l指令将源文件加载到当前目录中。正如@Zeta所述,可以在http://www.haskell.org/ghc/docs/latest/html/users_guide/interactive-evaluation.html#ghci-scope

找到包含更多详细信息的文档