Lang.ModuleType
Sourcetype substitution =
| ModuleEq of Paths.Fragment.Module.t * Module.Equation.t
| ModuleTypeEq of Paths.Fragment.ModuleType.t * ModuleType.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 * ModuleType.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;
locs : Paths.Identifier.SourceLocation.t option;
Can be None
for module types created by a type substitution.
doc : Comment.docs;
canonical : Paths.Path.ModuleType.t option;
expr : expr option;
}