是否有可能在C语言中完成所有数据编组工作,直接生成代数数据类型并将其推回到Haskell领域?我想要避免通过创建一个中间的C API/结构体布局来做两次工作(和数据复制),然后还需要通过Storable接口在Haskell中进行编组。
我正在处理来自功能DSL的第三方数据编组系统,该系统通过调用一组C函数指针回调来重现抽象语法树,以将其内部结构映射到用户定义的类型。
foreign export
导出您要调用的函数。这里提供了一个介绍:https://www.haskell.org/haskellwiki/Calling_Haskell_from_C