Subject: [bug#66606] [PATCH v3] gnu: Add reduce-csl.

From: Nigko Yerden <[email-masked]>
Date: Fri, 7 Feb 2025 17:13:35 +0500

Hello,

Andreas Enge wrote:
> thanks for sending the new patch, and so quickly; I did not expect
> unbundling of libffi to require so much work!
Yes, these build scripts are somewhat messy! Now I wonder if we really
need unbundled libffi? This patch provide us with additional maintainance
burden, while the benefit of unbundling libffi is negligibly small
(libffi takes in my /gnu/store only 272K of space and even
smaller than that in RAM). Frankly, I would prefer to have libffi
as a bundled library.

> I have moved the package from the maths to the algebra module (which is
> more specific).
That's fine, but is it okay that Maxima CAS, which is a twin sister (or brother)
of Reduce, resides in maths.scm? It would make sense to put those two together.

> The patch needs to be registered in local.mk.
That’s useful to know.

> I would also suggest to use the snapshot date and not the svn commit as
> the version number, since it is more telling (and also appears "higher
> up" in the file hierarchy on their site).
That's totally fine.

> And maybe call the package just "reduce" instead of "reduce-csl"?
Indeed, I'm in favor of "reduce". It is clearer and shorter.

> I wondered whether we should also compile with psl (using "--with-both"
> instead of "--with-csl"); but I suppose that this would just create a
> duplicate?
 From the document https://reduce-algebra.sourceforge.io/lisp-docs/insidereduce.pdf
on p. 34 we read:
> While all relevant source file for all of PSL are available as part of
> the Reduce distribution the normal way of building Reduce starts by
> having pre-made PSL binary files to use. These are provided for a range
> of targets (mainly using Intel processors) but machines by SGI and Sun
> (at least) are also reasonably easy to find.
Those binaries for Portable Standard Lisp (PSL) are included in the repo directly.
As far as I know, nobody builds those binaries from sources, perhaps written in
some ancient language, for many years. This is in contrast to Codemist Standard
Lisp (CSL) written in C++. Therefore CSL Reduce exists for a good reason.

Thank you for doing this patch!

Regards,
Nigko