Recently Raymond Rogers noted that ')savesystem' command in FriCAS
does not work. It is easy to fix that command:
--- ../trunk.pp8/src/interp/i-syscmd.boot 2014-06-12 07:26:15.000000000
-0400
+++ i-syscmd.boot 2014-12-15 11:46:58.834462338 -0500
@@ -2140,7 +2140,7 @@
--% )savesystem
savesystem l ==
#l ~= 1 or not(SYMBOLP first l) => helpSpad2Cmd '(savesystem)
- SPAD_-SAVE SYMBOL_-NAME first l
+ SPAD_-SAVE(SYMBOL_-NAME first l, true)
--% )show
However, I wonder if we should keep it. Descrition sounds like
all state is saved. But when we restart saved image we also
wipe all variables, so in fact only loaded packages are
preserved. This may save some startup time but does not
look very useful -- loading packages is reasonably fast.
')savesystem' uses capability of Lisp to dump executable image.
Currently ECL does not implement dumping images, so ')savesystem'
can not work on ECL. Also when we get FriCAS to run in non-Lisp
environment we probably will have no way to dump an image.
So we can not promise that ')savesystem' will work in future
FriCAS version, it is too implementation dependent. Also,
currently sbcl exits after dumping an image, which may
be bad surprize for the user.
With some work we probably could probably preseve most variables
(all that can be written to files should be doable). Since
')savesystem' writes out all code result is quite large, so
it is not practical for small amount of data. But for large
amount of data ')savesytem' could more efficient than
')history )save'.
I admit that ATM I am thinking about removing ')savesytem',
since what it is doing now is of little use and anything more
interesting needs to be implemented.
Opinions?
--
Waldek Hebisch
[email protected]
--
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.