> インデックスを使うデータ型について二つ質問があります。

shelarcy さんの言うインデックスというのは、
Ix クラスのデータ型と思っていいですか?

Haskell では Ix を使うデータ型といえば、Array ですよね。

> 1. wxHaskell 8.0 の Bitmap 管理改善は直接 Bitmap が扱え
> るようにしただけであって Pixel buffer の扱いを改善したようで
> はないようです。
> 
> そのため以下の関数で画像の Filter 関数を書こうを書くことはでき
> ません(メモリ管理の都合上プログラムが正常に動かなくなります)が、

なぜでしょう?なにがどのように書けないのでしょうか?

> 新たに pixelBufferCreate と pixelBufferDelete が加わっ
> たため、Point x y をインデックスとし Int を格納するデータ型
> として定義すればなんとかなりそうな気がします。……が、Haskell
> で Multiarray ってありましたっけ? もしくはどのように定義す
> ればよいでしょうか?

Multiarray って何でしょうか?多次元配列という意味ではないですよね?

> 2. SML の以下の定義を Haskell に置き換えるために MultiIndex
> の Hash 関数を定義しようと思っているのですが、何かエレガント
> なアイデアはあるでしょうか?

MultiIndex の Hash 関数とはどんなものなのでしょう。

私はSMLは全くわからないです。

SML でのデータ構造は、何を表現するデータ型でしょう?
何をどうする為のデータ構造ですか?

何がやりたいのか説明があると少しはわかるかも。。。
あるいは Haskell で書いたコードがあれば少しはわかるかも。。。
 
> Data.HashTable の上に Monad を使って定義することもできま
> すが、そうするとコードが命令型っぽくなって美しくありません。

どのように定義しましたか?それを見ると何がやりたいのか分るかも。。。

--nobsun

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/