blob: ceacc8346be95f2aa98e6774542823c9c5121716 (
plain) (
tree)
|
|
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
module AssocTypes where
class Foo a where
type Bar a b
type Baz a
type Baz a = [(a, a)]
bar :: Bar a a
bar = undefined
instance Foo [a] where
type Bar [a] Int = [(a, Bool)]
type Bar [a] Bool = [(Int, a)]
type Baz [a] = (a, a, a)
|