import { typedFnType } from "./structures/types.js"; import { Type } from "./type.js"; // Everything is (implicitly) typed by the Any type. export const Any = { symbol: Symbol('Any'), params: [] }; // A type-link, connecting a value to its Type. export const Typed = { symbol: Symbol('Typed'), params: [] }; const getInst = lnk => lnk.i; const getType = lnk => lnk.t; export const ModuleTyped = {l:[ {i: Typed, t: Type}, ...typedFnType(getInst, fnType => fnType(Typed)(Type)), ...typedFnType(getType, fnType => fnType(Typed)(Type)), ]};