The Backpack patch.
[ghc.git] / testsuite / tests / backpack / should_compile / bkp09.bkp
1 {-# LANGUAGE RankNTypes, DatatypeContexts, CApiFFI, GADTs, TypeFamilies, DefaultSignatures, MultiParamTypeClasses, FunctionalDependencies, PatternSynonyms #-}
2
3 -- Reflexivity test, bang on the units with as much
4 -- stuff as we can.
5 unit p where
6     signature H where
7         data T a = MkT (S a)
8         data S a = MkS a
9
10 -- keept his synced up!
11 unit q where
12     signature H where
13         data T a = MkT (S a)
14         data S a = MkS a
15
16 unit r where
17     dependency p[H=<H>]
18     dependency q[H=<H>]
19     module M where
20         import H
21         x = MkT (MkS True)
22
23 unit h-impl where
24     module H where
25         data T a = MkT (S a)
26         data S a = MkS a
27
28 unit s where
29     dependency h-impl
30     dependency r[H=h-impl:H]