blob: 7d6f9e145523a98b989e3dbf635fd774da97ab85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
unit p where
signature H where
data T
f :: T
signature Y where
data Y
module M where
import H
x = f
unit impl where
module F where
data T = T
deriving (Show)
f = T
module H(T, f) where
import F
unit q where
dependency impl
dependency p[H=impl:H, Y=<Y>]
module X where
import M
import H
main = print (x :: T)
|