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