Piszę łatę open source, aby korzystać z biblioteki czcionek lub raczej z powiązań haskell z biblioteką czcionek w C (FTGL). mam wskazujące na rodzaj czcionki w jednej ze struktur danych, które można określić następująco:Instancja Haskell Data dla nieprzezroczystego typu danych
type Font = Ptr Font_Opaque
data Font_Opaque
Niestety, aby pasowały do struktury danych biblioteki Mam łatanie tego typu musi być instancja o numerze Data. Ptr już istnieje, ale Font_Opaque oczywiście nie jest, więc kompilator narzeka.
Ponieważ jest to typ nieprzezroczysty, nie jestem pewien, jak postępować ... jak zaimplementować Data Font_Opaque w bardziej lub mniej sensowny sposób? Czy istnieje rozsądny sposób?
Możesz wypróbować 'wyprowadzenie instancji Data Font_Opaque' (najpierw włączyć rozszerzenie' StandaloneDeriving'), a następnie (jeśli GHC może wyprowadzić) spojrzeć na instancję za pomocą '-ddump-deriv'. –