/** * Dvala Type System — Set-Theoretic with Algebraic Subtyping * * Step 1: Core type algebra (types, subtyping, simplification) * Step 2: Simple-sub inference engine (constraint generation, solving) */ export { type Type, type PrimitiveName, NumberType, StringType, BooleanType, NullType, Unknown, Never, RegexType, atom, literal, fn, tuple, record, array, union, inter, neg, typeToString, typeEquals, } from './types'; export { isSubtype } from './subtype'; export { simplify } from './simplify'; export { InferenceContext, TypeEnv, inferExpr, constrain, expandType, expandTypeForDisplay, sanitizeDisplayType, TypeInferenceError, } from './infer'; export { parseTypeAnnotation, parseFunctionTypeAnnotation, type ParsedFunctionType, TypeParseError, } from './parseType'; export { initBuiltinTypes, getBuiltinType, isTypeGuard, type BuiltinTypeInfo, } from './builtinTypes'; export { declareEffect, getEffectDeclaration, getEffectReturnType, getEffectArgType, initBuiltinEffects, type EffectDeclaration, } from './effectTypes'; export { type TypecheckResult, type TypeDiagnostic, } from './typecheck';