PS:

On 4 Mrz., 09:06, Simon King <simon.k...@uni-jena.de> wrote:
> What about the following idea:
>  1. var(s) only accept strings and lists of strings, and for backwards
> compatibility one could also make it accept objects whose string
> representation does not contain commas or whitespace. So,
> var(QQ['t'].gen()) is fine, but with input like var(QQ['t']), an error
> is raised.
>  2. If the input is a valid identifier (all ascii) and not a reserved
> Python keyword, it will be inserted into the global namespace.
>  3. Otherwise, a variable with the given name is returned, but *not*
> put into the global namespace. We may think of printing a warning
> message in that case. In that way, alpha=var("α") would still work.

No, that's a bad idea. It wouldn't change the current situation at
all. In particular, sin([])=[] would still "work" (but shouldn't).

Perhaps the following is better:
 Introduce an optional argument validate_name. If it is True (which is
the default), an error is raised if the name is no valid identifier or
if it is a reserved keyword. So, sin([])=[] or var('def') would result
in an error.
 But if validate_name=False is used, then simply a variable of the
given name is returned (and not inserted into the global name space).

Kind regards,
Simon

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to