I like it. I much prefer \ to $ since in most languages that use $ that I know of (Perl, shell) there's a world of difference between $foo and foo whenever they occur (basically they never mean the same thing), whereas at least in shell, \foo means the same thing as foo *unless* foo would otherwise have a special meaning.
I also recall that in some Fortran dialect I once used, $ was treated as the 27th letter of the alphabet, but not in the language standard. See e.g. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Dollar-Signs.html. Apparently it has a similar role in Java ( https://stackoverflow.com/questions/7484210/what-is-the-meaning-of-in-a-variable-name ). On Tue, May 15, 2018 at 8:41 PM, Steven D'Aprano <st...@pearwood.info> wrote: > Inspired by Alex Brault's post: > > https://mail.python.org/pipermail/python-ideas/2018-May/050750.html > > I'd like to suggest we copy C#'s idea of verbatim identifiers, but using > a backslash rather than @ sign: > > \name > > would allow "name" to be used as an identifier, even if it clashes with > a keyword. > > It would *not* allow the use of characters that aren't valid in > identifiers, e.g. this is out: \na!me # still not legal > > See usage #1 here: > > https://docs.microsoft.com/en-us/dotnet/csharp/language- > reference/tokens/verbatim > > > If "verbatim name" is too long, we could call them "raw names", by > analogy with raw strings. > > I believe that \ is currently illegal in any Python expression, except > inside strings and at the very end of the line, so this ought to be > syntactically unambgiguous. > > We should still include a (mild?) recommendation against using keywords > unless necessary, and a (strong?) preference for the trailing underscore > convention. But I think this doesn't look too bad: > > of = 'output.txt' > \if = 'input.txt' > with open(\if, 'r'): > with open(of, 'w'): > of.write(\if.read()) > > maybe even nicer than if_. > > Some examples: > > result = \except + 1 > > result = something.\except > > result = \except.\finally > > > -- > Steve > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido van Rossum (python.org/~guido)
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/