view tests/functor.lac @ 42:b3fbbc6cb1e5

Elaborating 'where'
author Adam Chlipala <adamc@hcoop.net>
date Thu, 19 Jun 2008 16:35:40 -0400
parents 1405d8c26790
children d94c484337d0
line wrap: on
line source
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