値を指定して、この値のコンストラクターの数を計算するメソッドを使用して、型クラス Size を作成したいと考えています。
class Size a where
size :: a -> Int
instance Size Int where
size a = 1
instance Size Bool where
size b = 1
instance Size (c,d) where
size (c,d) = 1 + Size c + Size d
example4 :: (Bool,(Int,Bool))
example4 = (True,(3,False))
main :: IO ()
main = do
print (size example4)
値 5 が返されるはずですが、エラー Message が表示されますNot in scope: data constructor `Size'
。
Size Int
インスタンスでorSize Bool
を使用したいのですSize(c,d)
が、方法がわかりません。
私の問題は、私が Haskell にかなり慣れていないため、どうすれば修正できるかわからないことです。