aboutsummaryrefslogtreecommitdiff
path: root/hoogle-test/src/assoc-types/AssocTypes.hs
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)