diff options
author | dos-reis <gdr@axiomatics.org> | 2009-06-14 12:26:50 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-06-14 12:26:50 +0000 |
commit | 12b1b74f1e952694c8f182eb2b4ab369f6005ddf (patch) | |
tree | 70446f3ea05944feb6beb68dd35f27573d9ee6f6 /src/ChangeLog | |
parent | 700e13eca3eaac940000e3529d761dc7b4b15e5e (diff) | |
download | open-axiom-12b1b74f1e952694c8f182eb2b4ab369f6005ddf.tar.gz |
Add support for existential type recovery.
* interp/compiler.boot (compRecoverDomain): New. Split from
compRecoverGuard.
(compRecoverGuard): Split. Handle existential type recovery.
(compScheme): New. Register as compiler.
* interp/g-opt.boot (optLET*): New. Turn into LET-form if
appropriate. Register as backend transformer.
* interp/fnewmeta.lisp (|PARSE-Scheme|): New.
(|PARSE-Quantifier|): Likewise.
(|PARSE-QuantifiedVariableList|): Likewise.
(|PARSE-QuantifiedVariable|): Likewise.
* interp/metalex.lisp (KEYWORDS): Add 'forall' and 'exist' as new
keywords.
* interp/newaux.lisp: Register parser for expression schemes.
* algebra/any.spad.pamphlet (=$Any): If the underlying domain has
BasicType, use that equality operator.
(coerce$Any): If the underlying domain has CoercibleTo OutputForm
then use it.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r-- | src/ChangeLog | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 87ae21c9..afa502b3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,24 @@ +2009-06-14 Gabriel Dos Reis <gdr@cs.tamu.edu> + + Add support for existential type recovery. + * interp/compiler.boot (compRecoverDomain): New. Split from + compRecoverGuard. + (compRecoverGuard): Split. Handle existential type recovery. + (compScheme): New. Register as compiler. + * interp/g-opt.boot (optLET*): New. Turn into LET-form if + appropriate. Register as backend transformer. + * interp/fnewmeta.lisp (|PARSE-Scheme|): New. + (|PARSE-Quantifier|): Likewise. + (|PARSE-QuantifiedVariableList|): Likewise. + (|PARSE-QuantifiedVariable|): Likewise. + * interp/metalex.lisp (KEYWORDS): Add 'forall' and 'exist' as new + keywords. + * interp/newaux.lisp: Register parser for expression schemes. + * algebra/any.spad.pamphlet (=$Any): If the underlying domain has + BasicType, use that equality operator. + (coerce$Any): If the underlying domain has CoercibleTo OutputForm + then use it. + 2009-06-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * algebra/any.spad.pamphlet (AnyFunctions1): Remove `pretend' |