Я пишу патч с открытым исходным кодом, чтобы использовать библиотеку шрифтов, а точнее привязки haskell к библиотеке шрифтов в C (FTGL). Я указывает на тип шрифта в одной из структур данных, которая определяется следующим образом:экземпляр Haskell Data для непрозрачного типа данных
type Font = Ptr Font_Opaque
data Font_Opaque
К сожалению, чтобы вписаться в структуру данных библиотеки я Patching, этот тип должен быть экземпляр Data. Ptr уже есть, но Font_Opaque явно нет, поэтому компилятор жалуется.
Как это непрозрачный тип, я не уверен, как действовать ... как реализовать Data Font_Opaque более или менее разумным способом? Есть ли разумный путь?
Вы можете попробовать «получить экземпляр Data Font_Opaque» (сначала включить расширение 'StandaloneDeriving'), а затем (если GHC может получить) посмотреть экземпляр с' -ddump-производным'. –