On Wed, Mar 26, 2014 at 2:52 AM, Antoon Pardon <antoon.par...@rece.vub.ac.be> wrote: > On 26-03-14 03:56, MRAB wrote: >> Or as a root operator, e.g. 3 √ x (the cube root of x). >> > Personally I would think such an operator is too limited to include in a > programming language. > This kind of notation is only used with a constant to indicate what kind of > root is taken and > only with positive integers. Something like the equivallent of the following > I have never seen. > > t = 2.5 > x = 8.2 > y = t √ x
An example is taking the geometric mean of an arbitrary number of values: product = functools.reduce(operator.mul, values, 1) n = len(values) geometric_mean = n √ product I might argue though for the inverted syntax (product √ n) to more closely parallel division. > Of course we don't have to follow mathematical convention with python. > However allowing any > unicode symbol as an identifier doesn't prohibit from using √ as an operator. > We do have > "in" and "is" as operators now, even if they would otherwise be acceptable > identifiers. > So I wonder, would you consider to introduce log as an operator. 2 log x > seems an interesting > operation for a programmer. If it's going to become an operator, then it has to be a keyword. Changing a token that is currently allowed to be an identifier into a keyword is generally avoided as much as possible, because it breaks backward compatibility. "in" and "is" have both been keywords for a very long time, perhaps since the initial release of Python. -- https://mail.python.org/mailman/listinfo/python-list