On Sun, Feb 04, 2024 at 10:19:16AM -0500, Camm Maguire wrote:
> Greetings!
>
> Unfortunately, there is some 'common' common lisp code that cannot be
> compiled twice in the same image, i.e (load (compile-file ...))(load
> (compile-file ...)), most notably pcl. Typically this is due to
> eval-when :compile-toplevel statements setting global state variables,
> etc. Where does fricas stand here?
I am not aware of any problem of this sort with FriCAS code.
> GCL has a facility to iterate over all its loaded functions at the end
> of a build to recalculate all function signatures consistently, and then
> to recompile any needed original source files. This is in place a
> building twice from scratch after writing a sys-proclaims.lisp file.
> The older mechanism will continue to be supported. Is this something
> that might be used in fricas?
Mathematical functionality of FriCAS is implemented almost entirely
in Spad code. Currently there are _no_ direct calls between different
Spad files: either call is inlined and there is no call in generated
Lisp or (main case) there is an indirect call. There are direct
calls inside a single file. OTOH FriCAS tries to emit Lisp
declarations, so Lisp compiler should be able to optimize based
on declarations.
Due to the above determiantion of function signatures by GCL should
have little (if any) effect on mathematical functionality of FriCAS.
Determiantion of function signatures may be significant for code
written in Lisp and Boot, that is FriCAS "interpreter" and Spad
compiler. However, here measurement may be tricky.
--
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 on the web visit
https://groups.google.com/d/msgid/fricas-devel/Zb_MUDcu4SQWM2ak%40fricas.org.