Рассмотрим Haskell тип данных, который выглядит как этотПопутный-структуры, как данные между C и Haskell через FFI
data MyData = MyData { arrInt :: [Int] , arrDouble :: [Double], arraySize :: N }
Здесь N представляет размеры обоих массивов рекорд MyData.
Возможно ли передать этот (или какой-либо указатель «Haskell» объекта MyData) функции C, которая выглядит так.
int myfunc (int* a, double* b, int N)
Я могу использовать FFI для вызова функций C прием и возврат простых datat-типа, такие как распашные, Int, Char и т.д. Но для более сложных типов я не знаю, что делать.
Будет ли подпрограмма C модифицировать два массива? – chi
@chi Нет. По крайней мере, не для приложений, которые я имею в виду. – smilingbuddha