[
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: | Andreas Rossberg <rossberg@p...> |
| Subject: | Re: [Caml-list] using arguments insides functors |
nakata keiko wrote: > why the following code does not get type checked ? > > module type I = > sig > module type T > end > > module F = functor (Elt : I) -> > struct > module type T = Elt.T > module F = functor (Elt : T) -> > struct > include Elt > end > end Because "include" only applies to modules that are structures, since it is meant to copy its fields to the current scope. In your example however, Elt has some abstract module type T, so it does not meet that requirement. What should the include mean if you applied the outer F like F (struct module type T = functor (X : sig end) -> sig end end) ? And how could you express the result type of F without knowing the structure of Elt? Cheers, - Andreas -- Andreas Rossberg, rossberg@ps.uni-sb.de Let's get rid of those possible thingies! -- TB ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners