[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
309: デフォルトの名無しさん [sage] 2011/10/28(金) 18:25:33.57 ようやく少しモナドの感覚がつかめた。あれって世界を分けてて、その世界の中 で作業をしていくための工夫という感じだな。ってね。安全な作業をするには必 要なんだってのもようやくわかった。 同時に感覚的なイメージでモナドを上手に例えて伝えるようなものがあまりない のかもとも思ったかな。水中で普通のデジカメで撮影をするには防水ケースの中 に入れて使うけど、あの防水ケースっぽい働きなんだなってね。そんなアナロジー を想像してしまったかな。 http://echo.5ch.net/test/read.cgi/tech/1317958045/309
310: デフォルトの名無しさん [sage] 2011/10/28(金) 19:10:16.64 >>309 > 同時に感覚的なイメージでモナドを上手に例えて伝えるようなものがあまりない > のかもとも思ったかな。 確かにね hage :: [Int] hage = do x <- [1..5] when (x == 3) (fail "discard") return x こういうのだと、どの世界とどの世界に分けてるのか曖昧だし 明確に分けられたとしても、その世界に何かを閉じ込めているのとも違う気がする http://echo.5ch.net/test/read.cgi/tech/1317958045/310
311: デフォルトの名無しさん [sage] 2011/10/28(金) 20:14:47.39 リストモナド自体が分岐した世界を表現してるからな http://echo.5ch.net/test/read.cgi/tech/1317958045/311
312: デフォルトの名無しさん [sage] 2011/10/28(金) 20:59:44.73 >>311 いや、たがら、そのリストモナドが分けた2つの世界は何と何か という辺りが自分では上手く説明できないなぁと http://echo.5ch.net/test/read.cgi/tech/1317958045/312
313: デフォルトの名無しさん [sage] 2011/10/28(金) 21:06:31.22 do内の世界はdoの流儀に従ってる。だけど、do外の世界はdo内のことには 結果を渡される以外無関係ってと事だろう? http://echo.5ch.net/test/read.cgi/tech/1317958045/313
314: デフォルトの名無しさん [sage] 2011/10/28(金) 21:31:03.44 do ってただの糖衣構文じゃん、世界の構成要素ではないでしょ >>310 のは実質これ hage :: [Int] hage = [1..5] >>= \x -> when (x == 3) (fail "discard") >> return x >>313 の言う流儀というのは、結局 Monad クラスのインスタンスの定義方法、だよね (>>= 関数をどう定義するか、return 関数をどう定義するか、など) でもそれは、たとえばアローでも同じ事が言えて、 proc do内の世界はproc doの流儀に従ってる・・・ つまり Arrow クラスのインスタンスの定義方法がその流儀となる じゃあ、アローもモナドと同じように、世界を2つに分けているのかな 分けているのなら、モナドが分ける世界とアローが分ける世界は何が違う? そこまで考えて初めて、モナドが何をどう分けているのか、 ということの理解に繋がると思う http://echo.5ch.net/test/read.cgi/tech/1317958045/314
315: デフォルトの名無しさん [sage] 2011/10/28(金) 21:46:35.52 むしろ分けてるんじゃなくて繋げてる http://echo.5ch.net/test/read.cgi/tech/1317958045/315
316: デフォルトの名無しさん [sage] 2011/10/28(金) 21:47:25.84 床下配線 http://echo.5ch.net/test/read.cgi/tech/1317958045/316
317: デフォルトの名無しさん [sage] 2011/10/29(土) 00:06:08.58 いろんな意見ありがとうございます。アローのことはそもそも知らないくらい なので、また探ってみたい。やっと面白いと思うことが増えてきた感じです。 arrowのことは他の理解を終えてから取っかかるよ。 実はRWHをようやく半分まで消化したところ http://echo.5ch.net/test/read.cgi/tech/1317958045/317
318: デフォルトの名無しさん [sage] 2011/10/29(土) 10:48:25.49 core言語のパーサーを作ろうとしているのですが、 他にこれは読んでおけ、このページは見ておけというものはありますか? http://echo.5ch.net/test/read.cgi/tech/1317958045/318
319: 318 [sage] 2011/10/29(土) 10:50:44.72 >>318 書き忘れていました 今は Haskell Platform 内のドキュメントを読んでいます http://echo.5ch.net/test/read.cgi/tech/1317958045/319
320: デフォルトの名無しさん [sage] 2011/10/29(土) 11:06:24.93 >>318 Haskell Report http://echo.5ch.net/test/read.cgi/tech/1317958045/320
321: デフォルトの名無しさん [sage] 2011/10/29(土) 12:31:01.72 >>320 ありがとうございます そうですね、元の Haskell の仕様を読んでおくのは当然ですね 熟読します http://echo.5ch.net/test/read.cgi/tech/1317958045/321
322: デフォルトの名無しさん [sage] 2011/10/29(土) 14:25:06.17 extcoreパッケージのソースコード http://echo.5ch.net/test/read.cgi/tech/1317958045/322
323: デフォルトの名無しさん [sage] 2011/10/29(土) 14:44:46.62 >>322 ありがとうございます Webサイトや README をざっと見た感じ、自分でパーサーを作らなくても extcore 自体を使って目的が達成できそうな気配なので、ちょっと試してみます http://echo.5ch.net/test/read.cgi/tech/1317958045/323
324: デフォルトの名無しさん [sage] 2011/10/29(土) 19:04:56.33 >>318 core言語って何? http://echo.5ch.net/test/read.cgi/tech/1317958045/324
325: デフォルトの名無しさん [sage] 2011/10/29(土) 19:05:53.18 ごめん、ぐぐったら出てきたわ>core language http://echo.5ch.net/test/read.cgi/tech/1317958045/325
326: デフォルトの名無しさん [sage] 2011/10/29(土) 21:13:07.97 確か標準では形式的な定義は与えてなかったんじゃなかったっけ http://echo.5ch.net/test/read.cgi/tech/1317958045/326
327: デフォルトの名無しさん [sage] 2011/10/29(土) 21:18:07.01 そうだが どうした、いきなり http://echo.5ch.net/test/read.cgi/tech/1317958045/327
328: デフォルトの名無しさん [] 2011/10/30(日) 22:46:14.15 windowsでHaskellを使う場合、文字コード変換はuconvしか選択肢無い? http://echo.5ch.net/test/read.cgi/tech/1317958045/328
329: デフォルトの名無しさん [sage] 2011/10/30(日) 23:07:42.93 WIn32APIの該当関数を FFI で呼ぶという方法もある IOモナドになるけど、余計なライブラリも使わず意外に簡単だったりする http://echo.5ch.net/test/read.cgi/tech/1317958045/329
330: デフォルトの名無しさん [sage] 2011/10/30(日) 23:23:54.14 >>329 そうか。ありがとう。 http://echo.5ch.net/test/read.cgi/tech/1317958045/330
331: デフォルトの名無しさん [sage] 2011/10/31(月) 07:50:06.70 Haskell でたまに次のようなコンパイル エラー メッセージが出るのだけど、 ・・・ `a' is a rigid type variable bound by ・・・ この rigid type というのは何の分野の用語なの? どういう状況のエラーなのか、もっと深く理解したい http://echo.5ch.net/test/read.cgi/tech/1317958045/331
332: デフォルトの名無しさん [sage] 2011/10/31(月) 10:01:18.00 Num a => aはrigidじゃない。 数値型はたくさんあるから。 http://echo.5ch.net/test/read.cgi/tech/1317958045/332
333: デフォルトの名無しさん [sage] 2011/10/31(月) 14:19:00.00 liftMとliftAの使い分けってどうしてらっしゃる? http://echo.5ch.net/test/read.cgi/tech/1317958045/333
334: デフォルトの名無しさん [sage] 2011/10/31(月) 18:00:29.57 もう11月になるんすけど リリース予定どうなってんすか? http://echo.5ch.net/test/read.cgi/tech/1317958045/334
335: デフォルトの名無しさん [sage] 2011/10/31(月) 18:33:23.55 11月の感謝祭にリリースするってさっき白石さんがつぶやいてた >>333 基本liftAというか<$>を使うけどControl.MonadをimportしているようなモジュールならliftMでいいんじゃないかなぁってぐらい http://echo.5ch.net/test/read.cgi/tech/1317958045/335
336: デフォルトの名無しさん [sage] 2011/10/31(月) 18:46:46.74 少なくとも自分のプログラミング生活の中ではもう Haskell Platform に頼らなくても、 最新の GHC や Cabal、ライブラリ群を個別にインストールして問題なく使える というわけで最近 Haskell Platform を捨てたら、 パンツを脱いで仁王立ちした時のように清々しかった http://echo.5ch.net/test/read.cgi/tech/1317958045/336
337: デフォルトの名無しさん [sage] 2011/10/31(月) 19:07:48.05 linuxならそれでもいけたけどwindowsだとcurlの時点で割と悪戦苦闘でした http://echo.5ch.net/test/read.cgi/tech/1317958045/337
338: デフォルトの名無しさん [sage] 2011/10/31(月) 23:36:25.82 >>332 じゃあ、逆に rigid な型にはどういったものがあるの? http://echo.5ch.net/test/read.cgi/tech/1317958045/338
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 640 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s