関数型プログラミング言語Haskell Part24
■ このスレッドは過去ログ倉庫に格納されています
0700696
2014/02/02(日) 23:19:48.44ありがとうございます。
そのやり方で、インスタンス毎にコンテキスト部分をかえることができました。
ついでに、ConstraintKinds や TypeFamilies を調べている特に、
次の方法でも似たようなことができる事が分かりました。
{-# LANGUAGE MultiParamTypeClasses, ConstraintKinds, TypeFamilies #-}
class C c p where
f :: (p t) = Int -> t
instance C A X where
f :: (X t) => Int -> t
f v = ...
instance C B Y where
f :: (Y t) => Int -> t
f v = ...
> 具体的にどういうコードでどういう推論が起こって欲しい?
今回挙げた例で言えば、
g :: (X t) => t
g = f 7
という使い方をすれば B の f ではなく、A の f だとみなされると嬉しいです。
■ このスレッドは過去ログ倉庫に格納されています