summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci/scripts/T7939.hs
blob: fbdf883b51c4c693e7c971c44ae3389a59e6e6a9 (plain)
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
26
27
{-# LANGUAGE TypeFamilies, PolyKinds, DataKinds, TypeOperators #-}

module T7939 where

class Foo a where
   type Bar a b

type family F a
type instance F Int = Bool

type family G a where
  G Int = Bool

type family H a where
  H False = True

type family J a where
  J '[] = False
  J (h ': t) = True

type family K a where
  K '[] = Nothing
  K (h ': t) = Just h

type family L (a :: k) (b :: *) :: k where
  L Int Int = Bool
  L Maybe Bool = IO