の重複を避ける:は自分の型シグネチャを持つ関数を構築する - 私は、データ型定義されているコード
data Citizen = J11 String String | J12 String String
を、私は機能を書きたい:のgetName:
getName :: Citizen -> String
getName (J11 firstName lastName ) = firstName
getName (J12 firstName lastName ) = firstName
はそれが可能ですそれがJ11かJ12かによってコードが重複しないようにするには?型署名を変更することなく?あなたの例のように、このよう..something
getName (XXX firstName lastName ) = firstName
...シンプル右側の場合
Nope。それが理にかなっていれば、データ型をCitizenTypeとCitizenに分割することができます。 –