Component.ModuleType
type substitution =
| ModuleEq of Cfrag.module_ * Module.decl |
| ModuleSubst of Cfrag.module_ * Cpath.module_ |
| ModuleTypeEq of Cfrag.module_type * expr |
| ModuleTypeSubst of Cfrag.module_type * expr |
| TypeEq of Cfrag.type_ * TypeDecl.Equation.t |
| TypeSubst of Cfrag.type_ * 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 |
| With of with_t |
| Functor of FunctorParameter.t * expr |
| TypeOf of typeof_t |