axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Spad and its object model


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Spad and its object model
Date: Mon, 11 Jun 2007 16:26:48 -0500 (CDT)

On Mon, 11 Jun 2007, Waldek Hebisch wrote:

| Gaby, did you look how Axiom uses arrays of function pointers? 

Yes.  :-)

| At
| the first glance they are like vtables.  But there is a fundamental
| difference: Spad domain uses only its own domain vector -- it never
| directly uses ancestor vector.
  ^^^^^^^^

What do yo mean by "never directly"?

check out lookupCompete and lookupIncomplete.

[...]

| There are issues with coherence, but IMHO they are unavoidable
| given static typechecking and dynamic runtime:  Spand compiler
| checks that intefaces to domians are compatible at compile
| time, but you may redefine things in incompatible way and
| recompile only some objects later.

Why do you believe this is unavoidable?

| Say you compile D which
| references Integer.  Later you redefine Integer in incompatible
| way and recompile Integer (but keep ald object for D). 

The system should be able to catch that, precisely.

| D 
| references Integer by name and in fresh inage will pick
| new definition of Integer, giving runtime problems.

this is one root of the problem.  Another root is the way lookup
functions work.

[...]

| AFAICS problems of "post facto extensions" have nothing to do
| with usage of arrays to cache lookups.  IMHO main problem is
| that Axiom has just one "handle" to access given domain.
| Namely domain Integer defines function also  named Integer
| which build domain vector.

I don't think, that is the main problem.

-- Gaby




reply via email to

[Prev in Thread] Current Thread [Next in Thread]