我创建了一个简单的模块,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
包完成同样的事情?
谢谢!