haskell-ja > Archives > 2013/03/18

2013/03/18 07:47:22 UTCyuga
#
型コンテキストの中の ~ ってなんですか?
#
こういうのがあったのですが。primarily :: Key Primary t a -> (a ~ PKT t => r) -> r
#
Googleで検索するのに使える良いキーワードがあれば教えてください。
よろしくお願いします。
2013/03/18 07:55:27 UTCmaoe
#
tablesですね。equality constraintsで見つかると思います。
2013/03/18 07:55:31 UTCikegami__
#
"Equality constraints" ですかねえ
#
GHC のマニュアルの Equality constraints の章はここです : http://www.haskell.org/ghc/docs/latest/html/users_guide/equality-constraints.html
2013/03/18 08:01:01 UTCyuga
#
なるほど、ありがとうございます。
2013/03/18 08:02:25 UTCikegami__
#
Equality constraints 興味をもって調べはじめたのですが、何が嬉しいのかさっぱりわかりません。誰かポインタ下さい。
2013/03/18 08:25:00 UTCmaoe
#
たとえばType Checking with Open Type FunctionのMotivation and examplesのParametrised collectionsとかでしょうか。Collectsクラスは要素の型を引数に持たないですが、insx :: (Collects c, Elem c ~ Char) => c -> cで要素がCharなコレクションだけに適用できる関数の型を表現できるみたいな使い方です。