関数型プログラミング言語Haskell Part29 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0640デフォルトの名無しさん
2015/10/30(金) 01:13:23.74ID:FTBRryE0=> は型制約?
それとも -> という関数型データ構築子の誤記?
data ShowAny = forall a. Show a => SA a
みたいなデータ型を定義すると、この型を使って
heteroList :: [ShowAny]
heteroList = [SA 7, SA "Hello!", SA [1,2,3], SA ()]
みたいなリストを作って、
map show heteroList
メソッドディスパッチ的な多相みたいなことができるようになる。
forall を書くことでデータ型宣言の右側に量化を及ぼせるようになるのが
forall(とExistentialQuantification拡張)の意義だよ。
■ このスレッドは過去ログ倉庫に格納されています