diff options
author | dos-reis <gdr@axiomatics.org> | 2008-12-03 14:08:08 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-12-03 14:08:08 +0000 |
commit | b18855381e61c452349e46e79e9b83ebd1a94dee (patch) | |
tree | bf0cdbe0e46bb9611bedfe5b3e8af69242f11ec7 /src | |
parent | 9ae0de86f9c72d88a5c1bd66b1e75a13b9387e05 (diff) | |
download | open-axiom-b18855381e61c452349e46e79e9b83ebd1a94dee.tar.gz |
* interp/compiler.boot (compIs): Error if left operand is not a
domain expression.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/compiler.boot | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a17d628d..2c0b560a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/compiler.boot (compIs): Error if left operand is not a + domain expression. + 2008-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/parsing.lisp (initial-substring-p): Match case sensitively. diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 3245b887..81860046 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1405,7 +1405,10 @@ compColonInside(x,m,e,m') == compIs: (%Form,%Mode,%Env) -> %Maybe %Triple compIs(["is",a,b],m,e) == - [aval,am,e] := comp(a,$EmptyMode,e) or return nil + [aval,am,e] := comp(a,$EmptyMode,e) or + stackAndThrow('"Cannot determine the type of the expression %1b",[a]) + not isCategoryForm(am,e) => + stackAndThrow('"Expression %1b does not designate a domain",[a]) [bval,bm,e] := comp(b,$EmptyMode,e) or return nil T:= [["domainEqual",aval,bval],$Boolean,e] coerce(T,m) |