[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 04/25 05:23 / Filesize : 232 KB / Number-of Response : 786
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

関数型プログラミング言語Haskell Part17



737 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 07:53:36.61 ]
>>729
> 全称量化することで、型パラメータaが取り得る全ての型に共通の性質だけにしか言及できなくなる。

>>726 でも言ったが、俺も普段は似たような考え方で forall を扱っている
しかし、この考え方とリンク先のページで述べられている考え方との整合性がなんか上手く取れないんだ
(たぶん同じ forall について我々とリンク先は別の視点、捉え方で見ていると思うんだ)

> ⊥しか取りえないってのは間違い。

例えば >>726 を繰り返すが
(読み返してみて、誤解を与える表現に気づいたので括弧は外した)

⊥, 0, -1, 1, -2, 2, ... を要素に持つInt型という名前の集合
⊥, True, False を要素に持つBool型という名前の集合
⊥, "kyu-ri", "daikon", ... を要素に持つString型という名前の集合

ゆえに forall a. a は ⊥ を要素に持つ(名前は知らん)集合

という考え方を取っている(これはハッキリ書かれている、と俺は思う)

貴方や俺が普段取っている「型パラメータaが取り得る全ての型に共通の性質」という考え方ならば、
例えば forall a. (Show a) => a とすれば、その共通する性質をさらに (Show a) と絞り込む
という風に素直に考えられ、実際のコンパイラの挙動とも合致する

しかし、リンク先の考え方だと、forall a. a で {⊥} という集合なら、
これに対して (Show a) という性質で絞り込むことがちょっと想像できない
forall a. a -> T についても同じ

リンク先の言いたいことは何なんだろうというのが疑問なんだが、
申し訳ない >>729 でもまだ疑問が解消されない
(やっぱりそう考えた方が今はまだ分かりやすいな、という気持ちは再確認できたが)






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef