Lang.ModuleType
type substitution =
| ModuleEq of Paths.Fragment.Module.t * Module.Equation.t |
| ModuleTypeEq of Paths.Fragment.ModuleType.t * expr |
| TypeEq of Paths.Fragment.Type.t * TypeDecl.Equation.t |
| ModuleSubst of Paths.Fragment.Module.t * Paths.Path.Module.t |
| ModuleTypeSubst of Paths.Fragment.ModuleType.t * expr |
| TypeSubst of Paths.Fragment.Type.t * TypeDecl.Equation.t |
type simple_expansion =
| Signature of Signature.t |
| Functor of FunctorParameter.t * simple_expansion |
module U : sig ... end
type with_t = {
w_substitutions : substitution list; |
w_expansion : simple_expansion option; |
w_expr : U.expr; |
}
type expr =
| Path of path_t |
| Signature of Signature.t |
| Functor of FunctorParameter.t * expr |
| With of with_t |
| TypeOf of typeof_t |
type t = {
id : Paths.Identifier.ModuleType.t; |
doc : Comment.docs; |
canonical : Paths.Path.ModuleType.t option; |
expr : expr option; |
}