2004-11-27 [長年日記]
λ. hyperset
urelementの存在を許しているので、member関数の型はtype UrelemOrSet u = Either u (Set u)
として、(Ord u) => UrelemOrSet u -> Set u -> Bool
という型になってしまっていて、少し扱いにくい。もしHaskellがスーパータイピングをサポートしていたら、UrelemOrSet u
をSet u
のスーパータイプとして定義することで少しはすっきりしそうだが……
とりあえず現在のスナップショットを公開しておこう。