Waldek Hebisch <[EMAIL PROTECTED]> writes: > 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). > > I think that biggest problem in impementing 'extend' is to provide > sane behaviour during redefinition.
although Domains may be mutable in some sense in SPAD and Aldor (since we can access and modify their "state") I think that "the way things are meant to be done in Axiom/SPAD/Aldor" is to create new domains, instead of modifying old ones. Since we have "dependent types", this can be done in an extremely flexible manner, as the example "Interpret" shows, which takes a string and yields a domain. Martin _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
