[PATCH] remove ILIST from core domains

5 views
Skip to first unread message

Qian Yun

unread,
Oct 14, 2023, 7:59:01 PM10/14/23
to fricas-devel
Nowadays LIST does not depend on ILIST. So we should remove it from
"core domains".

- Qian

====

diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 437cf75b..5583ce9f 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -350,7 +350,7 @@ SPADLIST=${SPADLIST1} ${SPADLIST2} ${SPADLIST3}
${SPADLIST4} \

# List of core domains
DOMLIST= ALIST BOOLEAN CHAR DFLOAT FRAC HASHSTAT \
- ILIST IARRAY1 ISTRING IVECTOR \
+ IARRAY1 ISTRING IVECTOR \
INT LIST NNI OUTFORM PI PRIMARR REF SEX SINT STRING SYMBOL
VECTOR \
MATRIX ARRAY1 IIARRAY2 ARRAY2 U32VEC U32MAT U16VEC U16MAT U8VEC \
U8MAT I32VEC I32MAT I16VEC I16MAT I8VEC I8MAT PRIMMAT2 \
diff --git a/src/interp/daase.lisp b/src/interp/daase.lisp
index b1a6de2c..92911054 100644
--- a/src/interp/daase.lisp
+++ b/src/interp/daase.lisp
@@ -406,7 +406,7 @@ database.
|UnaryRecursiveAggregate&| |OrderedSet&| |AbelianGroup&| |Algebra&|
|Module&| |Ring&| |StringAggregate&| |AbelianMonoid&|
|ExtensibleLinearAggregate&| |PositiveInteger| |StreamAggregate&|
- |IndexedString| |IndexedList| |ListAggregate&| |LinearAggregate&|
+ |IndexedString| |ListAggregate&| |LinearAggregate&|
|Character| |String| |NonNegativeInteger| |SingleInteger|
|OneDimensionalArrayAggregate&| |FiniteLinearAggregate&|
|PrimitiveArray|
|Integer| |List| |OutputForm|))

Waldek Hebisch

unread,
Oct 15, 2023, 1:26:46 PM10/15/23
to fricas...@googlegroups.com
On Sun, Oct 15, 2023 at 07:58:56AM +0800, Qian Yun wrote:
> Nowadays LIST does not depend on ILIST. So we should remove it from
> "core domains".

"core domains" really means domains for which we want inlining
optimization. AFAICS this still makes sense for ILIST.
Probably is not very important, but what we gain by removing
ILIST from the list?
--
Waldek Hebisch

Qian Yun

unread,
Oct 15, 2023, 8:15:30 PM10/15/23
to fricas...@googlegroups.com
Currently ILIST is used by 0 other domains. Also ILIST is not getting
inline optimization because it is not listed in g-opt.boot.

I consider these "core domains" as "domains that are critical to
bootstrap". ILIST used to be used by LIST, not anymore.
It should have been removed when LIST no longer depends on ILIST.

- Qian

Waldek Hebisch

unread,
Oct 16, 2023, 6:05:18 AM10/16/23
to fricas...@googlegroups.com
On Mon, Oct 16, 2023 at 08:15:26AM +0800, Qian Yun wrote:
> Currently ILIST is used by 0 other domains. Also ILIST is not getting
> inline optimization because it is not listed in g-opt.boot.

You mean ILIST is not included in $optimizableConstructorNames
(in setq.lisp)? Indeed, so we can remove it from DOMLIST.

--
Waldek Hebisch

Qian Yun

unread,
Oct 16, 2023, 7:44:19 AM10/16/23
to fricas...@googlegroups.com
Yes, also in function 'optCallEval'.

Committed.

- Qian
Reply all
Reply to author
Forward
0 new messages