aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-01 16:28:58 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-01 16:28:58 +0000
commitdf4fac6bb2474dd807709dbc2f8142ca6c513337 (patch)
tree92ff0b4c21a41d0680317434649d026e134eec99 /src
parent64aeafac79d72f440b6546bae91583e6efd6b674 (diff)
downloadopen-axiom-df4fac6bb2474dd807709dbc2f8142ca6c513337.tar.gz
* interp/category.boot (filterConditionalCategories): Fix thinko.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/category.boot3
-rw-r--r--src/lisp/core.lisp.in6
3 files changed, 11 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cba7ca1c..c951d78a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2013-06-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ * interp/category.boot (filterConditionalCategories): Fix thinko.
+
+2013-06-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
Support --output in compiler, for bootstrapping stage.
* lisp/core.lisp.in (directoryEntries): New.
* interp/lisplib.boot (compDefineLisplib): Tidy. Honor --output.
diff --git a/src/interp/category.boot b/src/interp/category.boot
index cdacc6b4..b018b875 100644
--- a/src/interp/category.boot
+++ b/src/interp/category.boot
@@ -382,11 +382,12 @@ filterConditionalCategories(l,e) ==
unconditionals := [CatEval(at,e),:unconditionals]
pred isnt ["and",:.] =>
conditionals := [[CatEval(at,e),pred],:conditionals]
+ -- Predicate is a conjunctive; decompose it.
pred' := [x for x in pred.args |
not listMember?(x,get("$Information","special",e))
and x isnt true]
pred' = nil => unconditionals := [CatEval(at,e),:unconditionals]
- pred' is [.] => conditionals := [[CatEval(at,e),pred'],:conditionals]
+ pred' is [x] => conditionals := [[CatEval(at,e),x],:conditionals]
conditionals := [[CatEval(at,e),["and",:pred']],:conditionals]
[conditionals,reverse! unconditionals]
diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in
index 4b72e76f..8468c558 100644
--- a/src/lisp/core.lisp.in
+++ b/src/lisp/core.lisp.in
@@ -87,6 +87,7 @@
"%Vector"
"%BitVector"
"%SimpleArray"
+ "%Table"
;; Some common data structures
"makeTable" ; construct a hash table with a given comp function
@@ -282,6 +283,8 @@
(deftype |%BitVector| () '(simple-array bit))
+(deftype |%Table| nil 'hash-table)
+
(deftype |%Shell| () 'simple-vector)
(deftype |%Mode| () '(or symbol string cons))
@@ -1503,5 +1506,6 @@
(|int| . @int_type@)
(|float| . @float_type@)
(|double| . @double_type@)
- (|string| . @string_type@)))
+ (|string| . @string_type@)
+ (|address| . @pointer_type@)))