我需要为数据派生Eq,但对于某些构造函数,我想忽略一些字段。数据用于表示 DataTypes(我们正在开发一个编译器):
data DataType
= Int | Float | Bool | Char | Range | Type
| String Width
| Record (Lexeme Identifier) (Seq Field) Width
| Union (Lexeme Identifier) (Seq Field) Width
| Array (Lexeme DataType) (Lexeme Expression) Width
| UserDef (Lexeme Identifier)
| Void | TypeError
deriving (Ord)
我需要从它出现的每个构造函数中忽略该Width
字段。