Есть ли способ подключить функцию Haskell типа
myFFI :: (C a) => String -> IO a
(где C
- это некоторый класс типов, описывающий типы переменных, которые я могу импортировать) в GHC как схему FFI, чтобы я могнапишите в моей программе на Haskell такие вещи, как
foreign import myFFI "foo" foo :: T1 -> T2
, которые компилируются в вызов foo = unsafePerformIO $ myFFI "foo" :: T1 -> T2
?
Я думаю, что это можно сделать, изменив GHC, но есть ли способэто через плагин я могу написать, не касаясь собственно кодовой базы GHC?