Mono 1.1.4 / 1.0.6 released
ついにリリースされました。
mono 1.1.4は、1.0.6よりはるかに安定しています。数少ない開発者リソースのほぼ全てがHEADで作業していますんで。1.1.3が12月で、1.1.4のコード自体が実際には2月の初頭にフリーズしていたことを考えると、ほぼ2ヶ月分の更新内容となります。新機能の概要は
- CASサポート (mono —securiry で実行)※CASのフレームワークがランタイム上で実装されたという意味であって、全てのセキュリティが機能するようになった、という意味ではありません
- mcsの厳密なtype lookup fix
- ASP.NET 2.0: master page, treeview, menu えっと、ここに簡単に試し方があります
- Managed Windows Formsがデフォルトになりました
- System.Xml 2.0 がほぼ完成
- mono/docscripts : ランタイムAPIのドキュメンテーション生成の改善
- SSAPRE, ABCREMの改善, peepholeとlinear scanの改善
- ランタイム内部でのdelay instantiationつまり最適化
- MonoPosixOEE (Mono.Unix)
もちろんid:akirameiさんとKazukiさんのnumber formattingの改善も含まれています。
IKVM.NETも更新されていますね。
で
僕はいまいち理解していないんでしょうけど、何でa.Equals(b)をb.Equals(a)にしただけで問題が消えて無くなったんでしょうねぇ。ランタイムのバグならMartinの言うとおりそれを直すのが正道だし、.NET 2.0で作ったコードがああしないと期待通りの振る舞いをしないというのなら、.NET 2.0の方が交換則をまともに実装できていなくておかしいのだから、やっぱり何かを直すべきものという印象はないですね(そう考えてないMS.NETキティもMLにはいるみたいだけど)。
追記:あ、コレの話です。
追記2:あ、しかも書いてあった…orz 確かにobjectとしての交換則が成立してないっぽい。で、問題はEquals()の引数ではなくて、何を使って比較するかという話なんじゃないかなあ。あ、だからMiguelのあーいう返事になるわけか。
追記3: Kazukiさんが解説してくれました。うん、これがBenと同じ理解ですね。
追記4:
追記多いなあ…。で、私見なんですけど、これは直しても良いんじゃないかなあと思います。「ユーザーの実装に問題があって、コードが期待通りに動作しない」という問題は、僕も経験したことがあります。ていうかMSのSgmlReaderなんですけどね。こいつはMoveTo*Attribute()のどっかにバグがあって、それ単体では表に出なかったんだけど、ReadNode()の実装の違いから、Mono上で動かしたときだけ表に出ちゃった、っていうもので、「こいつはユーザーの教育上直さない方が良いとも思うね」と釘を打ってから、MSコードと同じと思われる動作にしてcommitしました。
XPathResultType.Navigatorに起因するバグ
何だ、結局MSのXslTransformにはユーザー関数以外にもアレに起因するバグがあるんじゃん。OASIS testのselect_select67.xslより:
We are inside.
We are offside.
We are generic.
えーと、何かスタイルシート中にpppとかいうのが入ってるのは多分はてなダイアリーのバグだと思うんだけど、理由は分かりません…
ひえぇ
間違ってこれを.svnディレクトリまでコピーしてから翻訳を始めてしまって、しかもそのままcommitしてしまって、オリジナルが間違って全部日本語訳になってしまったので、全部revertしてcommitしなおしたら…
utf-8で読み直しませう
真似しちゃいけません orz
次はオレオレ証明書サーバの作り方でもやろうかなあ…