我试图在我的C代码中使用
Haskell库.我试图使用的Haskell函数的类型为String – > IO [参考]其中Reference是一个相当复杂的结构(见
here for details).
基于阅读各种文档,似乎我必须使这种类型是Storable的一个实例,并且还有一个类似的结构,在我的C代码中定义,以便能够访问它.对于这样一个复杂的类型来说,这似乎是很多非常重复的工作.有没有办法自动化这个?如何做这样的事情呢?
解决方法
这取决于你的实际用例,但…
将Reference引用为不透明类型(通过 Foreign.StablePtr)可能更容易,并导出getter函数以访问各个字段.
将Reference引用为不透明类型(通过 Foreign.StablePtr)可能更容易,并导出getter函数以访问各个字段.
如果您需要更多详细信息,请通知我,我会扩大答案.