Sublime Forum

Python Improved 2.0.0 "Cryptic Bacon" has been released!

#1

A brand-new version of Python Improved was just released, and it’s been a long time coming! There have been a lot of improvements, bug fixes, and enhancements made, but there are a couple of major ones to highlight:

  • Unicode identifiers are now fully supported throughout - currently the only
    Python syntax definition with this feature.

  • Full support for Python 3.5 (async
    and await, new errors/exceptions, and more), while maintaining backwards compatibility with Python 2 (print statement, magic methods, etc.)

  • Significant improvements to the way builtin types and magic methods/attributes are scoped, allowing for differentiation between a function name and a function call: http://pigimal.com/img/support.type_vs._function.call2.png

  • Cleanup of builtins and magic methods and variables to match the Python data model, deprecated items moved to their own scope

  • And a bunch of other stuff…

Many thanks to all who contributed, especially @facelessuser, who fixed a killer last-minute bug that had derailed the entire thing. As always, I really appreciate feedback. Let me know what you think, if you’ve found any bugs, have suggestions for improvements, or just want to shower me with gratitude.

Happy Pythoning!

0 Likes

#2

str(i) isn’t a function call. str is a type, and calling a type results in calling the constructor. Thus str(i) is also calling the constructor of the type and not a funtion call (in the traditional sense).

Either way, it doesn’t make sense to treat str differently than str() as a function call. It’s still the same thing, one time used directly and the other time as a callback expression. You don’t treat range different to range() either, or do you?

0 Likes