blob: 3fa5f034711ce194d70fc2e2e7e94beacfbd384f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
{-# LANGUAGE Haskell2010 #-}
{-# 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)
|