Sto scrivendo una patch open source per utilizzare una libreria di font, ovvero i collegamenti haskell a una libreria di font in C (FTGL). Sto indicando il tipo di carattere in una delle strutture di dati, che è definito come segue:Istanza dati Haskell per tipo di dati opaco
type Font = Ptr Font_Opaque
data Font_Opaque
Purtroppo, per adattarsi alla struttura dei dati della biblioteca che sto patch, questo tipo ha bisogno di essere un'istanza di Data. Ptr lo è già, ma Font_Opaque ovviamente non lo è, quindi il compilatore si lamenta.
Poiché è un tipo opaco non so come procedere ... come implementare Data Font_Opaque in modo più o meno ragionevole? C'è un modo sensato?
Si potrebbe provare 'derivare istanza Data Font_Opaque' (abilitare prima l'estensione' StandaloneDeriving') e quindi (se GHC può derivare) esaminare l'istanza con '-ddump-deriv'. –