import type { Ctx } from "../ctx/index.js"; import type { Mod } from "../mod/index.js"; import type { Value } from "../value/index.js"; /** # Subtyping We use the word `include` to name our function which implements the subtyping relation. Comparing it with the word `equivalent` for equivalent relation between types. `include` is like `equivalent` but applies only to types, and also handles subtyping between classes, -- simple attribute based subtype relation. `equivalent` is implemented by `readback` and `alphaEquivalent`, We will not implement `Union` and `Intersection` types. We only use tagged union (sum type in ADT), -- which will be implemented by our induction datatypes. **/ export declare function include(mod: Mod, ctx: Ctx, type: Value, subtype: Value): void; export declare function includeAux(mod: Mod, ctx: Ctx, type: Value, subtype: Value): void; //# sourceMappingURL=include.d.ts.map