aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-29 09:15:29 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-29 09:15:29 +0000
commitd22ec6786bb2f413f780b42b34f4fe652c9254e7 (patch)
tree4c1fa894a013e511fe4a263b0e201b9c5c668ac0
parent79900718a4de54668c6ed6357453480c17b00168 (diff)
downloadopen-axiom-d22ec6786bb2f413f780b42b34f4fe652c9254e7.tar.gz
* interp/compiler.boot (compHasFormat): Simplify type form.
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/compiler.boot4
-rw-r--r--src/interp/daase.lisp2
3 files changed, 7 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fc1b46f5..7991ebf1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-10-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/compiler.boot (compHasFormat): Simplify type form.
+
2011-10-28 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/nruncomp.boot (mkDomainCatName): Remove.
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index cbae1bbe..768e1b5b 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -1248,7 +1248,7 @@ compHas(pred is ["has",a,b],m,e) ==
--used in various other places to make the discrimination
compHasFormat(pred is ["has",olda,b],e) ==
- argl := rest $form
+ argl := $form.args
formals := TAKE(#argl,$FormalMapVariableList)
a := applySubst(pairList(formals,argl),olda)
[a,.,e] := comp(a,$EmptyMode,e) or return nil
@@ -1259,7 +1259,7 @@ compHasFormat(pred is ["has",olda,b],e) ==
mkList [MKQ op,mkList [mkTypeForm type for type in sig]]]
b is ["Join",:l] or b is ["CATEGORY",.,:l] =>
["AND",:[compHasFormat(["has",olda,c],e) for c in l]]
- isCategoryForm(b,e) => ["HasCategory",a,mkTypeForm b]
+ isCategoryForm(b,e) => ["HasCategory",a,simplifyVMForm mkTypeForm b]
stackAndThrow('"Second argument to %1b must be a category, or a signature or an attribute",["has"])
--% IF
diff --git a/src/interp/daase.lisp b/src/interp/daase.lisp
index ddade882..7196c742 100644
--- a/src/interp/daase.lisp
+++ b/src/interp/daase.lisp
@@ -229,7 +229,7 @@
being-defined ; T is definition of constructor is being processed
load-path ; full object path name, when loaded.
capsule-definitions ; capsule-level definitions
- template ; for a category, this the generic instantce.
+ template ; for a category, this is the generic instance.
; for a functor, this is the template.
) ; database structure