2005-10-08 [長年日記]
λ. 東方花映塚: スペルポイント88万
スペルポイントが999990を超える(弾幕開花宣言)なんて絶対無理だと思ってたけど、ノーマルのてゐ相手で88万ほどまでいった。頑張れば結構なんとかなるのかも。
λ. Haskellへの多相バリアントの導入について. 香川 孝司
<URL:http://www.nue.riec.tohoku.ac.jp/jssst2005/papers/05100.pdf>
この手の話でO'HaskellやHList/OOHaskellが言及されていないのはちと不思議に思える。
それと、多相バリアントは多相バリアントでも、O'Camlのはデータ構築子の型を任意に決め、任意に組み合わせることが出来るのに対して、ここで提案している拡張可能なバリアントはそこまで自由度の高いシステムではない。どちらが望ましいというわけではないけど、一応区別して考えた方がよいと思う。
この論文で導入されたバリアントの宣言方法は最初は冗長に感じられたが結構面白い。O'Haskellと違ってsupertypingの規則がない点が、O'Haskellとの違いになっているのだろうか? ただ、この宣言方法だと regular でないデータ型(nested data types)を宣言出来ないという問題はあるな。
開再帰の問題についてはよく知らなかったが、それを型クラスの一種を用いて解決するのはスマートに思える。
それに、Haskellのコードを出力するプリプロセッサとして動作させることが出来るというのも面白いな。 あと、Typing Haskell in Haskell の推論エンジンを拡張して実装してあるというのを知って、私も Typing Haskell in Haskell のコードを改造して遊んでみたくなった。