On Wed, Jan 03, 2024 at 06:47:19PM +0800, Qian Yun wrote:
> 1. In fricas-lisp.lisp, why it is not run for sbcl?
> 
> #-:sbcl
> (eval-when (:execute :load-toplevel)
>     (set-initial-parameters))

Because it had no desired effect.

> 2. This function modifies some global variables, but for some Lisps,
> the modification does not persist after dumping image.

That is why for sbcl we need to run it after imgae restart.

> So some Lisps add 'set-initial-parameters' to the 'restart' hook
> in 'save-core-restart'.

That is correct way if setting do not persist in given Lisp.

>  I suggest to call 'set-initial-parameters'
> in 'fricas-init' instead.

1) The idea of 'fricas-lisp.lisp' was to abstract differences
   between implementation, to limit dependencies in other
   parts.  In other words to get "sane" Lisp.  Also, to
   do things that are inherently depenent on implementation,
   but can be presented in implementation-independent way.
2) AFAICS this setting is needed in bootsys.  'fricas-lisp.lisp'
   is common to all images that we use.  Performing this in
   'interp' subdirectory would be too late.

To explain more: I tried to avoid moving code just to have it
in different place.  So things that originally were in 'interp'
directory if not removed/substantially changed are still there.

New things, substantially reworked things and things that must
be done earlier are in 'lisp' subdirectory.

-- 
                              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/ZZYctWuuP-bYlhAE%40fricas.org.

Reply via email to