[表示 : 全て 最新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



721 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 21:39:35.38 ]
forall の話が出たんで、理解をより深めようと調べてたんだけど、
en.wikibooks.org/wiki/Haskell/Existentially_quantified_types
このページで分からない部分がある

[Explaining the term existential] のセンテンスの
「But we got almost the same behaviour above using datatypes. Let's declare one.」
の直前まではなんとか分かった

forall = 積集合
exists = 和集合(Haskell の構文には無い)

というのも、納得はできないが、とりあえずそういうものだと見なす事にする
で、そのすぐ下の「MkT :: forall a. a -> T」 の意味を説明している部分がよく分からない

これまでの話の流れからすると、forall a. (a -> T) というのが、
どういう型(を意味する集合)の積集合になるかを考えれば良いんだよな

つまり、

Int -> T という型を意味する集合が持つ要素
String -> T という型を意味する集合が持つ要素
・・・

などに共通する要素だけを持つ型が forall a. a -> T なんだよな
ここまでは合ってる?

で、その共通する要素って、ボトム以外に具体的にどういうものがあるのかな
と考えてみると・・・ よく分からない

「何かを入力して型 T の値を得る関数」というのがそれかなと初め思ったけど、
じゃあこれは例えば「Int -> T という型を意味する集合が持つ要素」に含まれているのか
と考えると、なんか違う気がする






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

全部読む 前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