[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: a36 ◆K0BqlCB3.k [sage] 2011/10/07(金) 12:27:25.71 haskell.org ttp://www.haskell.org/ 日本語サイト ttp://www.sampou.org/cgi-bin/haskell.cgi ttp://www.shido.info/hs/ 過去ログ 関数型プログラミング言語Haskell Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/ Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/ Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/ Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/ Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/ Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/ Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/ Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/ Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/ Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/ Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/ Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/ Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/ Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/ http://echo.5ch.net/test/read.cgi/tech/1317958045/1
949: デフォルトの名無しさん [sage] 2012/01/02(月) 11:37:17.46 >>945 それ、MonadどころかLISPのS式の時点で示されてるじゃんw http://echo.5ch.net/test/read.cgi/tech/1317958045/949
950: デフォルトの名無しさん [sage] 2012/01/02(月) 11:54:20.89 >>948 京都の先生にSICPの訳をdisられた疑惑が浮上して以来2chでの権威はストップ安です http://echo.5ch.net/test/read.cgi/tech/1317958045/950
951: デフォルトの名無しさん [sage] 2012/01/02(月) 12:19:02.82 >>950 disられたってどういうこと? http://echo.5ch.net/test/read.cgi/tech/1317958045/951
952: デフォルトの名無しさん [sage] 2012/01/02(月) 12:26:28.49 モナドは中身はともかく、どう書けるかって話だと確かに関数型捨ててるでしょ。 特にdoを使って書いてると手続き型とほとんど変わらんし、似たようなスパゲティ化もしやすいし。 http://echo.5ch.net/test/read.cgi/tech/1317958045/952
953: デフォルトの名無しさん [sage] 2012/01/02(月) 12:30:08.48 >>948 和田(笑) http://echo.5ch.net/test/read.cgi/tech/1317958045/953
954: デフォルトの名無しさん [sage] 2012/01/02(月) 12:54:56.37 >>951 http://togetter.com/li/215803 ここにまとめられてる湯浅先生の発言を、 キチガイが拡大解釈して必死に広めてるだけ。 キチガイ死ねよ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/954
955: デフォルトの名無しさん [sage] 2012/01/02(月) 13:02:10.78 >>948 こういう人は具体的に何故モグリなのか全然説明してくれないから説得力が全くない 権威主義の人って大体そんな感じ http://echo.5ch.net/test/read.cgi/tech/1317958045/955
956: デフォルトの名無しさん [sage] 2012/01/02(月) 13:29:14.03 >>954 なんで自分で噂に根拠与えちゃってるの? そのままほっとけば単なる噂ですんだのに。 http://echo.5ch.net/test/read.cgi/tech/1317958045/956
957: デフォルトの名無しさん [sage] 2012/01/02(月) 13:43:07.49 クロージャーとかジェネレーターの辺りで完結するべきだった。 最近の関数型はだらだら引き伸ばしているだけ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/957
958: デフォルトの名無しさん [sage] 2012/01/02(月) 13:44:07.71 >>956 根拠のない噂を広める罪がわからないゴミカスのようなキチガイは死ねよ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/958
959: デフォルトの名無しさん [sage] 2012/01/02(月) 14:06:34.63 >>952 つまり、プログラマが式をどう考えるかや、コンパイラが式をどう扱うかではなく、 式をどう書くかによって関数型かそうでないかを判断しているのか、お前は じゃあ、お前の言う関数型を捨てた書き方である do {x <- getLine; putStr $ "> " ++ x} これを getLine >>= putStr . ("> " ++) こう書いたら、関数型に戻るのか? あともう一つ、本当にdo表記で似たようなスパゲティ化が起きやすいのか? お前はdo表記で頻繁にスパゲティ化してしまっているのか? スパゲティ化という事は、実行順序、Haskellなら計算順序が複雑に絡まるんだよな それはdo表記だから絡まるのか? むしろdo表記の方が絡みにくくないか? http://echo.5ch.net/test/read.cgi/tech/1317958045/959
960: デフォルトの名無しさん [sage] 2012/01/02(月) 14:14:42.26 >>959 前者に関しては、俺の感覚ではイエス。 後者に関しては俺の書き方が悪かった。 手続き的なコードが縦にダラダラ長くなるとぐちゃぐちゃに見えてキモいってだけなんだ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/960
961: デフォルトの名無しさん [sage] 2012/01/02(月) 14:27:45.34 好き嫌いだけで一歩も進んでないのな http://echo.5ch.net/test/read.cgi/tech/1317958045/961
962: デフォルトの名無しさん [] 2012/01/02(月) 14:33:23.75 >>945 どんなもの達をもってきても、それらが「大体同じである」と見る視点はいくら でも作れるわけだが、ListとIOとMaybeは大体同じだというモナドの視点はそんな ナンセンスな視点ではないのだね? http://echo.5ch.net/test/read.cgi/tech/1317958045/962
963: デフォルトの名無しさん [sage] 2012/01/02(月) 15:05:16.12 >>962 > そんなナンセンスな視点ではないのだね? 「そんな」がどんなのを指しているのか曖昧だな もっとはっきりと言ってくれ 大体同じであるという視点はどのような集合に対しても適用できるけど、 「どう同じなのかが論理的に説明できる」ことと、 その視点が応用する上で「役に立つ」こと、 この2点が無いとせっかくの発見も後の時代まで残らない モナドはとりあえず今のところ残ってる http://echo.5ch.net/test/read.cgi/tech/1317958045/963
964: デフォルトの名無しさん [sage] 2012/01/02(月) 15:12:39.30 >>960 お前の手続き的なコードが縦に「ダラダラ長くなる」原因は何だ? それはdo表記のせいなのか? お前はもしかして、自分のコードがdo表記で縦にダラダラ長くなったら、 その原因がdo表記にあると考えて、getLine >>= putStr . ("> " ++) みたいな表記に直すのか? それとも、キモいって言うだけで、後が続かず終わってるのか? もし本当にそうなら、関数型や手続き型うんぬんの前に、 プログラムそのもの構造を学んだ方が良いぞ(SICP なんか読みやすくてお勧め) http://echo.5ch.net/test/read.cgi/tech/1317958045/964
965: デフォルトの名無しさん [] 2012/01/02(月) 15:26:49.59 >964 縦に長くならなくても、 do {x <- getLine; putStr $ "> " ++ x} のxも、関数型からすれば嫌だろ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/965
966: デフォルトの名無しさん [sage] 2012/01/02(月) 15:37:53.22 >>965 では構文的な構造が似ている let x = 3 in f x これも「関数型からすれば嫌」なのか? http://echo.5ch.net/test/read.cgi/tech/1317958045/966
967: デフォルトの名無しさん [] 2012/01/02(月) 15:53:19.26 >>963 最初からモナドと言わずにリストと言えば通じやすかったと思うが。 http://echo.5ch.net/test/read.cgi/tech/1317958045/967
968: デフォルトの名無しさん [sage] 2012/01/02(月) 16:15:00.92 >>967 すまん、言わんとしていることがよく分からん 俺の発言の何に対する意見なんだ? 通じやすかったというのは世間にか? それともここ一連の会話の誰かにか? 前者なら最初から委員会の連中はリストはリストと言っている(モナドは後付け) 後者なら誰だよそんな事言ったの 俺は >>962 の ListとIOとMaybeは大体同じだというモナドの視点はナンセンスかどうか、に対して、 モナドはどう同じなのかが論理的に説明できており、かつ役に立つ視点である、 だからナンセンスではない、という自分の考えを謂わば逆説的に述べただけだよ http://echo.5ch.net/test/read.cgi/tech/1317958045/968
969: デフォルトの名無しさん [sage] 2012/01/02(月) 16:34:00.46 >>953 それはスーフリの方。 >>959 do表記は手続きっぽくなるから、スパゲティーメイカーになりやすいかも。 スパゲティーにするならせめてカルボナーラかミートソースにしてくれよ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/969
970: デフォルトの名無しさん [sage] 2012/01/02(月) 16:36:45.39 手続きっぽくなるとスパゲティになる理由は? ちゃんと自分の言葉で説明できるか? http://echo.5ch.net/test/read.cgi/tech/1317958045/970
971: デフォルトの名無しさん [] 2012/01/02(月) 16:39:56.99 >>968 俺の方が曖昧な言い方ですまんかった。 まず通じやすかったというのは世間に対してという意味だった。 「ListとIOとMaybeは大体同じだ」というときの共通性が、言ってしまえばリスト化 (多元化)にあるのだとすれば、モナドなどというよりリストと言った方が 伝わり易いと思ったわけだ。また曖昧なこと言ったかな。 (ナンセンスうんぬんの方はもういいよ) http://echo.5ch.net/test/read.cgi/tech/1317958045/971
972: デフォルトの名無しさん [sage] 2012/01/02(月) 16:57:05.72 >>971 あぁ、なるほどな > 「ListとIOとMaybeは大体同じだ」というときの共通性が、 > 言ってしまえばリスト化(多元化)にあるのだとすれば、 そう解釈してしまったのなら、 > モナドなどというよりリストと言った方が伝わり易いと思ったわけだ。 と言うのも十分に分かる、というか当然の反応だ ただ残念ながら、少なくとも「それらに見いだした共通性はリスト化だ」 という解釈に関しては間違っている(多元化の意味は分からんが) Wadler氏が List、IO、Maybeなどにどのような共通性を感じたのかは Monad型クラスの関数に間接的に表れてはいるが、俺の力ではとても一言で言えない それこそちゃんと知るには彼の論文や基になったMoggi氏の論文を読まないといけない ただ、一般的なプログラマには「Monad型クラスの関数がモナドに共通する構造だ」 と言いうだけで応用上は十分だと思う その共通構造をモナドが応用される前のListやIOに見いだしたと言っていい http://echo.5ch.net/test/read.cgi/tech/1317958045/972
973: デフォルトの名無しさん [sage] 2012/01/02(月) 18:16:38.74 >>972 よくわかってないが、非決定計算、副作用、継続についてはMoggiの最初の論文の中で定式化されてる。 共通性といいたいところは多分普遍的性質のことだろうと思う。 普遍性の構造が共通している、というかそれぞれモナドで整理可能だからモナドなんだろう。 http://echo.5ch.net/test/read.cgi/tech/1317958045/973
974: デフォルトの名無しさん [sage] 2012/01/02(月) 18:20:45.89 >>970 デバッグが困難になる。 http://echo.5ch.net/test/read.cgi/tech/1317958045/974
975: デフォルトの名無しさん [] 2012/01/02(月) 18:25:00.71 >>973 普遍的性質って具体的には? http://echo.5ch.net/test/read.cgi/tech/1317958045/975
976: デフォルトの名無しさん [sage] 2012/01/02(月) 18:27:24.82 モノイダル圏におけるモノイド対象が存在すること http://echo.5ch.net/test/read.cgi/tech/1317958045/976
977: デフォルトの名無しさん [sage] 2012/01/02(月) 18:33:35.46 >>975 ある一つの性質から全体の性質が定まることで、 モナドの場合はそれが入れ子状になっている、ようだ。 正直そんな説明できるほどわかってない。 http://echo.5ch.net/test/read.cgi/tech/1317958045/977
978: デフォルトの名無しさん [sage] 2012/01/02(月) 18:46:14.03 >>974 それは全く説明になっていないと思うぞ >>970 が訊いているのは手続きっぽくなるとスパゲティになる理由だ [1] 手続きっぽくなる --> [2] スパゲティになる 原因 [1] によって結果 [2] になることを筋道を立てて説明してほしいのだろう しかし、デバッグが困難になるというのは、さらにその先の結果だ [2] スパゲティになる --> [3] デバッグが困難になる デバッグが困難になるからスパゲティになるのではない([3]-->[2]) スパゲティだからデバッグが困難になる([2]-->[3]) http://echo.5ch.net/test/read.cgi/tech/1317958045/978
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s