【发布时间】:2015-05-04 09:33:38
【问题描述】:
我正在编写一个开源补丁来使用字体库,或者更确切地说,将 haskell 绑定到 C (FTGL) 中的字体库。 我指的是其中一种数据结构中的 Font 类型,其定义如下:
type Font = Ptr Font_Opaque
data Font_Opaque
不幸的是,为了适应我正在修补的库的数据结构,这种类型需要是Data 的实例。 Ptr 已经是,但 Font_Opaque 显然不是,所以编译器会抱怨。
由于它是一种不透明的类型,我不知道如何继续......如何以或多或少的方式实现 Data Font_Opaque?有没有明智的方法?
【问题讨论】:
-
您可以尝试
deriving instance Data Font_Opaque(先启用StandaloneDeriving扩展)然后(如果GHC 可以派生)使用-ddump-deriv查看实例。