関数型プログラミング言語Haskell Part15
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/09(土) 17:16:54.84ttp://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/
0653デフォルトの名無しさん
2011/09/16(金) 23:28:40.55これを UTF8 に変換したいです。
s2 = f s1
この関数 f を提供してくれるライブラリはないでしょうか。
ファイルや標準入力などからの読み込みではなく、
String や ByteString などの中にあるデータを直接変換するものです。
[環境]
・Windows7
・GHC 7.0.3
0654デフォルトの名無しさん
2011/09/17(土) 01:51:13.36スタディがてらマルバツゲームを作ってみたけど正直便利と思えない。
0655デフォルトの名無しさん
2011/09/17(土) 07:36:33.160656デフォルトの名無しさん
2011/09/17(土) 07:37:56.17iconvパッケージを使って
import qualified Codec.Text.IConv as IConv
toString . IConv.convert "Shift_JIS" "UTF-8" . fromString
でいけると思う
IConv.convertはByteStrinを対象としてるから、String用にする為にはStringからByteStringの変換、
ByteStringからStringへの変換をはさんでやるわけだ
0657デフォルトの名無しさん
2011/09/17(土) 09:04:51.64iconvはwinGWかcygwinでしか使えないんですよね。
0658デフォルトの名無しさん
2011/09/17(土) 09:19:07.060659デフォルトの名無しさん
2011/09/17(土) 12:21:07.94帰ったらレポ頼むわw
0660デフォルトの名無しさん
2011/09/17(土) 15:33:06.75http://site.icu-project.org/download/48
ここから icu4c-4_8_1-src.zip (18.9 MB ZIP file for Windows platforms)
を落として次のように nconv をインストールしようとしました。
cabal install --extra-include-dirs="icuソースのフォルダ\source\common" -v3
すると、unicode/platform.h が無いと言われます。
調べてみると、たしかに platform.h.in はありますが platform.h はありませんでした。
platform.h.in を見てみますと、configure 時に autoconf が platform.h を作る
と書かれています。
cabal の install フラグでインストールする時、configure はすると思うのですが、
この時点で platform.h が作られると思ったのですが、違うのですね。
cabal install に渡すフラグが何か足りないのでしょうか。
それとも、cabal install の前に autoconf を実行しておく必要があるのでしょうか。
0661デフォルトの名無しさん
2011/09/17(土) 15:54:54.29icu4c-4_8_1-Win32-msvc10.zip (8.8 MB Windows (x86 32-bit) Visual Studio 10)
こちらの方をダウンロードし、インクルードパスを通して cabal install してみましたが、
今度は ptypes.h が無いと言われました。
icu4c-4_8_1-src.zip の方に icu4c-4_8_1-Win32-msvc10.zip の
platform.h だけをコピーして cabal install してみましたが、
すると今度は expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
などの構文エラーらしきエラーメッセージが大量に発生しました。
windows で cygwin も VisualStudio も無い状態で uconv を使うのは難しいですね。
とりあえずまだ諦めずに、もう少し色々探ってみます。
0662デフォルトの名無しさん
2011/09/17(土) 22:35:11.600663デフォルトの名無しさん
2011/09/18(日) 07:51:50.970664デフォルトの名無しさん
2011/09/18(日) 13:55:41.610665デフォルトの名無しさん
2011/09/18(日) 15:55:19.660666デフォルトの名無しさん
2011/09/18(日) 16:00:27.79数学でどんな分野ですか?
0667デフォルトの名無しさん
2011/09/18(日) 17:07:05.59釣り好きでもフライは興味ないやつも居る
車好きでもカートには興味ない奴も居る
0668デフォルトの名無しさん
2011/09/18(日) 17:52:19.390669デフォルトの名無しさん
2011/09/18(日) 18:00:33.100670デフォルトの名無しさん
2011/09/18(日) 18:40:36.210671デフォルトの名無しさん
2011/09/18(日) 18:42:23.16数学が好きと、数学が得意は必ずしも一致しない
ええ、下手の横好きです
0672デフォルトの名無しさん
2011/09/18(日) 18:43:52.10というよりは、解析学は好きだけど集合論は好きじゃない、の方が近い
集合論は色んな数学の基礎のひとつになってるが、それにはあまり興味は無く、
その上に作られた解析学の方に興味がある、みたいな
ある言語(算法、計算)がチューリング完全であるかどうかは、
計算機科学の基礎の一つではあるが、ハスケラーの間でも興味がない人がほとんどだろ
0673デフォルトの名無しさん
2011/09/18(日) 18:50:00.650674デフォルトの名無しさん
2011/09/18(日) 18:53:23.63おんなの子はハスケルン
0675デフォルトの名無しさん
2011/09/18(日) 19:11:26.86むしろ逆で、いわゆる数学(解析学とか代数学とか)よりも、
計算機科学やその周辺(論理とか集合論)に興味のあるユーザが多い印象
0678デフォルトの名無しさん
2011/09/18(日) 19:56:48.89コードもかけなきゃ証明もできないのか
0679デフォルトの名無しさん
2011/09/18(日) 20:03:43.78たとえ話だ(数学は好きなんだが、分野に依ると >>669 に言いたかった)
すまん、喩えがまずかったな
>>678
できません
諦めてください
と、暗に言ってきたつもりだが、お前の脳では解釈できなかったか
0680デフォルトの名無しさん
2011/09/18(日) 20:42:20.51他の人は知らんけど、自分はlength関数をCでもjavaでもrubyでも自作出来なかったのに、haskellだとあっさり少ない知識で書けちゃったのに惚れたんで、分かりませんね
(Cとrubyで書いて貰ったこと有るけど、初心者がいきなり書けるようなコードじゃ無かった)
今も、「これ、rubyとかでどう書くんだろ?」とか思いながら書く事が多いです
0681デフォルトの名無しさん
2011/09/18(日) 21:15:03.170682デフォルトの名無しさん
2011/09/18(日) 21:32:00.55うい
だからこそ、haskellは簡単だと実感してるですよ
0683デフォルトの名無しさん
2011/09/18(日) 21:42:54.73コンパクト集合の積集合がコンパクトになることの証明が
さくっと出てこない程度にはニワカ
いや
好きなんだけどね
0684デフォルトの名無しさん
2011/09/18(日) 23:06:21.08何年前の感覚だ?
手続型に関する多くの難解な研究を把握してからじゃないと
VBを使っちゃだめなのかい
0685デフォルトの名無しさん
2011/09/19(月) 04:51:02.207月予定だった蓮麩羅が未だに揚がってこないね
0686デフォルトの名無しさん
2011/09/19(月) 06:22:49.85あれcoqとか使ってやりたい
0687デフォルトの名無しさん
2011/09/19(月) 06:31:56.96さらに全ての型がbottomっていう変な値を持ってるのが証明系でどうあつかうのかわかんね
あとは計算量と空間使用量の証明な式簡約系を自分で作って
そいつの振る舞いをに付いて証明することで間接的に証明するやり方はあるんだけど、気軽にできるものではないな
結局Haskell向けに新たに定理証明系を作るという修士・博士論文並みのプロジェクトをやることになる・・・
0688デフォルトの名無しさん
2011/09/19(月) 10:20:09.53確かにあれはツォルンのほだいを使うからふつうは出てこないよな。
0689デフォルトの名無しさん
2011/09/19(月) 12:18:06.990690デフォルトの名無しさん
2011/09/19(月) 13:07:30.730691hajimehoshi
2011/09/19(月) 13:36:39.290692Perl忍者
2011/09/19(月) 13:38:54.56本日の☆ : 1
ただいまの☆総数 : 32
■ 洗脳されてるよお前ら気持ち悪い うざい 死ね死ねしんでくれねーか? こういう記事書くやつうざいんだよ 早く死ね なにが本物のプログラマはだよ つけこみやがって Has
http://b.hatena.ne.jp/perl-ninja/20110804#bookmark-2860059
星一 (id:hajimehoshi) ☆
〜 ☆をくれた人に「カラースター」でお返ししよう! 〜
大切な相手に特別な思いを伝えたい!カラースターを活用してみませんか?
0693デフォルトの名無しさん
2011/09/19(月) 13:41:04.420694デフォルトの名無しさん
2011/09/19(月) 13:45:22.73毎年6月頃にプログラミングコンテストが開催され、どの言語が最強か、決定される。
0695デフォルトの名無しさん
2011/09/19(月) 13:56:19.540696デフォルトの名無しさん
2011/09/19(月) 14:29:23.58どのアーキテクチャが最強とか
そういうコンテストも欲しいね
0697デフォルトの名無しさん
2011/09/19(月) 14:30:12.71あいつが出るわけない、反感買ってるから殺される
0698デフォルトの名無しさん
2011/09/19(月) 14:34:09.48start-haskellとか潜入レポートやってたじゃん
0699デフォルトの名無しさん
2011/09/19(月) 14:41:00.86まあ平気だろうな
0700デフォルトの名無しさん
2011/09/19(月) 17:19:34.560701デフォルトの名無しさん
2011/09/19(月) 17:26:31.020702デフォルトの名無しさん
2011/09/19(月) 18:17:24.550703デフォルトの名無しさん
2011/09/19(月) 18:32:47.310704デフォルトの名無しさん
2011/09/19(月) 19:31:45.07小学生の頃、好きな子にやたらと突っかかる奴いただろ
0705デフォルトの名無しさん
2011/09/19(月) 19:40:19.30わかるよ
0706デフォルトの名無しさん
2011/09/19(月) 20:05:25.820707デフォルトの名無しさん
2011/09/19(月) 20:06:29.81普通にハスケルの良い所をアピールすればいいだけなのに、
他の言語を馬鹿にしなければならないほどアピールポイントが皆無なの?
0708デフォルトの名無しさん
2011/09/19(月) 20:09:12.130709デフォルトの名無しさん
2011/09/19(月) 20:11:36.39しかも難しくて何をやってるかよくわからないだろ?
ちょっと、普通のプログラマと違いをつける一工夫のためにHaskellやってんじゃないかな
気持ち悪いから死ね
0710デフォルトの名無しさん
2011/09/19(月) 20:16:21.62他の言語とかに対する言論がちょっとアレかな、と思う人というとMatzとかScalaのあの人とか、
あれぐらいのアレではじめてちょっとどうかな、とか思う。
>>707 はネット一切見なければいいよ。見たくないものは見なきゃいい。それだけ。
0711デフォルトの名無しさん
2011/09/19(月) 20:18:33.28むしろ他の言語ユーザーよりはバカにしてる姿見かけ無いんだが。。。
そう言う平和な所も割と気に入ってる
0712デフォルトの名無しさん
2011/09/19(月) 20:18:53.74Rubyは怖い
マジで
0713デフォルトの名無しさん
2011/09/19(月) 20:20:03.23Matzくらいの有名なやつがほざくだkですぐまね
クソガキとかもまね
なんでこいつ?Haskellとかわめいてんの?気持ち悪いっていうやつも多数
意味がわからない
ただやってるだけ
早く死ね
死ね
にくい
気持ち悪い
憎いしね
0714デフォルトの名無しさん
2011/09/19(月) 20:24:04.43ポカーン...
手続き型は難しすぎてわかりませーん、とか、完全に見下して煽ってるだろ...
0715デフォルトの名無しさん
2011/09/19(月) 20:24:09.110716デフォルトの名無しさん
2011/09/19(月) 20:26:31.16そんなやつわんさかいる
ばかじゃねーの
もう時代はかわった
お前ら情弱消えろ
死ね
そんなの誰でもできる
バカでも
0717デフォルトの名無しさん
2011/09/19(月) 20:27:11.490718デフォルトの名無しさん
2011/09/19(月) 20:29:08.58しかも隠そうともしない
0719デフォルトの名無しさん
2011/09/19(月) 20:32:34.370720デフォルトの名無しさん
2011/09/19(月) 20:35:12.96一種のコミュニケーションかな
Perlコミュニティでいうラリーウォールと小飼がアニメキャラ好きだし
影響うける話あわせのクズもおいな
sっさと死んでくれ
”影響”受けるやつが憎いんだが
0721デフォルトの名無しさん
2011/09/19(月) 20:36:49.03このへんの hackage は割と死ねと思ってる
0722デフォルトの名無しさん
2011/09/19(月) 20:36:50.10プログラマなんてもう古いということをいいたいんですね
さすが忍者だ 感動的だな
0723デフォルトの名無しさん
2011/09/19(月) 20:39:01.86まあな
見てみ みんないい子づらしてるだろ?
あんなプログラミング 脆弱性発見
どこが楽しいんだ?
破壊する 匿名で迷惑をかける 困らせる
陥れる つぶす こっちのほうが楽しいだろ
愉快犯
もうそんな時代は終わった いい子ばっかり
いい子ずら
何もしない 怖くてできないびびり
そういうやつばっかりだな
なに考えてるんだよ まったく理解できない
0724デフォルトの名無しさん
2011/09/19(月) 20:39:36.500725デフォルトの名無しさん
2011/09/19(月) 20:42:10.53不純を嫌ってピュアな身内同士でオナニーの見せっこ
0726デフォルトの名無しさん
2011/09/19(月) 20:43:07.340727デフォルトの名無しさん
2011/09/19(月) 20:44:08.36体格もいい
ハッキングもできる
集団リンチ可能
爆破テロ 放火 ショットガン ネットギャング
かっこいい
Rubykaigiに乱入して無差別に破壊したいとおもったことある
0728デフォルトの名無しさん
2011/09/19(月) 20:45:50.25かっこよすぎ
0729デフォルトの名無しさん
2011/09/19(月) 20:47:04.77手裏剣ですね
0730デフォルトの名無しさん
2011/09/19(月) 20:51:53.88ごめん
それ、煽りでも何でもなく、マジで挫折したんだ。。。
0731デフォルトの名無しさん
2011/09/19(月) 20:52:42.160732デフォルトの名無しさん
2011/09/19(月) 20:53:15.870733デフォルトの名無しさん
2011/09/19(月) 21:02:25.030734デフォルトの名無しさん
2011/09/19(月) 21:03:57.10見方につくとマクロされみたいに、アンチや憎いやつらを叩いてくれる
宣伝までしてくれる
よくできたAI
0735デフォルトの名無しさん
2011/09/19(月) 21:21:30.82という優越感が滲み出てるよな
0736デフォルトの名無しさん
2011/09/19(月) 21:41:10.44ありがと、おかげさまで deep と <+> の挙動は何とか理解できた
あと multi の挙動も理解できた
だた、processChildren がよく分からない
multi とは違う挙動なのは確認できたが、理屈が分からない
0737デフォルトの名無しさん
2011/09/19(月) 21:43:14.180738デフォルトの名無しさん
2011/09/19(月) 21:43:30.07被害妄想だよ。。。^^;
言う程副作用怖く無いから
0739デフォルトの名無しさん
2011/09/19(月) 23:32:26.76ioとかguiとか。
0740デフォルトの名無しさん
2011/09/20(火) 00:05:20.83規模が比較的大きなデータ構造がある(大きなツリーとかリストとか配列とか)
データ構造の全ての要素ひとつひとつに対して処理を施す仕組み(fold 系とか)がある
このデータ構造に対して、全要素の平均値を求めたり {A1}、
ある条件を満たす要素だけを集めたり {A2}、
平坦にならしてリスト化したり {A3} といった様々な処理を施したい
しかし、データ構造の規模が大きく、また fold 系の処理も軽くはないため、
データ構造の全要素を何度も何度もたどることは好ましくない
こういう場合、今までは fold 系に渡す関数の中で {A1} と {A2} と {A3} を並行的に行い、
結果を3要素タプルにして返してた
こうすると、データ構造をたどるのは1回で済むから効率は良いんだけど、
fold 系に渡す関数の中がちょっと醜くなる
{Am} と {An} の処理の一部を共通化して効率よくするともっと酷くなる
が、仕方がないと思って諦め、可能な限り綺麗になるようにしてる
{A1} を施す fold 系、{A2} を施す fold 系などと別々に用意し、
何らかの方法でそれらを合成すれば一度の巡回で上記のと同じ結果が得られる
なんて方法はないかと、暇があれば考えてるんだけど・・・何かないかな
こういう条件に絞れば可能、とかいう話でも良いんだが
もしできれば、エッセンスを抽出して関数化したいと思ってる
0741デフォルトの名無しさん
2011/09/20(火) 00:08:18.79追い出してるって言うか・・・
副作用のある関数からは、純粋な関数を呼べるけど、逆は駄目ってだけ
(結果的にトップレベル付近に副作用のある関数が集まる)
純粋な関数から作って、それに外部からデータ渡すためのインターフェースとして副作用のある関数作れば、それ程ほかの言語と違和感感じない
0742デフォルトの名無しさん
2011/09/20(火) 00:13:04.150743デフォルトの名無しさん
2011/09/20(火) 00:56:43.29うーん
普通の言語でも、入力->加工->出力が理想だと思うんだが。。。
自分が昔、綺麗だと思ったCのコードとかは、mainの中身は関数を2、3個呼んでるだけのシンプルな感じだったし
それが自然と出来るようになる感じ
すぐに慣れる
0744デフォルトの名無しさん
2011/09/20(火) 01:03:24.21ということは、
[[ OSプログラム ]] = ボトム = [[ f = f]]
やった! Haskellだと1行でOSが書けたよ
0745デフォルトの名無しさん
2011/09/20(火) 01:08:50.35副作用なしにゲームは作れない
局所的なプログラミング言語だと思う。
0746デフォルトの名無しさん
2011/09/20(火) 02:32:48.320747デフォルトの名無しさん
2011/09/20(火) 06:05:39.190748デフォルトの名無しさん
2011/09/20(火) 06:59:08.60純粋関数型言語って言葉に引きずられ過ぎ
副作用部分ではhaskellは、オブジェクト指向は無いけど、関数型な機能をふんだんに使える手続き型言語として機能する
純粋とか、関数型言語とかにこだわり過ぎ
0749デフォルトの名無しさん
2011/09/20(火) 07:06:25.140750デフォルトの名無しさん
2011/09/20(火) 08:00:20.76今度は関数型言語のパラダイムで同じことが繰り返される訳か。胸熱。
0751デフォルトの名無しさん
2011/09/20(火) 08:32:33.73関数型で揉めるのは「関数型とはなにか」が未だ明確に規定できてないから。
0752デフォルトの名無しさん
2011/09/20(火) 09:26:16.83だからそもそもありえないんだよ
■ このスレッドは過去ログ倉庫に格納されています