aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-06 01:39:23 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-06 01:39:23 +0000
commitd43b15394d47a7c5222508062976e84c6ebba098 (patch)
treebc58cc31100beb2ea048d609506a252f1c9acdc3
parentd42a9b5ea16ff7ed26467cf80bd693228ddee626 (diff)
downloadopen-axiom-d43b15394d47a7c5222508062976e84c6ebba098.tar.gz
Do not call allConstructors from compiler.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/define.boot2
-rw-r--r--src/interp/lisplib.boot2
-rw-r--r--src/interp/showimp.boot4
4 files changed, 9 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 4c95fcf2..5e6750cf 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2013-06-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * interp/define.boot (substSlotNumbers): Remove redundant check.
+ * interp/lisplib.boot (NRTgenInitialAttributeAlist): Simplify.
+ * interp/showimp.boot (dc): Likewise.
+
2013-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
Make parser non-dependent on constructor databases.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 2da5243b..dee8a8be 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -628,8 +628,6 @@ catExtendsCat?(u,v,tbl,env) ==
or/[catExtendsCat?(x,v,tbl,env) for x in ASSOCLEFT categoryAncestors uvec]
substSlotNumbers(form,template,domain) ==
- form is [op,:.] and
- symbolMember?(op,allConstructors()) => expandType(form,template,domain)
form is ['SIGNATURE,op,sig,:q] =>
['SIGNATURE,op,[substSlotNumbers(x,template,domain) for x in sig],:q]
form is ['CATEGORY,k,:u] =>
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 9bb304aa..dca79dcc 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -45,7 +45,7 @@ module lisplib
NRTgenInitialAttributeAlist(db,attributeList) ==
--alist has form ((item pred)...) where some items are constructor forms
alist := [x for x in attributeList | -- throw out constructors
- not symbolMember?(opOf first x,allConstructors())]
+ constructorDB opOf first x = nil]
dbAttributes(db) := simplifyAttributeAlist(db,
[[a,:b] for [a,b] in dbSubstituteFormals(db,alist) | a isnt 'nothing])
diff --git a/src/interp/showimp.boot b/src/interp/showimp.boot
index deb1f816..ce18ef0c 100644
--- a/src/interp/showimp.boot
+++ b/src/interp/showimp.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2011, Gabriel Dos Reis.
+-- Copyright (C) 2007-2013, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -258,7 +258,7 @@ formatLazyDomainForm(dom,x) ==
dc(:r) ==
con := KAR r
options := KDR r
- ok := symbolMember?(con,allConstructors()) or (con := abbreviation? con)
+ ok := constructorDB con or (con := abbreviation? con)
null ok =>
sayBrightly '"Format is: dc(<constructor name or abbreviation>,option)"
sayBrightly