PEP 3003 Python Language Moratorium が accept されたようです。この PEP は、当分の間、 Python 3.x の文法を変えませんよ宣言するものです。この変更の一時停止期間をモラトリアムと呼んでいます。
モラトリアムの意図は、Jython や IronPython などが、Python 3.x を実装しやすくするためです。しばらくしたら、IronPython の 3.x 系が出てくるかも。以下、おおざっぱなまとめ。
- Python 3.1 リリース以降、2年間は Python の文法、セマンティクス、ビルトイン関連の変更を行わない。
- Python 3.2 リリースはモラトリアム期間内なので、言語への変更はない。
- Python 3.3 リリースはモラトリアム期間外なので、言語への変更が起こりうる。
変更しないもの
- 新しいビルトイン
- 文法: 文法ファイルは不変とし、あいまいな理由で修正をしてはならない。
- セマンティクス: 特定の例外(下記を参照)をのぞいて、言語としての動作は現状を維持する。
- __future__ でインポートできるもの: 言語の文法やセマンティクスに影響するので。
場合によっては変更するもの
- ビルトインの新規メソッド
- 不適切なセマンティクスの修正: 言語のセマンティクスがあいまいだったり、元々の設計に反して、不適切に実装されている場合は、セマンティクスの変更してもよい。
- セマンティクスの実装が、著しく困難な場合: CPython 以外で、Python 3.x を実装することが著しく困難な場合には、他の VM にがPython 3.xの採用を容易できるようにしてよい。
変更してもよいもの
- C API
- 標準ライブラリ
- 3.x から 2.x へのバックポート
- import のセマンティクス