関数型プログラミング言語Haskell Part19
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/06/27(水) 10:21:10.18ttp://www.haskell.org/
日本語サイト
ttp://www.sampou.org/cgi-bin/haskell.cgi
ttp://www.shido.info/hs/
過去ログ
関数型プログラミング言語Haskell
Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html
Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/
Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/
Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/
Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/
Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/
Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/
Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/
Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/
Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/
Part17 ttp://toro.2ch.net/test/read.cgi/tech/1325510368/
Part18 ttp://toro.2ch.net/test/read.cgi/tech/1331902463/
0951デフォルトの名無しさん
2012/10/08(月) 14:20:51.34http://www.kotha.net/ghcguide_ja/latest/pragmas.html
http://www.haskell.org/ghc/docs/latest/html/users_guide/pragmas.html
0952デフォルトの名無しさん
2012/10/08(月) 15:30:28.95c の処理系ならもれなくついてくる cpp にかければいいと言いますが、
ghc なら -XCPP オプションを付ければ .hs ファイルの中で #ifdef などが直接使えるので、
あとは最適化オプションを付けたときに、ghc 側でどのようなディレクティブが
自動で定義されるかが分かればできそうです。
それが分からないんですけどね。
>>951
プラグマを使って最適化時にコンパイルするコードを変える方法が
載っていないような気がするのですが、見落としてますでしょうか。
0953デフォルトの名無しさん
2012/10/08(月) 18:58:47.52理論的には、Template Haskellは任意のIOを実行できるので、
OSの機能を使ってGHCに渡されてるオプションを調べたり、
デバッガを起動してGHCのメモリ内容を見たりすることは可能
0954デフォルトの名無しさん
2012/10/08(月) 19:17:41.14CabalとかSetup.hsとかmakeとか。
コンパイラになんでも詰め込んでしまうとろくなことない。
0955デフォルトの名無しさん
2012/10/08(月) 19:31:35.45コンパイラでやるのと Cabal でやるのとで、何か違いがあるのですか?
0956デフォルトの名無しさん
2012/10/09(火) 10:51:23.680957デフォルトの名無しさん
2012/10/09(火) 12:13:42.86/ / バカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ ワッフル ワッフル
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0958デフォルトの名無しさん
2012/10/09(火) 23:44:17.490959デフォルトの名無しさん
2012/10/09(火) 23:50:18.780960デフォルトの名無しさん
2012/10/10(水) 01:02:17.600961デフォルトの名無しさん
2012/10/10(水) 01:19:14.02起動時間比較 wx3秒。gtk0.5秒
導入の簡単さ wxの方が難しい
GUIコードの長さ wxの方が短い
以上、チラ裏でした
0962デフォルトの名無しさん
2012/10/10(水) 07:04:24.44それよりも、wx は ghci 上で動かないのが痛い
0963デフォルトの名無しさん
2012/10/10(水) 19:52:51.35エラーになってる関数は使っていませんが気にしないでください...
http://ideone.com/BXd8X
なコードが
Hoge.hs:7:18:
Couldn't match expected type `(a0, b0)'
with actual type `Writer w0 a1 -> (a1, w0)'
In the second argument of `($)', namely `runWriter'
In the expression: fst $ runWriter
In an equation for `getValue': getValue = fst $ runWriter
というコンパイルエラーで落ちるのですが,どこが悪いのでしょうか?
runWriterの引数の型を間違えていると読めますが,どうおかしいのか私にはわかりませんでした.
0964デフォルトの名無しさん
2012/10/10(水) 20:19:27.49(fst $) の型は (a, b) -> a だ。
これは、(fst $) は (a, b) 型の値に適用して a 型の値を返す、という意味だ。
あなたのプログラムでは、(fst $) を runWriter に適用している。
では、runWriter の型は (a, b) なのか?
違うよね。
runWriter の型は Writer x y -> (y, x) だ。
(fst $) は (a, b) 型の値に適用することが期待されているのに、
実際のプログラムソースでは (Writer x y -> (y, x)) 型の値に適用しようとしている。
マッチしないよ。
というのがエラーの内容だ。
で、あなたがやりたいことが getValue の型の通りだとするなら、
そこは fst $ runWriter ではなく fst . runWriter なのでは?
0965デフォルトの名無しさん
2012/10/10(水) 20:41:36.50なるほど,ありがとうございます.
格好つけてポイントフリースタイルみたいな書き方をしたが,実際にはポイントフリースタイルと($)を混同していたのがそもそもの問題だったのですね...
0966デフォルトの名無しさん
2012/10/11(木) 06:41:52.69このセクションの発想はなかったわ
0967デフォルトの名無しさん
2012/10/12(金) 09:07:31.800968デフォルトの名無しさん
2012/10/12(金) 10:32:14.340969デフォルトの名無しさん
2012/10/12(金) 17:24:54.690970デフォルトの名無しさん
2012/10/13(土) 03:58:23.47なんせサポートをうたってるのですから
0971デフォルトの名無しさん
2012/10/13(土) 04:03:13.400972デフォルトの名無しさん
2012/10/13(土) 20:58:29.89http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.362
0973デフォルトの名無しさん
2012/10/14(日) 23:38:32.86Haskellに移行したいと思ってます。
Haskellの学習はまだです。
Mathematicaでは次の操作を行って株価の一覧を作成してます。(そのほかにもいろいろな指標を計算してます)
・株式コードからURLを作成する
・URLが指定するWebページのHTMLを取得する
・HTMLから正規表現で現在の株価を抜き出す
これはHaskellでも可能でしょうか?
ライセンスの問題でMathemaricaを使い続けることが難しくなりました。
考え方が近いようなので関数型言語への移行が適切かなと思ってます。
(ExcelVBA版は作ったのですが速度に問題がありました…)
0974デフォルトの名無しさん
2012/10/15(月) 00:37:25.30次の方どうぞ〜
0975デフォルトの名無しさん
2012/10/15(月) 06:57:34.90別に関数型言語じゃなくてもpythonとかperlみたいなLLでいい
0976デフォルトの名無しさん
2012/10/15(月) 08:09:37.270977デフォルトの名無しさん
2012/10/15(月) 08:13:36.070978デフォルトの名無しさん
2012/10/15(月) 08:17:17.710979デフォルトの名無しさん
2012/10/15(月) 08:18:09.000980デフォルトの名無しさん
2012/10/15(月) 08:53:03.35>>977
すいませんでした。
VBAで作り直したとき、Webからのデータ取得や正規表現は
外部からCreateObjectで読み込んだので少し不安でした。
0981デフォルトの名無しさん
2012/10/15(月) 10:50:24.530982デフォルトの名無しさん
2012/10/15(月) 13:22:19.13>ExcelVBA版は作ったのですが速度に問題がありました…
この書き込みで最も有益な情報
0983デフォルトの名無しさん
2012/10/15(月) 23:19:24.680984デフォルトの名無しさん
2012/10/15(月) 23:42:55.22実用的なことを一切やっていない
マジ低脳の極み
Perlが一番最高
こんなくそ言語やって何が楽しいんだ?低脳だろうなこいつら
インテイゲンチャきどっててきもちわりいわ
0985デフォルトの名無しさん
2012/10/16(火) 06:03:39.02webからデータ取得だけならLLで、って意見に同意。
もっともmathmaticaでも関数型プログラミング可能と謳っているからまずは
自分のコード見直してみたら?
Homeライセンスならグアム/サイパンでも行ったときホテルからUSDで買えば安いよ。
0986デフォルトの名無しさん
2012/10/16(火) 19:44:48.95自信のなさの裏返しなのかな?
0987デフォルトの名無しさん
2012/10/16(火) 19:49:46.79他の言語ユーザをdisってるほうが良く見るな
馬鹿には無理、ってね
0988デフォルトの名無しさん
2012/10/16(火) 21:19:33.55「○○言語ならこう書けるのに、なぜこんな書き方をさせるんだ!!!」みたいな。
まったくのプログラミング未経験者ならCやJavaよりむしろ簡単だと思う
0989デフォルトの名無しさん
2012/10/16(火) 21:26:45.580990デフォルトの名無しさん
2012/10/16(火) 22:37:05.09> まったくのプログラミング未経験者ならCやJavaよりむしろ簡単だと思う
それはどうだろうか。
私は、どちらを先に始めたかではなく、それに触れるまのでの間に
どのような考え方に慣れているかに依ると思う。
人はたいてい小学生(あるいはそれ以前)の頃からずっと、
課題を解決するのに「手順」を考える事を学習させられてきた。
その中で、更に「状態変化・状態遷移」の概念も知らず知らずすり込まれる。
問題 X を解決するには A をやると x になって、
それから B をやると y になるから、
最後に C をやればできるよ、というような感じで。
理科の実験手順も、料理のレシピも同じ。
この考え方は C や Java を理解するのに適している。
静的な、宣言的な考え方なんて、手続き的な考え方に比べれば、
学校教育の現場でほとんど出くわすことはないだろう。
たとえ出くわしても、意識しなければ素通りしていくだけで、身にならない。
だから、そんな人間が初めてのプログラミング言語として関数型言語に触れても、
今までの生活では意識してこなかった考え方を求められる事に変わりはない。
手続き的な考え方よりも宣言的な考え方の方により慣れ親しんで初めて、
C や Java より Haskell の方が簡単と感じる可能性が出てくるのだと思う。
0991デフォルトの名無しさん
2012/10/16(火) 23:23:49.590992デフォルトの名無しさん
2012/10/17(水) 00:00:38.66数列の帰納的定義をやらずに終わる高校もあるのかね
0993デフォルトの名無しさん
2012/10/17(水) 00:05:17.59決して手続き型が初心者に易しいわけではない
0994デフォルトの名無しさん
2012/10/17(水) 00:22:23.75ム板の人は特に無頓着な気がする
0995デフォルトの名無しさん
2012/10/17(水) 00:47:21.370996デフォルトの名無しさん
2012/10/17(水) 01:01:42.060997デフォルトの名無しさん
2012/10/17(水) 03:11:20.71日常のなかで宣言的な考え方というのは確かに僅少ですね
最初に出会うのは‥‥数学的帰納法か?
0998デフォルトの名無しさん
2012/10/17(水) 03:44:48.810999デフォルトの名無しさん
2012/10/17(水) 08:10:34.89ttp://toro.2ch.net/test/read.cgi/tech/1350428908/
1000デフォルトの名無しさん
2012/10/17(水) 08:15:46.08スレ立て乙
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。