4
を使用してconstrained data typeを宣言できますか?私の試みレコード構文を使用して制約付きデータ型を宣言できますか?
data ConstrainedRecord a where
ConstrainedRecord :: Num a => { first :: a, second :: a }
"レコードの構文はここでは違法です"。
を使用してconstrained data typeを宣言できますか?私の試みレコード構文を使用して制約付きデータ型を宣言できますか?
data ConstrainedRecord a where
ConstrainedRecord :: Num a => { first :: a, second :: a }
"レコードの構文はここでは違法です"。
はい、しかしGADT syntaxに、あなたは常に明示的にコンストラクタの戻り値の型を指定する必要があります。
(また、これは便利来るかもしれない:
StandaloneDeriving
を使用して
deriving instance (Show a) => Show (ConstrainedRecord a)
、正常なので、 deriving
は機能しません)