On Thu, Mar 27, 2014 at 9:28 AM, Mark H Harris <harrismh...@gmail.com> wrote: >> Do you think that the ability to write this would be an improvement? >> >> import ⌺ >> ⌚ = ⌺.╩░ >> ⑥ = 5*⌺.⋨⋩ >> ❹ = ⑥ - 1 >> ♅⚕⚛ = [⌺.✱✳**⌺.❇*❹{⠪|⌚.∣} for ⠪ in ⌺.⣚] >> ⌺.˘˜¨´՛՜(♅⚕⚛) > > > Steven, you're killing me here; argument by analogy does not work!
That's not an analogy. That's an example of valid Python code if arbitrary Unicode characters could be used to name identifiers. > No, any unicode character (except numerals) should be able to begin a name > identifier. alt-l λ and alt-v √ should be valid first character > name identifier symbols. What's a numeral? The circled numbers in the example above are categorized as No ("Number, Other"). Currently Python only allows the ASCII digits in numeric literals, but who's to say that ٤٢ -- categorized as Nd ("Number, Decimal Digit") shouldn't be a valid way to write 42? ㊷ seems a bit excessive for a literal, though, so should that be permitted to start an identifier? >> There are languages that can allow arbitrary symbols as identifiers, like >> Lisp and Forth. You will note that they have a certain reputation for >> being, um, different, and although both went through periods of >> considerable popularity, both have faded in popularity since. > > > Actually, there is a recent resurgence of popularity in both common lisp > and scheme these days. But, again, that has nothing to do with my argument. > No modern language should limit the use of certain symbols to say, only math > √ . The radical symbol is more often than not going to be useful only > with math (which , by the way is why it should be built-in as √ = > squre-rooot) but why limit its use elsewhere. > > Whether this can work in python is also beside the point, because I'm not > demanding anything here either, at this point. One of the things that Python is widely known for is its readability. Allowing symbols such as √ to denote identifiers may be quite expressive and appreciable to the person writing the code. However it damages readability considerably, as seen in Steven's example above. Personally I'm not interested in having to maintain another programmer's code that arbitrarily uses ⌚ as a timer function, ╩ as intersection or ░ as a matrix constructor. -- https://mail.python.org/mailman/listinfo/python-list