>Sage just uses the mainstream language Python; we are
>not in the language design business.  It's an interesting
>exercise to think through how each of the ideas you generously
>explained above is expressed using Python.

This is a general purpose python idea, actually. If there was
a python function that looked at the namespace available for
each .py file then it could decide that there are two lattice
functions. This could issue an "import lattice from poset"
to disambiguate the lattice question automatically. (I have no
idea how you might look at a .py file and get its namespace).

This is not a new issue because Sage already has several different
polynomials available to it at any given time. The user has to
specify which one to call by naming the spkg tool explicitly.
Thus the various spkgs split the namespace at the moment. 

As more functionality migrates from the external packages into
"Sage-native python" this issue will grow worse. Which package
gets to own the name "differentiate"? Axiom shows 25 different
functions of that name, e.g. polynomials vs power series. 

Suppose the user wants to use the "same name" in the "same sentence"
(e.g. differentiate(poly)*differentiate(powerseries)). How is
this resolved? Does the user have to do special imports? How
will the user know that there are 50 differentiates from 7
different spkgs (25 from Axiom alone) and 6 from python packages?

It is an explicit design decision of the user interface to decide
whether there is an automatic resolution or a user-specified
resolution. It would be worthwhile to have a discussion of this
design decision before it gets "encoded by default" as a result
of the lattice discussion. 

I don't think that Axiom's solution can work for Sage because
Axiom is a strongly typed language. But it does highlight at
least one other point in the space of design decisions.

Names matter.

Tim





--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to