3
data Mine = Firstname String
          | Lastname String
          deriving (Show, Serialize)

这不会编译并给出错误

Not in scope: type constructor or class `Serialize'

为什么这不被视为 Serialize 类的成员,尽管它是 Show 类的成员。我认为 Show 类的所有成员都应该毫无问题地序列化?

4

2 回答 2

7

该错误表示Serialize类型类不在范围内。您需要导入定义类型类的包才能使用它。你可能想要:

import Data.Serialize

麦片包装。

于 2012-12-19T14:57:29.100 回答
3

如果您确实想为您的类自动派生 Serialize,您可以这样做:

{-# LANGUAGE DeriveGeneric #-}

import Data.Serialize (Serialize)
import GHC.Generics (Generic)

data Mine = Firstname String
          | Lastname String
          deriving (Show, Generic)

instance Serialize Mine
于 2012-12-19T16:48:59.190 回答