连接到系统GHC

Min*_*oru 12 haskell ghc

我知道GHC API授予我作为库的用途,访问编译器功能,例如分析,运行和转换Haskell代码.将GHC作为包导入的Haskell程序在编译时将包含其自己的(部分)GHC副本,因此即使在没有安装GHC的系统上也可执行.

但是,如果我不想将GHC包含在程序中,而是使用系统上安装的GHC,该怎么办?

因此,当程序被赋予Haskell代码时,它将使用系统的GHC来理解它,并在必要时导入所有的包和库(GHCi上可用的那些).

  1. GHC(安装在不同系统上)是否提供这样的API?
  2. 如果是这样,系统文档资源是否也提供类似的东西?(我可以从Haskell代码中选择一个函数,然后查看类型签名,使用信息等.)

scl*_*clv 2

您可以要求最终用户安装BuildWrapperscion,然后以编程方式与它们进行交互。如果您不想强制用户安装它们,您可以将他们的代码与可执行文件捆绑在一起,并让可执行文件调用系统 GHC 来自行构建它们。