summaryrefslogtreecommitdiff
path: root/tests/functor.lac
blob: 7d2983e01b4cf39790685a1eed2c6cbc71234d04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
signature S = sig
        type t
        val z : t
        val s : t -> t
end

signature T = sig
        type t
        val three : t
end

functor F (M : S) : T where type t = M.t = struct
        type t = M.t
        val three = M.s (M.s (M.s M.z))
end