我知道GHC API授予我使用as a library,访问编译器功能,例如分析,运行和转换Haskell代码。将GHC作为包导入的Haskell程序在编译时将包含其自己的(部分)GHC副本,因此即使在没有安装GHC的系统上也可执行。
但是,如果我不想在程序中包含GHC,而是使用系统上安装的GHC,该怎么办?
因此,当程序被赋予Haskell代码时,它将使用系统的GHC来理解它,并在必要时导入所有的包和库(GHCi上可用的那些)。
答案 0 :(得分:2)
您可以要求最终用户安装BuildWrapper或scion,然后以编程方式与这些用户进行交互。如果您不想强制用户安装它们,您可以将其代码与可执行文件捆绑在一起,并让可执行文件调用系统GHC来自行构建它们。