[Top][All Lists]

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

Re: [Axiom-developer] CAS for the masses

From: Waldek Hebisch
Subject: Re: [Axiom-developer] CAS for the masses
Date: Fri, 30 Mar 2007 17:59:59 +0200 (CEST)

Bill Page wrote:
> Quoting Waldek Hebisch <address@hidden>:
> > Bill Page wrote:
> >> You are right that I did not state this properly. Of course we can
> >> evaluate expressions (including functions) that return domains
> >> and categories. What I was trying to say is that domains in Spad
> >> and Aldor are immutable during run-time. Once constructed their
> >> "value" is constant and can not be changed. For example we
> >> can not insert or remove anything in the list of exports or even
> >> replace one exported function with another during the execution
> >> of the program. This is possible in Python.
> >>
> >> Note: I am not talking about the post facto library extension feature
> >> in Aldor. 'extend' is a compile-time operation.
> >>
> >
> > I want comment about Alder, but in current Axiom runtime domains are
> > mutable.  In fact I think that ability to redefine domain at runtime
> > was an important design goal (otherwise a sigificant part of Axiom
> > runtime activities would be useless).
> >
> Could you give an example of how to modify a domain during the exectuion
> of a Spad program? Is is possible without calling low-level Lisp functions?

1) via system commands
2) via Lisp

I am not aware of any Spad level support for runtime modification of
domains.  OTOH it is hard to do _anything_ in pure Spad without using
Lisp domain (note that Axiom library implements most of its primitive
operations via Lisp, so pure Spad in practice implies using no
of Axiom library ).

> > I think that biggest problem in impementing 'extend' is to provide
> > sane behaviour during redefinition.
> >
> I thought Aldor 'extend' only produced new loadable object code during
> compilation. Is that wrong?

AFAIK this is correct.  Axiom can call compiler at runtime.  And I belive
that it the intended mode of development for Axiom is to re-compile
changed files and then load them into to same Axiom image.  Such
style of developement has serious problems due to static typing
but Axiom runtime apparently supports it.

BTW: My comment is specifically about Axiom, I do not know if Aldor
is different here.

                              Waldek Hebisch

reply via email to

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