Я создаю простой модуль 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
?
Спасибо!