"Barry A. Warsaw" wrote: > > >>>>> "PP" == Paul Prescod <paul@prescod.net> writes: > > PP> I don't see what proposal you are promoting that doesn't have > PP> "@" in it? > > Forget about @, let's use >> instead. Okay, but we're still inventing a new token that doesn't exist otherwise in the language. There are two reasons I oppose this. 1. On the one hand, we are making the print statement even more of a special "syntax region" than it already is. In my opinion that's newbie *unfriendly*. They learn how ">>" works in one place and then when they look around for somewhere else to use it, they won't find it. I think that that is profoundly unpythonic. 2. On the other hand, I oppose special case hacks *in general* because when you solve a problem in one place, it doesn't solve it elsewhere. The benefits of print are: * no requirement for parens * newline by default * easy string coercion and interpolation * less thinking about whitepspace Okay, but what about when I want these features elsewhere in the Python language? At least the last three should should be available everywhere in Python. In fact, we can do better than print: Yours: print >> sys.stdout, 'post to', listname, 'from', sender, \ 'size=', len(msg) My proposal: writeln( $"post to ${listname} from ${sender} size=${len(msg)}" ) (or) log.writeln( $"post to ${listname} from ${sender} size=${len(msg)}") Note that I have more control over whitespace than in your example. I am also reusing conventions from other popular languages. The interpolation is available *wherever* string processing is done and it uses standard Python features to redirect the output. -- Paul Prescod - Not encumbered by corporate consensus New from Computer Associates: "Software that can 'think', sold by marketers who choose not to."
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4