[m-dev.] For review: making terms polymorphic
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu Nov 5 16:40:41 AEDT 1998
On 05-Nov-1998, Thomas Charles CONWAY <conway at cs.mu.OZ.AU> wrote:
> Fergus Henderson, you write:
> >
> > Since the change is not completely backwards compatible, the
> > news file should explain what people will need to do to fix
> > their code.
>
> How is it incompatible? Existing code shouldn't need changing.
In some places people might need to add calls to term__generic_term,
I think.
> How about this:
> % term__generic_term(Term) is true iff `Term' is a term of type
> % `term' ie `term(generic)'.
> % It is useful because in some instances it doesn't matter what
> % the type of a term is, and passing it to this predicate will
> % ground the type avoiding unbound type variable warnings.
That's better, thanks.
> +* The types `term', `var', `var_supply' and `varset' are now polymorphic.
> + This allows one to distinguish between terms, etc. denoting different kinds
> + of things by giving them different types. The new coercion predicates
> + listed below allow one to coerce terms, etc between types.
s/etc/etc./
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list