如何在Haskell的inline-c中从C块获取列表或数组?换句话说,如何在C中构造复杂数据并在Haskell中使用它。 像这样:
foo :: IO [Int]
foo = do
what? <- [C.block| <what?> {
ints = calloc(10, sizeof(int));
// ...
return <what?>;
} |]
return <what?>
我可以在一些Haskell类型中包装指针和大小,但我想在Haskell中使用列表,打印它,用JSON编码等等。