The previous discussion was titled ")savesystem , again",
in 2016/Jun/18:
https://groups.google.com/g/fricas-devel/c/o-P2kKKdGsM/m/T9Dr7bMRAQAJ

After my recent experiences with the low-level stuff
in FriCAS, I have the following thoughts:

We already can use ")fin" to Lisp level and "(BOOT::|spad|)"
to go back to SPAD level.  What if we insert the "savesystem"
between them?

We can save the whole state of FriCAS and restore it later.

1. Run fricas with -nosman. (Avoids socket operation for now.)

  fricas -nosman

2. Assign some variables, run some computations.

3. Run the following to save a new executable "saved".

)lisp (sb-ext:save-lisp-and-die "saved" :executable t :toplevel #'BOOT::|spad|)

4. Now you can continue by "./saved".

Notes:

1. It will fail when you issue commands that needs new domains.
Because the file descriptor to *.daase is closed.  This should
be easy to fix.

2. Our old code calls "|fricas_restart|" as ":toplevel" entry
function, this caused the wipe of variables and context.
Now if we call "|spad|", then problem is solved.

- Qian

--
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 on the web visit 
https://groups.google.com/d/msgid/fricas-devel/d9f158e8-b88b-4cd4-9752-547a9f070cf4%40gmail.com.

Reply via email to