いつのまにか IronPython1.1 のリリース候補第一版 ( RC 1 ) が公開されていました。
マイナーバージョンアップではあるものの、バグ修正だけでなくいくつか新しい機能も追加したとのこと。IronPython 1.0 では CPython では 標準モジュールとして用意されていた MD5 などのモジュールが ( IronPython の標準ライブラリとしては ) 用意されていなかったのですがこれらが追加されたようです。
IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys
>>> sys.builtin_module_names
('marshal', 'itertools', '_weakref', '_sre', '_random', 'time', 'thread', 'struct',
're', 'operator', 'nt', 'math', 'binascii', 'imp', 'gc', 'exceptions', 'errno',
'datetime', 'cStringIO', 'collections', '_codecs', '__builtin__', '_locale', 'cPickle',
'copy_reg', 'socket')
こちらが 1.0 の組み込み ( 標準 ) モジュール。そして下が 1.1RC1 の組み込み ( 標準 ) モジュール。
IronPython 1.1 (1.1) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys
>>> sys.builtin_module_names
('gc', 'exceptions', 'sha', '_weakref', '_sre', '_random', 'time', 'thread', 'struct',
're', 'operator', 'nt', 'math', 'marshal', 'itertools', 'imp', 'cPickle', 'errno',
'datetime', 'cStringIO', 'collections', '_codecs', 'binascii', 'socket', 'select',
'_locale', 'copy_reg', '__builtin__', 'md5', 'array')
新しく追加されたモジュールは↓から array, md5, select, sha みたい ( ReleaseNote に書いてあることに後から気づいた orz )
>>> ipy10_builtin_module = set( ('marshal', 'itertools', '_weakref', '_sre', '_random
', 'time', 'thread', 'struct', 're', 'operator', 'nt', 'math', 'binascii', 'imp'
, 'gc', 'exceptions', 'errno', 'datetime', 'cStringIO', 'collections', '_codecs
', '__builtin__', '_locale', 'cPickle', 'copy_reg', 'socket') )
>>>
>>> ipy11_builtin_module = set( ('gc', 'exceptions', 'sha', '_weakref', '_sre',
'_random', 'time', 'thread', 'struct', 're', 'operator', 'nt', 'math', 'marshal'
, 'itertools', 'imp', 'cPickle', 'errno', 'datetime', 'cStringIO', 'collections'
, '_codecs', 'binascii', 'socket', 'select', '_locale', 'copy_reg', '__builtin__
', 'md5', 'array') )
>>> ipy11_builtin_module - ipy10_builtin_module
set(['sha', 'array', 'select', 'md5'])
他の追加機能としては、ヘルプシステムにおけるXML Doc コメント と __doc__ タグのサポートと、プレコンパイルバイナリのキャッシュがサポートされるようになったとのこと。
修正されたバグでは、os モジュールのエラーメッセージが CPython と異なっていたこと、globals().fromkeys() が動作しなかったこと、globals().values() が動作しなかったこと、yield に関連するバグなどなどが修正されたみたい。globals() のバグが修正されたのは嬉しい。詳細は1.1RC1 リリースノートを参照。
- Reference
- IronPython 公式ページ
- 1.1 RC1 リリースノート
- 1.1 RC1 ダウンロードページ