我想在Haskell项目中使用外部库RDFox。如何在Haskell项目中使用DLL?
上下文:我正在使用GHC 7.10和stack这两个64位的Windows和Linux。 RDFox在C++中编程。可以使用Java和Python包装下载RDFox共享库(.dll,.so)。
目标:我想在我的Haskell项目中重用RDFox(.dll,.so)编译的库,所以我需要为RDFox创建一个Haskell包装器。
问题: Haskell相对较新,我很难知道从哪里开始。我找到了几个关于这个主题的页面(来自Haskell wiki和StackOverflow),但工作流程和配置对我来说并不明确。
问题:我想知道:
- 如何堆叠和小集团配置为使用外部库,建立在Windows 或 Linux操作系统(不同的机器,不同的版本库)。
- 如何在此外部库上配置GHCi以进行交互式测试。
- 翻译Python包装到Haskell是最好的方法吗?我想避免分析RDFox C++代码。
首先您可能需要为C++ api创建一个C导出包装。 – alternative
是不是可以直接在Haskell中创建包装?我的意思是,如果我必须创建一个C封装器,然后创建一个Haskell封装器,那有什么意义? –
C++中的命名约定比C中的命名约定复杂得多。我不认为FFI支持非外部C事件的名称修改。 – alternative