Dear list,

I am trying to use destructive substitution to remove a type alias in an inclusion. Some module XArray has the following signature:

XArray: sig
 type 'a xarray
 type 'a t
end

and I would like to remove the 'a t in the resulting signature. I thought

include (XArray : module type of XArray
  with 'a t := 'a XArray.xarray
)

would do, but it would not:

Error: In this `with' constraint, the new definition of t
       does not match its original definition in the constrained signature:
       Type declarations do not match:
         type 'a t = 'a XArray.xarray
       is not included in
         type 'a t = 'a xarray

Honestly, I do not really understand why the substitution can not happen, despite my careful reading of the documentation. Any suggestions are welcome!
--
Michael


--
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to