У меня есть следующий код, который пытается скомпилировать и напечатать простое выражение во время выполнения, вызвав GH C API:
module Main where
import GHC
import GHC.Paths as GHP
import GHC.Types
import GHC.Prim
main :: IO ()
main = do
val <- GHC.runGhc (Just GHP.libdir) $ GHC.compileExpr "HelloWorld"
putStrLn $ show val
Когда я пытаюсь запустить его, либо с помощью первой компиляции, либо непосредственно в GHCI происходит сбой с ошибкой во время выполнения:
Не удалось загрузить интерфейс для 'GH C .Types'
нет идентификатора устройства, соответствующего 'gh c -prim 'был найден
Что мне нужно сделать, чтобы избежать этой ошибки?
Я пробовал с GH C 8.6 и 8.8, и оба столкнулись с проблемой. Я запускаю его в новом стековом проекте с установленными только ghc
, ghc-prim
и ghc-paths
.