импорт типов данных c++ в haskell с помощью ffi

Я пишу оболочку haskell для библиотеки C++, и, хотя я могу импортировать функции из библиотеки в свою программу haskell, я понятия не имею, как импортировать типы данных C++. Например, у меня есть функция, которая принимает в качестве параметра тип video::E_DRIVER_TYPE EDT_OPENGL, определенный в файле some.h, и, как я уже говорил, я знаю, как импортировать функцию с помощью ffi, используя

иностранный импорт ccall ...

с соответствующим искаженным компилятором именем функции

но я не могу вызвать функцию из haskell, потому что не могу понять, как импортировать/использовать этот конкретный тип данных видеодрайвера.

Теперь я знаю, что вы можете создавать типы в Haskell, но все же мне нужна отправная точка в отношении того, что определить тип для любого представления С++. (в этот момент я запутался)

Буду признателен за любую помощь! Спасибо


person Adam    schedule 05.12.2009    source источник
comment
Могу я спросить цель создания такой оболочки?   -  person Babra Cunningham    schedule 12.01.2017


Ответы (1)


Вызов C++ из Haskell довольно сложен; Интерфейс внешней функции Haskell Wiki/Cxx перечисляет некоторые параметры.

person ephemient    schedule 05.12.2009