top | item 15336256

(no title)

irahul | 8 years ago

> dict.keys() returning something different from what it used to isn't a syntactic change; it's a change in function behavior. Since macros handle syntax, they aren't applicable to a function semantics change.

Now you are telling me something I told you in the first place.

> What we might do here is to use two different keys symbols in different packages. We can have a ver2:keys and ver3:keys and control which of these dict.keys() uses in some scope. But that's not macros.

Right. So like I said, macros won't have helped, at all.

> Old syntax can be supported side by side with new syntax.

Creating a Frankenstein's monster was never the goal. And besides, they already had tools for code which can run both on 2 and 3.

https://pypi.python.org/pypi/future

> So then since we have a way to have old syntax and old API semantics, which is pretty much everything, we can have a nice migration path.

No, it's not a good migration path. 2to3 was a good migration path. Supporting n different versions of apis and syntax isn't a good migration path.

This has gone way too long. You made this claim:

"If Python had macros, Python 2 to 3 migration would be a non-issue."

That is patently false. I don't know why you can't simply accept you were wrong but I must check out now.

discuss

order

No comments yet.