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