トップ «前の日記(2004-05-22) 最新 次の日記(2004-05-24)» 月表示 編集

日々の流転


2004-05-23 [長年日記]

λ. "Restricted Datatypes in Haskell", John Hughes (Chalmers University, Sweden)

を読んだ。ここで提案している拡張では、「datatype Eq a => Set a = ...」という型があったときに、「member :: wft (Set a) => a -> Set a -> Bool」のようにwft(well-formed type)を文脈に書くことによって、Set a が制約を満たして構成された型であること(この場合 Eq a であることを意味する)を書く。直感的にはこのwftは不要なように思えるが、確かに無くせないんだよなぁ。うーむ。

それと、ここで書かれている constructor-polymorphic がどういうものなのか良くわからなかった。

【2006-03-26 追記】 constructor-polymorphic は単に型構築子に関して多相的ってだけで、特別な意味はないか。何でこんなのが理解できなかったのか不思議。それはそうと、restricted data types は haskell-prime でも議論されていた(1,2,3)。その中に出てきた Restricted Data Types Now が技巧的でちょっと面白かった。