我创建了一个简单的模块TestModule.hs
,其中包含一个导出的顶级定义testval = 2
。我编译它,创建TestModule.o
和TestModule.hi
。我删除 TestModule.hs
。然后我在TestModule.o
中加载ghci
,如下所示:
~ λ ghci TestModule.o
GHCi, version 7.0.3.20110517: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Loading object (static) TestModule.o ... done
final link ... done
Prelude>
如您所见,TestModule
不在范围内,我无法访问testval
。为什么?如何在不访问源文件的情况下完成此操作?
其他问题:如何使用hint
包完成同样的事情?
谢谢!