CY wrote:
> 1.  The main purpose of the "database" is, as I understand it, to
> enable the loading of mathematical knowledge on an "as needed" basis
> into Axiom rather than carry everything at once in the image?  If i've
> got that right I'm impressed by the power of that design, but I wonder
> how much like a "true" database query-return system Axiom's mechanisms
> are.  1st question:  Would Axiom's internal "database" system be better
> replaced with a "full scale" database backend, or do we do better using
> a scaled down "just what we need" approach?
>

What Axiom calls "database" is sometimes called dictionary, and performs
low level store/retrive operations.  Tim probably knows better why
current implementation was adopted, but I can offer a few speculations.
First, Axiom used to be quite large in comparison with main memories.
So Axiom developers split algebra part into small loadable modules.
Modules contained (compiled) Lisp code, but also needed extra (meta) data
(Axiom types, documentaion info, etc.).  This meta data was stored
in differnt files then Lisp code but was close to it. But meta data
was needed more frequently then code, so as a performance optimization
all meta data was just put in a few files.  To save memory and
avoid reading useless data large part of "database" was read on
demand. 

Axiom "database" is much smaller then classical "enterprise" business
databases.  Also, Axiom basically uses the most primitive queries.
OTOH of top of this "database" Axiom various "reasning" ("type checking")
routines which probably go much beyond of most databases. 

So I think that classical (or even varius experimental) databases
are bad fit for Axiom: Axiom is very demanding in aspect where
databases are likely to be weak and do not need strong parts
of a database. 

-- 
                              Waldek Hebisch
[EMAIL PROTECTED] 


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to