kakkun61
higher kinded data の使いどころかと思ったけど微妙に babies とは違う型クラスができた……
これ ↓ を
こう ↓ したかった
barbies だとこう ↓ なる
-- barbies class FunctorB (b :: (k -> Type) -> Type) where bmap :: (forall a . f a -> g a) -> b f -> b g -- 自作 class FunctorB b where bmap :: (Functor f, Functor g) => (forall a. f a -> g a) -> b f -> b g
これ ↓ を
data Foo = Foo [(Bar, Buzz)]
こう ↓ したかった
data Foo f = Foo (f [f (f Bar, f Buzz)])
barbies だとこう ↓ なる
data Foo f = Foo (f [(bar, Buzz)])