[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
903: デフォルトの名無しさん [sage] 2011/12/28(水) 07:49:15.11 まさにそれでした ありがとうございます http://echo.5ch.net/test/read.cgi/tech/1317958045/903
904: 896 [sage] 2011/12/28(水) 07:54:57.28 >>902 ありがとうございます 色々な ghc のバージョンで試す環境が作れたので、 丁度今試していたのですが、どうも 6.12.3 なら OK で 7.0.0 以上なら NG みたいなんです もう仕事に向うので、帰宅したら cpp -traditional Test.hs の方を試してみます http://echo.5ch.net/test/read.cgi/tech/1317958045/904
905: 896 [sage] 2011/12/28(水) 19:09:32.91 >>902 cpp -traditional Test.hs の結果が以下のように出力されました ------------------------------- # 1 "Test.hs" # 1 "<built-in>" # 1 "<command-line>" # 1 "Test.hs" {-# LANGUAGE CPP #-} ------------------------------- 何か問題あるでしょうか http://echo.5ch.net/test/read.cgi/tech/1317958045/905
906: デフォルトの名無しさん [sage] 2011/12/28(水) 19:25:33.17 >>905 わからん。念のためghci -v Test.hsをやってみて、 そこで出てきたプリプロセスコマンドをそのまま打ち込んでみたら出力はどうなる? カレントディレクトリかテンポラリディレクトリのパスに日本語が入ってるとか http://echo.5ch.net/test/read.cgi/tech/1317958045/906
907: 896 [sage] 2011/12/28(水) 19:58:14.00 CPP 言語オプションだけを記述した Test.hs に対して ghci -v Test.hs すると、 *** C pre-processor: でプリプロセスコマンドが表示され、 その直後に次のように表示されて処理が止まります ghc.exe: fd:5: hGetContents: invalid argument (invalid UTF-8 byte sequence) ここで、[Ctrl+C] キーで処理を止めると Interrupted. と表示されてから、 いつもの ghci のプロンプトになります Arrows 言語オプションだけを記述した Test.hs ファイルの場合は、 全く問題なく(処理は止まらず)いつもの ghci のプロンプトになります *** C pre-processor: で表示されたプリプロセスコマンドは以下の通りです (見やすさの為適当に改行を入れ、パスに本名がローマ字で入っているので伏せました また、最後の -o の出力パスはテンポラリファイルなので適当に変えました) ------------------------------- "Haskell Platform2011.4.0.0のフォルダ\lib\..\mingw\bin\gcc" -E -undef -traditional -v -I "Haskell Platform2011.4.0.0のフォルダ\lib\base-4.3.1.0\include" -I "Haskell Platform2011.4.0.0のフォルダ\lib/include" -D__GLASGOW_HASKELL__=700 -Dmingw32_BUILD_OS=1 -Di386_BUILD_ARCH=1 -Dmingw32_HOST_OS=1 -Di386_HOST_ARCH=1 -x c Test.hs -o out.hscpp ------------------------------- このプリプロセスコマンドを実行してみたところ、 こちらは止まらず、また特にエラー報告もなく out.hscpp が出力されました このファイルの内容は >>905 の結果の出力と同一です どうも、この現象は私だけみたいですね http://echo.5ch.net/test/read.cgi/tech/1317958045/907
908: 896 [sage] 2011/12/28(水) 20:00:23.21 >>906 > カレントディレクトリかテンポラリディレクトリのパスに日本語が入ってるとか それは無いです http://echo.5ch.net/test/read.cgi/tech/1317958045/908
909: デフォルトの名無しさん [sage] 2011/12/28(水) 20:16:52.26 >>897 暇だったからLANGUAGE CPPの方やってみたけど、問題なかった。当たり前か。ghciはversion 7.0.4でした。 変な制御文字でも埋まってるんじゃない?od -x -c Test.hsで見てみたら? http://echo.5ch.net/test/read.cgi/tech/1317958045/909
910: 896 [sage] 2011/12/28(水) 20:44:13.27 >>909 od コマンドが無いんで(Windows 7 環境)適当なバイナリエディタで見てみた ------------------------------- {-# LANGUAGE CPP #-} ------------------------------- 7B 2D 23 20 4C 41 4E 47 55 41 47 45 20 43 50 50 20 23 2D 7D ------------------------------- 全く問題ないですよね とりあえず、問題の stm パッケージさえインストールできれば作業は進むから、 #ifdef __GLASGOW_HASKELL__ などのマクロを外して自力でプリプロセスしようと思います ですが、ひとつ問題が #if ! (MIN_VERSION_base(4,2,0)) これは今使ってる base のバージョンが例えば 4.3.1.0 の場合、 これと #endif で挟まれている部分のコードは生きるんですよね http://echo.5ch.net/test/read.cgi/tech/1317958045/910
911: 896 [sage] 2011/12/28(水) 21:41:55.67 あかん たとえ stm パッケージが無事インストールできても、 他の必要なパッケージで同じ問題が起きることに気づいた もう OS 再インストールしか方法はないのかも知れん http://echo.5ch.net/test/read.cgi/tech/1317958045/911
912: 896 [sage] 2011/12/28(水) 21:59:15.96 意味も分からず解決してしまった mingw-get-inst-20111118.exe をインストールしていたんだが、 これをアンインストールして、そのインストール先の mingw フォルダも全て削除したら、 何事も問題なく C のプリプロセッサ(CPP オプション)が使えるようになった 環境変数に mingw フォルダ内のどこかへのパスがあったわけでもないんだが、 なんでこれで解決するのか意味が分からない GHC 内の mingw と干渉していたのではないかと思うが、 今まで普通に GHC と外部の mingw は共存できてたと思うんだが・・・ まぁいいや お騒がせしました http://echo.5ch.net/test/read.cgi/tech/1317958045/912
913: デフォルトの名無しさん [sage] 2011/12/30(金) 15:54:38.20 windowsなんて捨ててlinux/mac系でやれば楽なのにね。 http://echo.5ch.net/test/read.cgi/tech/1317958045/913
914: デフォルトの名無しさん [sage] 2011/12/30(金) 17:05:32.28 全くだ http://echo.5ch.net/test/read.cgi/tech/1317958045/914
915: デフォルトの名無しさん [sage] 2011/12/30(金) 17:09:47.04 馬鹿には無理 http://echo.5ch.net/test/read.cgi/tech/1317958045/915
916: デフォルトの名無しさん [sage] 2011/12/30(金) 17:30:27.49 むしろ馬鹿ほどmacだと思う http://echo.5ch.net/test/read.cgi/tech/1317958045/916
917: 896 [sage] 2011/12/31(土) 11:39:52.12 wxHaskell を使ってるんだけど、以下のコードの挙動が予想外だ (dc は paint イベントのハンドラの第1引数 DC () 型) drawText dc "abc" (Point 0 0) [ textColor := green , textBgcolor := blue ] 俺の予想だと、青色の背景に緑色の文字が表示されると思ってたんだ でも実際は、透明の背景に青色の文字が表示される これは正しい挙動なのか、それともバグなのか? [環境] OS : Windows7 GHC : 7.2.2 wxPack : 2.8.12.01 wx : 0.12.1.6 wxCore : 0.12.1.7 http://echo.5ch.net/test/read.cgi/tech/1317958045/917
918: デフォルトの名無しさん [sage] 2011/12/31(土) 11:48:50.85 wxHaskellは知らないけど wx的にはwxDC::setBackgroundMode()で挙動が変化したような? http://echo.5ch.net/test/read.cgi/tech/1317958045/918
919: デフォルトの名無しさん [sage] 2011/12/31(土) 13:36:42.19 >>918 ありがと ただ、残念なことに、今の wxHaskell では DC の BackgroundMode を設定できないみたいだ それらしい関数やプロパティが見当たらない http://echo.5ch.net/test/read.cgi/tech/1317958045/919
920: デフォルトの名無しさん [sage] 2011/12/31(土) 16:32:13.81 これじゃね http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#v:dcSetBackgroundMode http://echo.5ch.net/test/read.cgi/tech/1317958045/920
921: デフォルトの名無しさん [sage] 2011/12/31(土) 18:43:32.49 >>920 あ、なるほど dcSetBackgroundMode か 頭文字 s とか b で探してた (部分一致とかで検索できないと不便だなぁ) ありがと http://echo.5ch.net/test/read.cgi/tech/1317958045/921
922: デフォルトの名無しさん [sage] 2011/12/31(土) 19:26:08.59 >>918,920 dcSetBackgroundMode 関数に 100(wxSOLID)を設定してみたところ、 文字の背景に色が付きました しかし、これだけでは背景の色は真っ白でした そこで、次の様にしてみたところ、意図通りの結果 背景が黒で文字が赤色になりました withBrushStyle (brushSolid black) $ \b -> do dcSetBackground dc b dcSetBackgroundMode dc 100 dcSetTextForeground dc red dcSetTextBackground dc black drawText dc "abc" (Point 0 0) [] どうも、drawText 関数とか set 関数で設定する textColor や textBgcolor は 正しく反映されないみたいです (textBgcolor が文字の色になり、textColor が反映されない?) おかげさまで目的は達成できました、ありがとうございました 時間がとれたらバグ報告してみようと思います(英文作るのにかなり時間がかかるんで) http://echo.5ch.net/test/read.cgi/tech/1317958045/922
923: デフォルトの名無しさん [sage] 2011/12/31(土) 23:24:55.57 よいHaskellを! 来Haskellは更に良いHaskellになるよう祈ってます。 http://echo.5ch.net/test/read.cgi/tech/1317958045/923
924: デフォルトの名無しさん [sage] 2012/01/01(日) 00:00:43.17 おめでとう http://echo.5ch.net/test/read.cgi/tech/1317958045/924
925: デフォルトの名無しさん [] 2012/01/01(日) 21:54:51.56 なんだよ。789、790あたりを見てから、やっぱりモナドは注目すべきなんだろう と思ってちょっと調べていたんだが、もうとっくの前に情報処理上で和田英一 さんが喝破しているじゃないか。やっぱりモナドなんて騒ぐほどのものじゃねえよ! 「関数プログラミングの泣き所は入出力を含む副作用である。...Haskellは シリアルに計算を進めるメカニズムのmonadを考案し、これを解決したと言っ ているが、関数型を一部手放したと言うべきであろう。Lispにも最初からprog があった。」 http://echo.5ch.net/test/read.cgi/tech/1317958045/925
926: デフォルトの名無しさん [sage] 2012/01/01(日) 22:18:00.73 理解が追いつかないことでの話のすり替えだね http://echo.5ch.net/test/read.cgi/tech/1317958045/926
927: デフォルトの名無しさん [sage] 2012/01/01(日) 22:30:27.00 和田英一って適当なこと言うんだな 「関数型を手放した」というのは意味不明だし、 モナドとIOを区別してないのは(言いたいことは分からんでもないが)雑な議論 http://echo.5ch.net/test/read.cgi/tech/1317958045/927
928: デフォルトの名無しさん [sage] 2012/01/01(日) 22:36:12.24 和田サンは鞍とキーボードを同一視するくらいの人だからな モナドとIOなんて同じようなもんなのだろう 達観してる http://echo.5ch.net/test/read.cgi/tech/1317958045/928
929: デフォルトの名無しさん [] 2012/01/01(日) 22:39:50.46 うーん。そうとも限らないよ。 やみくもに理解・学習しようとするだけでなく、理解・学習に値する事か どうかも時々気にしておいた方がいいよ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/929
930: デフォルトの名無しさん [sage] 2012/01/01(日) 22:40:05.36 ああ、HHKの人か キーボードは良いけど発言はいただけないな http://echo.5ch.net/test/read.cgi/tech/1317958045/930
931: デフォルトの名無しさん [sage] 2012/01/01(日) 22:45:22.74 >>925 お前、自分の考えは言わないのな http://echo.5ch.net/test/read.cgi/tech/1317958045/931
932: デフォルトの名無しさん [] 2012/01/01(日) 22:49:34.63 追従する学習者たちは細かい区別を気にする。創造的達人は大きく同一視 できる。いずれ時がたつと後者に収斂する。 http://echo.5ch.net/test/read.cgi/tech/1317958045/932
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 46 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s