Browse thread
[Caml-list] Camlp4 3.01 released
-
Daniel de Rauglaudre
-
Christophe Raffalli
-
Andreas Rossberg
-
Xavier Leroy
- Andreas Rossberg
- Christophe Raffalli
-
Xavier Leroy
-
Andreas Rossberg
-
Christophe Raffalli
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Christophe Raffalli <Christophe.Raffalli@u...> |
| Subject: | Re: [Caml-list] Caml 3.01 : pb with include |
What I realy would like are more flexible include and constaints to make the following work: module type Semi_Group = sig type t val e : t val ( ** ) : t -> t -> t end module type Group = sig include Semi_Group val inv : t -> t end module type Semi_Group_Morphism = sig module G1 : Semi_Group module G2 : Semi_Group val f : G1.t -> G2.t end (* I would like to be able to use include for the next definition: something like: module type Group_Morphism = sig include Semi_Group_Morphism with module G1 : Group and module G2 : Group end *) module type Group_Morphism = sig module G1 : Group module G2 : Group val f : G1.t -> G2.t end module Idt_Semi_Group_Morphism(SG : Semi_Group) = ( struct module G1 = SG module G2 = SG let f = fun x -> x end : Semi_Group_Morphism with module G1 = SG and module G2 = SG) (* I can't make the next definition work using include at all *) module Idt_Group_Morphism(G : Group) = ( struct include (Idt_Semi_Group_Morphism(G) : Semi_Group_Morphism with module G1 = G and module G2 = G) end : Group_Morphism with module G1 = G and module G2 = G) -- Christophe Raffalli Université de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tél: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr