diff options
Diffstat (limited to 'src')
-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 |