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 fricas-devel+unsubscr...@googlegroups.com.
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

Reply via email to