関数型プログラミング言語Haskell Part9
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2008/05/17(土) 16:41:29http://www.haskell.org/
日本語サイト
http://www.sampou.org/cgi-bin/haskell.cgi
http://www.shido.info/hs/
過去ログ
関数型プログラミング言語Haskell
Part1 http://pc.2ch.net/tech/kako/996/996131288.html
Part2 http://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 http://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 http://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 http://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 http://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1193743693/
・2chの仕様により、行頭の半角スペースは表示されません。
コードをインデントしたいときは、代わりに または全角スペースを使うことができます。
0931デフォルトの名無しさん
2008/12/21(日) 19:58:16Charの仕様からして、 >>5の「i. CharをUnicodeとして扱う」が筋と思いますが、
リテラルはともかく、IOでの変換のスタンダードな方法はもう固まってきてるでしょうか。
http://blog.kfish.org/2007/10/survey-haskell-unicode-support.html によると、
メジャーな方法が3つあるらしいですが、どれか、もしくはどれかがdefactoになっているでしょうか。
Haskell'でも使えるのがいいですが…。
0932デフォルトの名無しさん
2008/12/21(日) 22:14:480933デフォルトの名無しさん
2008/12/24(水) 03:05:00本人ではないが、
fが継続的(serial):
どのxに対してもあるyが存在してf x yという関係が成り立つ。
クリプキの様相論理で出てくる、でも多分、その意味で使っている
わけではないと思うけど。
0934デフォルトの名無しさん
2008/12/24(水) 21:30:39・空でない集合W(要素は可能世界)と、W中の二項関係(到達可能性関係)Rの組をフレームと呼び、F=<W,R>と表す
・そこから到達可能な世界が一つもない世界を dead end と呼ぶ
・Rがserialである⇔∀w∃w'(wRw') = そのフレームには dead end が存在しない
とすると
「必然的にAならAは可能である (□A->◇A)」がフレームFで妥当 ⇔ Rがserialである
…学生の頃のノート読み返してみたがわけわかんね('A`)
0935デフォルトの名無しさん
2008/12/25(木) 02:07:28ある世界で□Aが成立するとは、そこから到達可能な世界全てでAが成立することで
ある世界で◇Aが成立するとは、そこから到達可能な世界のなかに、Aが成立する世界があること
という認識でいいのかな。
ある世界で、任意の論理式Aについて『□A→◇A』が成り立つなら、『(◇A)∨(◇¬A)』。
つまり、その世界から到達可能な世界のなかに、Aが成立するものかあるか、¬Aが成立するものがある。
結局、『□A→◇A』は「到達可能な世界が少なくとも1つあり、その世界でのAの成否には言及しない。」と言っているんだろう。
で、全ての世界で『□A→◇A』が成立するなら、全ての世界が「次の世界」を持ち、dead endが存在しない、と。
0936デフォルトの名無しさん
2008/12/25(木) 15:44:560937デフォルトの名無しさん
2008/12/26(金) 15:26:050938デフォルトの名無しさん
2008/12/26(金) 21:21:340939デフォルトの名無しさん
2008/12/26(金) 21:46:540940デフォルトの名無しさん
2008/12/26(金) 23:20:060941デフォルトの名無しさん
2008/12/27(土) 15:24:26むしろHaskell的にどう解釈すればStringとIO Stringの区別がつくの?
0942デフォルトの名無しさん
2008/12/27(土) 15:39:30例えば、ファイル全体を文字列にして返すreadFileは、
readFile :: FilePath -> IO String
0943デフォルトの名無しさん
2008/12/27(土) 16:22:29newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
IOの実体は現実世界の状態をとって、IO動作実行後の状態と型aをもつ値の組を返す関数
と読めるけどいまいち釈然としないなー
まともに理解するには圏論や時相論理とかの知識がいるのかな?
0944デフォルトの名無しさん
2008/12/27(土) 16:48:09エラーが起きたかどうかとか、
readLineだと、どこまで読んだかとか、
writeFileだと、書き込んだファイルとか、
そんなのがIOの「状態」。
0945デフォルトの名無しさん
2008/12/27(土) 17:36:07Stateモナドの一種だけど runState を書かなくてもいい特別
扱いされたものだと理解している。
0946デフォルトの名無しさん
2008/12/27(土) 22:26:090947デフォルトの名無しさん
2008/12/28(日) 19:54:43そういうものと認識していればいいのね
で、IO StringからStringってどうやって取り出せるの?
入門書嫁ですねわかりました
0948デフォルトの名無しさん
2008/12/28(日) 20:23:310949デフォルトの名無しさん
2008/12/29(月) 11:11:320950デフォルトの名無しさん
2008/12/29(月) 12:19:22トップレベルで扱っていると思っているのはStringじゃなくてIO String。
0952デフォルトの名無しさん
2008/12/29(月) 12:27:41しかしそういうCUIインターフェースを作るフレームワークって既に誰か作ってそうな気もする
0953デフォルトの名無しさん
2008/12/29(月) 12:38:020954デフォルトの名無しさん
2008/12/29(月) 12:38:38つ $(GHC)/compiler/ghci/InteractiveUI.hs
0955デフォルトの名無しさん
2008/12/29(月) 14:08:02つ>>=
0956デフォルトの名無しさん
2008/12/30(火) 00:58:13どんな式からexpectedやgotが算出されたかとか、
このテストケースが書かれたのはソースのn行目、m項目であるとかを表示できるんだねぇ
これ使えばHUnitもRspecとかみたいにテスト結果をもっとkwsk表示するようになるんだろうか
0957デフォルトの名無しさん
2008/12/30(火) 11:12:180958デフォルトの名無しさん
2009/01/01(木) 13:00:08使い方が全然わからねぇ…
Q [Dec]を要求するtestsって何!?
0959デフォルトの名無しさん
2009/01/01(木) 14:45:43GHC-6.10 + OpenGL + GLUT の環境で
renderPrimitive LineLoop $ mapM_ vertex [Vertex2 (-0.9) (-0.9), Vertex2 0.9 (-0.9), Vertex2 0.9 0.9, Vertex2 (-0.9) 0.9]
↑これをGHCiで入力すると IO () として正常に扱ってくれるんだが
GHCでソース中に書くと
「Ambiguous type variable `a' in the constraints: `VertexComponent a' arising from a use of `vertex'」
「Probable fix: add a type signature that fixes these type variable(s)」
とか怒られるんだが…
どこでどうダウンキャスト(?)すればいいのかわからない
エロいひとご教示おねがいします
0960デフォルトの名無しさん
2009/01/01(木) 15:39:19renderPrimitive LineLoop $ mapM_ vertex [Vertex2 (-0.9 :: Float) (-0.9), Vertex2 0.9 (-0.9), Vertex2 0.9 0.9, Vertex2 (-0.9) 0.9]
~~~~~~~
しょぼくてごめん^^
0961デフォルトの名無しさん
2009/01/09(金) 13:20:33正直、みんな引いてると思うんだよね。
新規参入者が減るからHaskellの話と圏論の話は別のMLに分けた方が良いと思うんだ。
0962デフォルトの名無しさん
2009/01/09(金) 14:02:50直接そのMLで家よバカ
0963デフォルトの名無しさん
2009/01/09(金) 14:09:20代わりに言ってよ
俺は他人の反感買いたくないんだ
0964デフォルトの名無しさん
2009/01/09(金) 14:16:030965デフォルトの名無しさん
2009/01/09(金) 14:43:460966デフォルトの名無しさん
2009/01/09(金) 14:51:32単にモナドが圏論チックなだけ。
圏論の議論は圏論のメーリングリストでやればいい。
0967デフォルトの名無しさん
2009/01/09(金) 15:12:020968デフォルトの名無しさん
2009/01/09(金) 15:44:39そんなことで剣呑するより圏論する方がいいじゃないか。
0969デフォルトの名無しさん
2009/01/09(金) 15:58:050970デフォルトの名無しさん
2009/01/09(金) 15:59:56数学じゃ普通に使う。
HaskellのMLに来てるやつは数学系のMLについて行けなかった奴らだろうな。
0971デフォルトの名無しさん
2009/01/09(金) 16:03:330972デフォルトの名無しさん
2009/01/09(金) 16:34:230973デフォルトの名無しさん
2009/01/09(金) 19:32:17ベスト11に入ってる。配下のProgrammingでは5位。
すごいな。Haskellってこんなに流行ってるのか…
0974デフォルトの名無しさん
2009/01/10(土) 08:49:400975デフォルトの名無しさん
2009/01/10(土) 09:28:000976デフォルトの名無しさん
2009/01/10(土) 12:42:47尼の情報操作
0977デフォルトの名無しさん
2009/01/10(土) 12:45:490978デフォルトの名無しさん
2009/01/11(日) 22:07:350979デフォルトの名無しさん
2009/01/12(月) 06:03:33これはHaskell初心者向けかな?
schemeとocamlの基本は理解してる程度。
0980デフォルトの名無しさん
2009/01/12(月) 06:15:480981デフォルトの名無しさん
2009/01/12(月) 06:43:10レス数が950を超えています。1000を超えると書き込みができなくなります。