>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 -~----------~----~----~----~------~----~------~--~---