Qt4 には QtXml モジュールとして各種 XML 用ユーティリティが用意されています。その中に DOM とともに Simple API for XML(SAX)が含まれています。
saxproject.org のサイトで述べられているように、元々 SAX は Java SE の org.xml.sax として確立され、そのイベント駆動によるパージングのためのインターフェイスが他のプログラミング言語にも移植されています。
オープンソースになっている移植例として
があります。
これらの例のドキュメンテーションで説明されている利用法の概略として: アプリケーションプログラマはベースとなるクラス ContentHandler を継承してパースするためのアプリケーションコードを実装します。このクラスには startElement()、characters() などの関数(ないしメソッド)がエントリーポイントとして存在します。制御の面倒を見る reader に handler を与えてパースさせます。
今回注目したのは、これら関数の戻り値です。オリジナル Java 版では void になっており何も返しません。Qt4 の QXmlContentHandler の仮想関数は bool 値を返します。もし false を返せば、reader は handler がエラーを検出したと見なしてパージングを止めます。
戻り値を利用できないオリジナル Java 版では、handler 自身がパージングを止める処理をしなければなりません。単に reader 側に制御を返すわけにはいかないので、専用の例外に頼ることになります。しかし一般に例外は単なる関数呼び出しより複雑なセマンティクスを持ちます。この戻り値の利用はアプリケーションコードを単純にする工夫と言えます。
最近 PHP の開発者の間で 5.4 向けの機能、scalar typehinting について対立があります。
Typehint という機能は既に 5.1 から object と array については提供されています: http://php.net/manual/en/language.oop5.typehinting.php
今回これらを scalar 型(int や float など)にも適用できる変更が trunk にコミットされました。そしてこれを含めて 5.4 のリリースに向けて動き出そうとしている開発者と、これに反対している開発者の間で議論が激しくなっています。
この変更によってどのような懸念があるかよく表しているポストが http://schlueters.de/blog/archives/139-Scalar-type-hints-in-PHP-trunk.html にあります。コメントにも注目です。
5.4 についてはまだリリースマネージャーが正式に決まっておらず、かつそのリリースマネージャーになる可能性が高いメンバーがこの変更を導入したということで、より話が複雑になっています。個人的には、拙速は避け議論の末に十分な合意が得られるようにしなければならないと思います。
参考
Errata でも利用している MathJax の1.0が公開されました。
数式表示にコンテキストメニューが新たに用意されました。またドキュメントも充実しています。クロスブラウザで html にきれいな数式を表現するならおすすめです。
http://lambda-the-ultimate.org/node/4003 で紹介されている "An intuitionistic logic that proves Markov's principle" という論文が興味深いです。
典型的な intuitionistic logic では、double negation elimination を表す論理式は証明できません(実際、double negation elimination を公理に加えると任意の classical logic の定理が証明できるようになります)。この論文ではある intuitionistic predicate logic のバリエーションを定義し、その上で Markov's principle を表す論理式を証明できることを明らかにしています。これらの論理式は universal quantifier と implication を含まない式についての二重否定の除去を表しています。
提案されている証明系が intuitionistic logic のバリエーションと呼べるのは、
を満たしているからだということです。
そこで気になってくるのは、制限付きの double negation elimination の代わりに、制限付きの Peirce's law が成り立つような、上記2つの性質を満たす intuitionistic logic のバリエーションがあり得るかということです。
2010: Jul / Jun / May / Apr / Mar / Feb / Jan
2009: Dec / Nov / Oct / Sep / Aug / Jul / Jun / May / Apr / Mar / Feb / Jan
2008: Dec / Nov / Oct / Sep / Aug / Jul / Jun / May / Apr / Mar / Feb / Jan
2007: Dec / Nov / Oct / Sep / Aug / Jul / Jun / May / Apr / Mar / Feb / Jan