On Sat, Jan 11, 2025 at 01:27:54AM +0100, Waldek Hebisch wrote:
>
> There is similar code path where result of 'mkEvalableCategoryForm'
> is passed to 'eval'. For FriCAS categories one needs first use
> 'mkEvalableCategoryForm' before using 'eval', so basically there
> are 3 call sites that pass category expression to Lisp 'EVAL',
> all going via 'eval'. In principle 'mkEvalableCategoryForm'
> could replace
>
> (Join arg1 arg2 ... argn)
>
> with
>
> (JoinInner (LIST arg1 arg2 ... argn))
>
> if that helps.
I mean the attached patch.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/fricas-devel/Z4HZGG3LKaLywqcu%40fricas.org.
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 5b0889b4..819c583c 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -326,7 +326,7 @@ mkEvalableCategoryForm(c, e) == --from DEFINE
c is [op,:argl] =>
op="Join" =>
nargs := [mkEvalableCategoryForm(x, e) or return nil for x in argl]
- nargs => ["Join", :nargs]
+ nargs => ["JoinInner", ["LIST", :nargs]]
op is "DomainSubstitutionMacro" =>
mkEvalableCategoryForm(CADR argl, e)
op is "mkCategory" => c