Rob*_*lan 6 user-interface ocaml haskell
在Haskell和OCaml中,都可以从C程序调用语言.为广泛使用这种技术的Windows,Mac或Linux创建Native应用程序有多可行?
(我知道有像wxHaskell这样的GUI库,但是假设有人希望只用外语获得一部分应用程序逻辑.)
或者这是一个可怕的想法?
嗯,主要风险是虽然设施存在,但它们没有经过良好测试 - 很多应用程序都没有这样做.从C调用Haskell应该不会有太多麻烦,看起来很简单:
http://www.haskell.org/haskellwiki/Calling_Haskell_from_C
我会说如果有一些令人信服的理由在前端使用C(例如你有一个遗留的应用程序)并且你真的需要一个Haskell库,或者出于其他原因想要使用Haskell,那么,是的,去吧.主要的风险就是没有很多人这样做,所以文档和示例少于调用其他方式.
我通过编译在 Haskell 外部调用的 haskell 共享库来广泛利用这一点。
通常涉及的任务是
这些任务相当机械化且结构化,以至于您可以编写一些东西来自动化它们。事实上,我自己使用的是我创建的一个工具,它对您标记为导出的函数进行依赖项跟踪,它会将它们包装起来并为您编译共享库,同时为您提供 C/C++ 中的声明。
(不幸的是,这个工具还没有被破解,因为在我愿意这样做之前,我仍然需要修复和测试更多的东西)
工具可在此处获取http://hackage.haskell.org/package/Hs2lib-0.4.8