aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-02-10 03:49:37 +0000
committerdos-reis <gdr@axiomatics.org>2012-02-10 03:49:37 +0000
commitc8f38c41658b30aa833475be960f4e595ba8132a (patch)
tree044235928b0188a4a2c5640db25a87f33e81bc07 /src/interp/define.boot
parentfbeff9c995c1ace0efe487d82cc95744c8ed18db (diff)
downloadopen-axiom-c8f38c41658b30aa833475be960f4e595ba8132a.tar.gz
* interp/define.boot (mkEvalableCategoryForm): Compile only
CATEGORY and SubsetCategory forms.
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r--src/interp/define.boot15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 608f34bd..2b9470f2 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -910,14 +910,15 @@ macroExpandList(l,e) ==
mkEvalableCategoryForm c ==
c is [op,:argl] =>
- op is "Join" => [op,:[mkEvalableCategoryForm x for x in argl]]
op is "DomainSubstitutionMacro" => mkEvalableCategoryForm second argl
- op is "mkCategory" => c
- builtinCategoryName? op =>
- ([x,m,$e]:= compOrCroak(c,$EmptyMode,$e); m=$Category => x)
- categoryConstructor? op => [op,:[MKQ x for x in argl]]
- [x,m,$e]:= compOrCroak(c,$EmptyMode,$e)
- m=$Category => x
+ op in '(QUOTE mkCategory EnumerationCategory) => c
+ op is ":" => [op,second c,mkEvalableCategoryForm third c]
+ op in '(CATEGORY SubsetCategory) =>
+ [x,m,$e] := compOrCroak(c,$EmptyMode,$e)
+ m = $Category => x
+ MKQ c
+ categoryConstructor? op =>
+ [op,:[mkEvalableCategoryForm x for x in argl]]
MKQ c
MKQ c