diff options
author | dos-reis <gdr@axiomatics.org> | 2008-07-03 22:38:06 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-07-03 22:38:06 +0000 |
commit | 80f914241a6f9a356f539e6451d88dfdade2e7ea (patch) | |
tree | c046d87b3765d630f0d094769528be76dc1890ff | |
parent | 7d7446e578326a98fe8c47a86fadad4e5f5f2de2 (diff) | |
download | open-axiom-80f914241a6f9a356f539e6451d88dfdade2e7ea.tar.gz |
Fix AW/428
* algebra/syntax.spad.pamphlet (ConstructorCall): Now a member of
SetCategory.
(Domain): Likewise.
* share/algebra: Update databases.
* testsuite/interpreter/aw-428.input: New.
-rw-r--r-- | src/ChangeLog | 10 | ||||
-rw-r--r-- | src/algebra/domain.spad.pamphlet | 7 | ||||
-rw-r--r-- | src/algebra/syntax.spad.pamphlet | 12 | ||||
-rw-r--r-- | src/testsuite/interpreter/aw-428.input | 5 |
4 files changed, 27 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 7c707915..c2e51102 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2008-07-03 Bill Page <bill.page@newsynthesis.org> + Gabriel Dos Reis <gdr@cs.tamu.edu> + + Fix AW/428 + * algebra/syntax.spad.pamphlet (ConstructorCall): Now a member of + SetCategory. + (Domain): Likewise. + * share/algebra: Update databases. + * testsuite/interpreter/aw-428.input: New. + 2008-07-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/compiler.boot (compExpression): Tidy. diff --git a/src/algebra/domain.spad.pamphlet b/src/algebra/domain.spad.pamphlet index 571c14a8..0b4d5847 100644 --- a/src/algebra/domain.spad.pamphlet +++ b/src/algebra/domain.spad.pamphlet @@ -38,7 +38,7 @@ Category(): Public == Private where ++ Related Constructors: Type, Syntax, OutputForm ++ Also See: Type, ConstructorCall Domain(): Public == Private where - Public ==> CoercibleTo(OutputForm) with + Public == SetCategory with reify: % -> ConstructorCall ++ reify(d) returns the abstract syntax for the domain `x'. @@ -51,7 +51,7 @@ Domain(): Public == Private where ++ showSummary(d) prints out implementation detail information ++ of domain `d'. - Private ==> add + Private == add coerce x == outputDomainConstructor(x)$Lisp @@ -61,6 +61,9 @@ Domain(): Public == Private where reflect cc == evalDomain(cc)$Lisp @ % + x = y == + reify x = reify y + showSummary x == showSummary(x)$Lisp diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet index 365cac19..40b2f066 100644 --- a/src/algebra/syntax.spad.pamphlet +++ b/src/algebra/syntax.spad.pamphlet @@ -217,21 +217,20 @@ Syntax(): Public == Private where )abbrev domain CTORCALL ConstructorCall ++ Author: Gabriel Dos Reis ++ Date Created: January 19, 2008 -++ Date Last Updated: January 19, 2008 +++ Date Last Updated: July 03, 2008 ++ Description: This domains represents a syntax object that ++ designates a category, domain, or a package. ++ See Also: Syntax, Domain ConstructorCall(): Public == Private where - Public ==> CoercibleTo OutputForm with + Public == SetCategory with constructorName: % -> Symbol ++ constructorName c returns the name of the constructor arguments: % -> List Syntax ++ arguments returns the list of syntax objects for the ++ arguments used to invoke the constructor. - Private ==> add - rep(x: %): List Syntax == - x pretend List(Syntax) + Private == add + Rep == List Syntax constructorName x == (first rep x)::Symbol @@ -239,6 +238,9 @@ ConstructorCall(): Public == Private where arguments x == rest rep x + x = y == + rep x = rep y + coerce x == outputDomainConstructor(x)$Lisp @ diff --git a/src/testsuite/interpreter/aw-428.input b/src/testsuite/interpreter/aw-428.input new file mode 100644 index 00000000..9d8f23fc --- /dev/null +++ b/src/testsuite/interpreter/aw-428.input @@ -0,0 +1,5 @@ +V1 := DirectProduct(3+4,Integer) +V2 := DirectProduct(7,Integer) +V1 = V2 +%::Boolean +(Integer=Float)@Boolean |