
On Sat, Aug 01, 2015 at 01:43:49PM -0400, Eric V. Smith wrote:
I really can't decide if I want to allow adjacent f-string concatenation or not. I'm leaning towards not. I don't like mixing compile-time concatenation with run-time expression evaluation. But my mind is not made up.
There's no harm in allowing implicit concatenation between f-strings. Possible confusion only creeps in when you allow implicit concatenation between f- and non-f-strings.
One issue that has cropped up:
Should we support !s and !r, like str.format does? It's not really needed, since with f-strings you can just call str or repr yourself: [...] With str.format, !s and !r are needed because you can't put the call to repr in str.format's very limited expression syntax. But since f-strings support arbitrary expressions, it's not needed.
Wait, did I miss something? Does this mean that f-strings will essentially be syntactic sugar for str(eval(s))? f"[i**2 for i in sequence]" f = lambda s: str(eval(s)) f("[i**2 for i in sequence]") -- Steve