![]() |
1
3
我通过编译haskell共享lib(在haskell外部称为lib)来广泛地利用这一点。 通常所涉及的任务是
这些任务是相当机器人化和结构化的,以至于你可以写一些东西来自动化它们。事实上,我用我自己来做的是一个工具,它创建了对你标记的函数进行依赖跟踪,并将它们打包并编译共享库,并给出C/C++中的声明。
|
![]() |
2
5
http://www.haskell.org/haskellwiki/Calling_Haskell_from_C 我想说,如果有一些令人信服的理由使用C作为前端(例如,你有一个遗留的应用程序),并且你真的需要Haskell库,或者出于其他原因想使用Haskell,那么,是的,去做吧。主要的风险是没有很多人这么做,所以比起用另一种方式来调用,文档和示例更少。 |
![]() |
3
4
您也可以在C中嵌入OCaml(参见 the manual |
![]() |
4
4
我相信最好的方法,即使GUI和逻辑都是用同一种语言编写的,也是运行两个进程,通过一个可读的、基于文本的协议(某种DSL)进行通信。这种架构也适用于您的案例。
|
![]() |
5
2
这个主意一点也不可怕。但正如唐·斯图尔特所说,这可能是一条不那么受人践踏的道路。当然,您可以以Haskell或OCaml的形式启动程序,然后让它在启动门外执行一个外部函数调用,我建议您以这种方式构造代码,但这不会改变这样一个事实:从Haskell调用C的人比从C调用Haskell的人多。OCaml也是如此。 |
![]() |
Devang Sanghani · 柏树检查线通过 2 年前 |
![]() |
Brendan · 如何在Flatter中创建圆形化身周围的虚线边框 2 年前 |
![]() |
Shadow43375 · 当前可见的视口部分是否有官方术语? 6 年前 |
![]() |
HyperQBE · 如何在pyqt MessageBox中使用变量 6 年前 |
![]() |
Lord Jesus · 如何添加“HH:mm:ss”格式的秒表? 6 年前 |