haskell генерирует код оболочки экспорта FFI - PullRequest
7 голосов
/ 15 марта 2012

Я пишу некоторый код в haskell, который должен вызываться из C. Есть ли в Haskell инструмент или библиотека, упрощающая написание кода-обертки FFI для функций haskell, которые необходимо экспортировать.

Например, инструмент, которому была предоставлена ​​экспортируемая функция haskell, позаботится (сгенерирует код оболочки) о сопоставлении типов haskell с правильными типами Foreign.C и т. Д. По мере необходимости. Он также позаботился бы о создании правильных указателей при отображении типов [Int] и т. Д. Подобно тому, что здесь задает вопрос Автоматическое преобразование типов для вызовов FFI в Haskell . Но только доступен ли он как библиотека?

1 Ответ

1 голос
/ 18 марта 2012

Я написал для этого инструмент под названием Hs2lib . Если у вас Windows, вам повезло, он сделает все, включая компиляцию кода в dll и генерацию оболочек c / c ++ или c #. Если вы работаете в Linux, боюсь, я еще не выполнил этап компиляции, но он по-прежнему выдает необходимую информацию и заглушки. Вы можете сказать, чтобы сохранить их, используя флаг -T.

...