Size: 524
Comment:
|
← Revision 16 as of 2008-11-15 09:16:00 ⇥
Size: 3520
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
'''Contents''' [[TableOfContents]] | '''Contents''' <<TableOfContents>> |
Line 3: | Line 3: |
=== Jython 2.2 === | = Jython 2.3 = |
Line 5: | Line 5: |
==== Slots ==== | == Builtins == |
Line 7: | Line 7: |
==== Bug Triage ==== | yield is always a keyword. '''[done]''' |
Line 9: | Line 9: |
==== regrtest Failures ==== | enumerate() built-in added. '''[done]''' |
Line 11: | Line 11: |
=== Jython 2.3 === | int() will now return a long instead of raising OverflowError if a number is too large. |
Line 13: | Line 14: |
==== Replace jythonc ==== | built-in types support extending slicing syntax. |
Line 15: | Line 16: |
==== Solidify Import System ==== | list.insert() changed to be consistent with negative slice indexing. '''[done]''' |
Line 17: | Line 18: |
==== Fix Java to Python naming integration ==== | list.index() takes optional start, stop arguments. '''[done]''' |
Line 19: | Line 20: |
==== PEP 218: A Standard Set Datatype ==== | Dictionaries gained a pop() method and .fromkeys() class method. '''[done]''' |
Line 21: | Line 22: |
==== PEP 263: Defining Python Source Code Encodings ==== | dict() constructor takes keyword arguments. '''[done. also applied in 2.2]''' |
Line 23: | Line 24: |
==== PEP 273: Importing Modules from Zip Archives ==== | assert no longer checks __debug__ flag. |
Line 25: | Line 26: |
==== PEP 278: Universal Newline Support ==== | Many type objects are now callable. '''[possibly done]''' |
Line 27: | Line 28: |
==== PEP 285: A Boolean Type ==== | == PEPs == |
Line 29: | Line 30: |
[[http://www.python.org/dev/peps/pep-0218/|PEP 218]]: A Standard Set Datatype [[http://www.python.org/dev/peps/pep-0263|PEP 263]]: Defining Python Source Code Encodings [[http://www.python.org/dev/peps/pep-0273|PEP 273]]: Importing Modules from Zip Archives '''[done]''' [[http://www.python.org/dev/peps/pep-0278|PEP 278]]: Universal Newline Support '''[done]''' [[http://www.python.org/dev/peps/pep-0285|PEP 285]]: A Boolean Type [[http://www.python.org/dev/peps/pep-0307|PEP 307]]: Pickle Enhancements Reference: [[http://www.python.org/doc/2.3/whatsnew/|What's New in Python 2.3]] = Jython 2.4 = Built-in set, frozenset Unifying int/long Generator expressions Function/method decorators Multi-line imports Reference: [[http://www.python.org/doc/2.4/whatsnew/|What's New in Python 2.4]] = Jython 2.5 = Conditional expressions 'with' statement Absolute & relative imports Unified try/except/finally New generator features Exceptions as new-style classes The ``__index__`` method Reference: [[http://www.python.org/doc/2.5/whatsnew/|What's New in Python 2.5]] = Replace jythonc = jythonc doesn't handle generators and is difficult to debug and improve. The current thinking is to add capabilites to jython itself to generate bytecode from py files and run those statically compiled items rather than jythonc's approach of making Java classes that work like the base Python code. See http://thread.gmane.org/gmane.comp.lang.jython.devel/1429/focus=1430 for the general idea. = Solidify Import System = Jython adds to Python's import system to handle loading from Java's classpath and to load from jar files. It's not exactly clear what modifications are in place and what techniques are best for adding jar files to the path at runtime and things like that. An informational JEP explaining what's been added and how things relate to both the Python and Jython sides would be nice. Brett Cannon has been working on rewriting all of Python's import machinery in Python; see http://svn.python.org/view/sandbox/trunk/import_in_py/ for the code. = Complete Java to Python naming integration = Java allows a method and field of the same name to exist in the same class. Python only has a single namespace for these items. This leads to methods being hidden in a Java instance in Jython if the instance has a field of the same name. In addition, the bean convenience methods that map object.getField() in Java to object.field in Jython lead to collisions. See http://thread.gmane.org/gmane.comp.lang.jython.user/4919/ and http://jython.org/bugs/1509095. A standard system for renaming fields and methods to avoid collisions and a JEP explaining the whole thing would be most welcome. |
Contents
Contents
Jython 2.3
Builtins
yield is always a keyword. [done]
enumerate() built-in added. [done]
int() will now return a long instead of raising OverflowError if a number is too large.
built-in types support extending slicing syntax.
list.insert() changed to be consistent with negative slice indexing. [done]
list.index() takes optional start, stop arguments. [done]
Dictionaries gained a pop() method and .fromkeys() class method. [done]
dict() constructor takes keyword arguments. [done. also applied in 2.2]
assert no longer checks debug flag.
Many type objects are now callable. [possibly done]
PEPs
PEP 218: A Standard Set Datatype
PEP 263: Defining Python Source Code Encodings
PEP 273: Importing Modules from Zip Archives [done]
PEP 278: Universal Newline Support [done]
PEP 285: A Boolean Type
PEP 307: Pickle Enhancements
Reference: What's New in Python 2.3
Jython 2.4
Built-in set, frozenset
Unifying int/long
Generator expressions
Function/method decorators
Multi-line imports
Reference: What's New in Python 2.4
Jython 2.5
Conditional expressions
'with' statement
Absolute & relative imports
Unified try/except/finally
New generator features
Exceptions as new-style classes
The index method
Reference: What's New in Python 2.5
Replace jythonc
jythonc doesn't handle generators and is difficult to debug and improve. The current thinking is to add capabilites to jython itself to generate bytecode from py files and run those statically compiled items rather than jythonc's approach of making Java classes that work like the base Python code. See http://thread.gmane.org/gmane.comp.lang.jython.devel/1429/focus=1430 for the general idea.
Solidify Import System
Jython adds to Python's import system to handle loading from Java's classpath and to load from jar files. It's not exactly clear what modifications are in place and what techniques are best for adding jar files to the path at runtime and things like that. An informational JEP explaining what's been added and how things relate to both the Python and Jython sides would be nice.
Brett Cannon has been working on rewriting all of Python's import machinery in Python; see http://svn.python.org/view/sandbox/trunk/import_in_py/ for the code.
Complete Java to Python naming integration
Java allows a method and field of the same name to exist in the same class. Python only has a single namespace for these items. This leads to methods being hidden in a Java instance in Jython if the instance has a field of the same name. In addition, the bean convenience methods that map object.getField() in Java to object.field in Jython lead to collisions. See http://thread.gmane.org/gmane.comp.lang.jython.user/4919/ and http://jython.org/bugs/1509095. A standard system for renaming fields and methods to avoid collisions and a JEP explaining the whole thing would be most welcome.