我能够通过包含标准数据类型的FFI导出简单的haskell函数。但是,我不知道如何导出采用标准数据类型以外的数据类型的函数。
E.g。
data SomeType a = SomeType a
data SomeOtherType b = SomeOtherType b
doSomething:: SomeType a -> SomeOtherType b
如何导出功能doSomething?
现有文件谈到了非常简单的例子。
答案 0 :(得分:2)
另一种方法是将函数提升为使用StablePtr,并使用StablePtr导出函数。当然,正如上面的答案所指出的那样,你可以使用带有cane导出实例的函数。
使用像H / Direct这样的代码将这些代码转换为c ++对象,以便可以作为对象进行访问,这将是很棒的。
答案 1 :(得分:1)