Я уверен, что можно отправлять массивы через FFI, но я не могу найти примеров. Например, у меня есть массив Haskell, который я отправляю в функцию int foo(int*)
, или у меня есть массив C int bar[64];
, который я отправляю в Haskell.
В идеале я бы хотел наиболее эффективный способ - я не хочу, чтобы было выделено кучу или ненужное копирование. Кроме того, было бы неплохо, если бы я мог использовать Haskell unboxed массивы как в Haskell, так и в C. Так какой же способ?