[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
830: デフォルトの名無しさん [sage] 2011/12/24(土) 11:20:48.10 AAS
さっき俺の方でも実行してみたけど、問題なくいけた
831: デフォルトの名無しさん [sage] 2011/12/24(土) 11:24:36.08 AAS
なんか自分だけっぽいな。どうすればいいんだろう。
pingも帰ってこない。
832: デフォルトの名無しさん [] 2011/12/24(土) 13:21:02.06 AAS
>>824
824(1): デフォルトの名無しさん [sage] 2011/12/24(土) 00:21:37.64 AAS
つまらない物だということにして安心したいんだよ
そうすれば理解する努力しなくていいから
>>825
825(1): デフォルトの名無しさん [sage] 2011/12/24(土) 00:50:28.05 AAS
理解できない自分の頭を嘆く必要もなくなるし。
理解するとか理解できるとか言ってる時点でダメなんよ。
833: デフォルトの名無しさん [sage] 2011/12/24(土) 13:24:10.63 AAS
最初に言ったのはラオウ
834: デフォルトの名無しさん [sage] 2011/12/25(日) 03:51:05.99 AAS
DNS引けてないようだったら、
DNSサーバーをgoogle提供の8.8.8.8にしてみるとかどうだい。
/etc/hostsとかでipアドレス指定してもいいけど。

ほかの要因だったら、proxyかますとか。
835
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 10:41:23.31 AAS
硬派なお前らなら勿論イヴもコーディングだったよな?な?
836: デフォルトの名無しさん [sage] 2011/12/25(日) 11:41:56.88 AAS
遺伝子をコーディングしてました
837: デフォルトの名無しさん [sage] 2011/12/25(日) 12:07:45.95 AAS
アレをコーティングして入れてました
838: デフォルトの名無しさん [sage] 2011/12/25(日) 18:07:33.55 AAS
>>835
IO Monadをかぶせて副作用なし。
839: デフォルトの名無しさん [] 2011/12/25(日) 18:31:48.82 AAS
いろいろ見てみたけどモナドってやっぱおれには難しいわ。
なんか純粋な関数型言語にふつうのプログラミング言語ならふつうにできることを
組み込みたいという空気かなと思うが、あまりそう強調されてもいないようだし、
まず目的がようわからんわ。
抽象化とか言うけど、それはモナドに限らん関数型の特徴だと思うし。
だれかこういうのちょっと教えてくれんかなスマンが。
840
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 18:41:00.60 AAS
「こういうの」って何だ?
具体的に訊いてくれ
841
(2): [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/12/25(日) 18:48:48.79 AAS
まずモナドとIOモナドを区別してくれ
純粋さを保ったまま入出力をする仕組みがHaskellにはあって、IOという名前の型が使われる
モナドというのはある種の型を抽象的に扱う枠組み
(どういう型をどうやって扱うのかは一言では説明できない)
で、IOはたまたまモナドの枠組に適合する(ので、IOモナドと呼ばれる)

で、モナドが知りたいの?IOが知りたいの?
842
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 18:51:02.48 AAS
関数に副作用があるかどうかが型を見るだけで解るのは利点
843: デフォルトの名無しさん [sage] 2011/12/25(日) 19:00:41.02 AAS
チューしようか
844
(1): デフォルトの名無しさん [] 2011/12/25(日) 19:03:59.38 AAS
すぐ反応してくれてうれしいな
>>840
モナドでやりたいことは何なの?ってことなんだが。
関数型にどうのこうのって書いたんだが、そういう「目的」っていうの?
そういうのが知りたいんだが。
いろんなモナドがあるようなんで、それがわかいにくいんだが。
>>841
IOモナドはモナドのひとつじゃないん?
その「純粋さを保ったまま入出力をする仕組み」がモナドなんやろ?
純粋さって関数型のってこと?もしそうなら、どの程度保てるものなの?
知りたいのはモナド。IOがその代表ならそれも知りたい。
>>842
それは型指定を工夫したらできるんじゃないん?
こんな質問じゃったんじゃが、みなスマンのう
845
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 19:04:09.30 AAS
IO がモナドで表現されるようになった経緯は、
「A History of Haskell」の Section 7 に詳しく書かれている

外部リンク:research.microsoft.com
846
(3): デフォルトの名無しさん [sage] 2011/12/25(日) 19:05:37.16 AAS
>>841
> で、IOはたまたまモナドの枠組に適合する(ので、IOモナドと呼ばれる)

なるほど。
いつまでもIOモナドは難しいと言われ続ける理由がわかったよ。

本当にIOモナドは「たまたま」モナドの枠組みに適合してるの?
わざわざモナドとしての宣言をしているのを「たまたま」というの?

わざわざ色々なIOをモナド則にあわせて整理して宣言しているのを
「たまたま」とか言って誤魔化しているわけでしょ。
学ぶ人達の能力を信用していないから、そうやって誤魔化すわけだ。

そうやって学ぶ人達を信用せずに、ありのままを伝えず、
取って着けたようなすぐバレるデッチアゲばかり言うから、
学ぶ人達はどの言葉を信用すればいいかわからなくなって、
「Haskellは難しい」という結論になっているんじゃないの?
847
(2): [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/12/25(日) 19:10:26.88 AAS
>>844
>IOモナドはモナドのひとつじゃないん?
そうだよ
>その「純粋さを保ったまま入出力をする仕組み」がモナドなんやろ?
IOモナドがその仕組み。それ以外のモナドは全然別のことをする(構文解析とか)
>純粋さって関数型のってこと?もしそうなら、どの程度保てるものなの?
副作用のある関数を一切使わずに入出力のあるプログラムが書ける
848: デフォルトの名無しさん [sage] 2011/12/25(日) 19:10:45.98 AAS
モナド則が
{
nop
foo
bar
baz
nop
}
みたいなのを正しく扱うのに都合がいいということはわかる
849
(3): デフォルトの名無しさん [sage] 2011/12/25(日) 19:12:41.64 AAS
>>847
> 副作用のある関数を一切使わずに

ダウト。Haskell上の値としては副作用はないが、
裏でランタイムがちゃんと副作用を起こしている。
850
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 19:16:51.65 AAS
>>846
モナドは副作用を保証してくれないから、
モナドだけではI/Oは不可能。
副作用をうまく取り扱うための枠組みを、
モナドは提供できているというだけの関係。
851: デフォルトの名無しさん [sage] 2011/12/25(日) 19:16:52.65 AAS
厳密には何を以て副作用と言うかを(ここだけでも)統一されて議論すべきだが、
「Haskell上の値としては副作用はない」というのを副作用が無いと認識している
Haskell プログラマは多いし、暗黙の了解になっていたりもする
852: [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/12/25(日) 19:16:53.25 AAS
>>846
なんか誤解してるような気がする
1. IOは、純粋さを保ったまま入出力するための型である
2. IOはMonadのインスタンスである
この二つの事実が両方成り立つのは別に必然ではないという意味で「たまたま」と言った
モナドにならない型で入出力を表現することはできる(ストリームIOとか)し、
入出力と関係ないモナドももちろんある

つまりHaskellの入出力を理解するのにモナドを知っている必要はないし、(助けにはなるが)
モナドを理解するのにIOを知っている必要もない(助けにはなるが)
853
(1): デフォルトの名無しさん [sage] 2011/12/25(日) 19:16:55.59 AAS
いや、それはおかしいだろ
OCamlで実装されたHaskellインタプリタだったらそのHaskellは純粋ではないことになるのか?
854: デフォルトの名無しさん [sage] 2011/12/25(日) 19:17:44.83 AAS
>>853>>849
1-
あと 124 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s