From df4fac6bb2474dd807709dbc2f8142ca6c513337 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 1 Jun 2013 16:28:58 +0000 Subject: * interp/category.boot (filterConditionalCategories): Fix thinko. --- src/ChangeLog | 4 ++++ src/interp/category.boot | 3 ++- src/lisp/core.lisp.in | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index cba7ca1c..c951d78a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-06-01 Gabriel Dos Reis + + * interp/category.boot (filterConditionalCategories): Fix thinko. + 2013-06-01 Gabriel Dos Reis Support --output in compiler, for bootstrapping stage. 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@))) -- cgit v1.2.3