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