As discussed at http://groups.google.com/group/sage-devel/browse_thread/thread/b1a03f8fc8ae8fcd/553773d7ba600ae7#553773d7ba600ae7 , I'm writing a patch to deprecate calling symbolic expressions without variable names.
In the course of writing the patch, and subsequent discussions with Jason and Burcin, some issues have come up; I just wanted to report on what we've decided and give people a chance to object. 1) Piecewise functions: With my initial patch, sage: f = Piecewise([[(-1,1),1/2+x-x^3]]) doesn't work (that is, you get deprecation errors when you call f); Burcin suggested an optional variable argument to Piecewise, so you could type this instead: sage: f = Piecewise([[(-1,1),1/2+x-x^3]], x) 2) plotting A lot of the plotting code is willing to pick variable names (in alphabetical order) if names aren't given in the plot ranges. For instance, this is a doctest in plot.py: sage: f = sin(x^2 + y^2)*cos(x)*sin(y) sage: c = contour_plot(f, (-4, 4), (-4, 4), plot_points=100) This will be deprecated, but any of the following will work: sage: c = contour_plot(f, (x, -4, 4), (y, -4, 4), plot_points=100) sage: c = contour_plot(f.function(x, y), (-4, 4), (-4, 4), plot_points=100) sage: c = contour_plot(lambda x,y: f(x=x,y=y), (-4, 4), (-4, 4), plot_points=100) 3) plotting single-variable expressions As a special exception to the above rule, plots that want a single-argument function will also accept a single-variable expression; the following code will continue to work: sage: plot(sin(x), (-3, 3)) As far as I know, this will be the only place in all of Sage where a symbolic expression is automatically promoted to a function without the user specifying a variable name (without a deprecation warning). 4) fast_float The fast_float code assigns variable names in alphabetical order if the variable names are not explicitly given. This will be deprecated. Carl --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---