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


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

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



70 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 18:17:07.03 ]
>>69

背景:
例えばHaskellにおける型(具体型),IntだとかFloatだとかがあったとき,
これらの型情報をうまく扱うためには結局「型=集合」という見方を超えて
「全ての要素にタグ(要するに型情報)がついた世界」を考えたほうが言語の実情に合う.
このような事は実は随分昔にラッセルが創始したタイプ理論というもので行われており,
その当時の動機としては集合論にまつわるパラドックスを回避するとかそんな意味合いが
あったしその理論の完成度も極めて低く今日ラッセルが作った通りのタイプ理論は
まあ普通は使わないんだけど,とにかく「タグが整合性を持って付けられる世界」というのを
集合論と同じぐらいの豊かさで作れる.(いろんな定式がある.)

ここで圏論が出てくる舞台が出来た.「具体的な基礎型」を対象とし,これらの対象を結ぶ射として単相関数を考える
ことにして圏を考える.Haskellで考えるときの名前はHaskと呼ばれる.

簡単な具体例への言及:
そして,Intからリスト [Int] を作る手続きは,圏論的には「Haskから自身への自己関手」として
定式化できる.モナドも自己関手の一種として,圏論的に定式化できるというか元々モナドは
圏論用語ですね.

実際には帰納的に構成されるタイプの型を考えるとHaskellでは「下から上」と「上から下」を
(おそらくは意図して)混同しているので圏論の議論がシャープすぎるところがあるけど,
各種の,例えばFunctor則だとかモナド則だとかはすべて圏論的な図式の可換性条件として
理解できる.


歴史:
Moggiの computational lambda-calculus and monads (1988) なんていう論文
(ネットに転がってる)あたりから出てきた流れだと思われる






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

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

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