Bill Page wrote:
>
> Most of the magic is in 'src/algebra/kl.spad' in relation to the
> Kernel domain but look also at the $Lisp calls some of which are
> implemented in boot appaerently for reasons of efficiency.
Actually, the Lisp calls are to solve problems with writing
expressions to files and reading them back. Namely, in a
typed system straightforward approach is to equip each type
with separate functions to write out data and read it back.
This works, but with many types is going to be tedious.
Axiom took a shortcut: it uses Lisp functions to write out
and read back data. But there is a problem: some data
needs special treatment. In particular kernels needs to be
read in special way so that we get kernel from the cache
and not the copy. At Lisp level we have no information
about types. Consequently Axiom did not have good
way to recognize kernels. In FriCAS kernels are represented
by special Lisp structure, so they are different from
any other data. In effect Boot routines in FriCAS can
reliably read back expressions. The Lisp calls in Kernel
are needed to get and use this special structure instead
of standard Spad data structures.
--
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.