将 Haskell 程序作为 C 源代码分发

2023-12-26

假设我有一个 Haskell 程序或库,我想让非 Haskell 人员(可能是 C 程序员)访问它。我可以使用 GHC 将其编译为 C,然后将其作为 C 源代码分发吗?

如果可能的话,有人可以提供一个最小的例子吗? (例如,Makefile)

是否可以使用 GHC 自动确定所需的编译器标志和标头,然后将其捆绑到单个文件夹中?

基本上,我感兴趣的是能够用 C 和 Haskell 编写部分程序,然后将其作为 tarball 分发,但不需要目标安装 GHC 和 Cabal。


我感兴趣的是能够用 C 和 Haskell 编写部分程序,然后将其作为 tarball 分发,但不需要目标安装 GHC 和 Cabal。

您需要大量的基础设施,但您不太可能找到。请记住任何 Haskell 程序,即使要编译为 C,几乎肯定会依赖于大型、复杂的运行时系统以确保其正确运行。至少,运行时系统必须支持垃圾收集和惰性求值。所以你遇到的不仅仅是翻译问题。

我建议您将这个问题作为软件分发问题来解决。为您喜欢的分发平台(Debian、Red Hat、InstallShield 等)提供一个软件包,而不是 tarball。就我个人而言,为了重用其他人的成果,我的目标是检查 Cabal,在需要时安装 Cabal,然后使用 Cabal 安装用户需要的其余内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Haskell 程序作为 C 源代码分发 的相关文章

随机推荐