関数型プログラミング言語Haskell Part13
■ このスレッドは過去ログ倉庫に格納されています
0129デフォルトの名無しさん
2010/11/01(月) 19:58:16その型変数もシグネチャに取り入れた関数を定義したいです。
次のようなイメージの型クラスです。
class P (p a) where
ext :: p a -> a
で、次のようなデータ型を用意し
data Test a = T (a, a)
次のようにインスタンスを宣言したい。
instance (Num a) => P (Test a) where
ext (T (x, y)) = x + y
しかしこれでは型クラスの定義の class P (p a) where の所でエラーが出ます。
Type found where type variable expected
本来 class P のすぐ後には型変数が来るべきですが (p a) と書かれていて、
型変数が書かれていないといった旨のエラーだと思います。
このようーな型クラスは作れるのでしょうか。
作れるのなら、どのような方法で作れるでしょうか。
■ このスレッドは過去ログ倉庫に格納されています