summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/indexed-types/should_compile/ColInference2.hs
blob: 9785d717a790a46601bca7dea7b57205f047c965 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{-# LANGUAGE TypeFamilies #-}

module ColInference  where 

type family Elem c

type instance Elem [e] = e

class Col c where
 isEmpty   :: c -> Bool
 add       :: c -> Elem c -> c
 headTail  :: c -> (Elem c,c)

sawpOne c1 c2 
	= let (x,c1') = headTail c1
              (y,c2') = headTail c2
	  in (add c1' y,add c2' x)