Module: Dylan-User Author: Steve Rowley Synopsis: Library and module definitions for the typist. Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND /// /// The Typist -- A type-inference module for the DFM. /// define library dfmc-typist // Library for the type inference tool. use functional-dylan; use dfmc-core; use dfmc-reader; export dfmc-typist; end; define module dfmc-typist // Module for the typist. use functional-dylan, rename: { make => dylan/make }; use dfmc-core; use dfmc-reader; use dfmc-imports; export // Classes Generics // ======= ======== , justification-rule, justification-lhs, justification-rhs, , , type-variable-contents, type-variable-supporters, type-variable-supportees, , type-estimate-debug-name, , , type-estimate-class, , type-estimate-raw, , type-estimate-fixed-values, type-estimate-rest-values, type-estimate-values-ref, , , type-estimate-min, type-estimate-max, , , type-estimate-singleton, , type-estimate-of, type-estimate-size, type-estimate-concrete-class, type-estimate-dimensions, , type-estimate-requireds, type-estimate-rest?, type-estimate-keys, type-estimate-all-keys?, type-estimate-values, , type-estimate-unionees, , // Algebra of s. type-estimate-normalize, type-estimate-union, type-estimate-intersection, type-estimate-difference, type-estimate-base, type-estimate-match?, type-estimate-hash, // Tables of s hashing with type-estimate-match? invariant. , , // Predicates on the estimated types. type-estimate-instance?, type-estimate-disjoint?, type-estimate-subtype?, type-estimate=?, type-estimate-pseudosubtype?, type-estimate-values-element-subtype?, type-estimate-values-rest-subtype?, // Main GF's for calling the type inferencer type-estimate, // remove this at some point!!! lookup-type, // new typist api, gts type-initializer-method, // new typist api, gts type-estimate-explain, type-estimate-retract, type-estimate-in-cache, // for typist inference tests only type-estimate-top-level-form, // Interface to rest of compiler // Dispatch caching support type-estimate-dispatch-cache-lookup, add-type-estimate-dispatch-cache-entry, // Utilities make-type-estimate, ^make-method?, ^make-return-class-from-signature, constant-value?, // Random tuulz print-separated-collection, map-table, table=?, ^classes-guaranteed-disjoint?, \with-infer-stepping, *stepping-infer?*, *tracing-infer?*; end;