トップページtech
1001コメント339KB

関数型プログラミング言語Haskell Part16

■ このスレッドは過去ログ倉庫に格納されています
0001a36 ◆K0BqlCB3.k 2011/10/07(金) 12:27:25.71
haskell.org
ttp://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/
0002a36 ◆K0BqlCB3.k 2011/10/07(金) 12:28:54.57
関連書籍
・Introduction to Functional Programming Using Haskell (2nd ed.)
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0134843460/

・Haskell: The Craft of Functional Programming
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0201342758/

・The Fun of Programming
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0333992857/

・The Haskell School of Expression: Learning Functional Programming Through Multimedia
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0521644089/

・入門Haskell
 ttp://www.amazon.co.jp/exec/obidos/ASIN/4839919623/

・ふつうのHaskellプログラミング
 ttp://item.rakuten.co.jp/book/4052963/

・Programming in Haskell
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0521692695/

・Real World Haskell
 ttp://www.amazon.co.jp/exec/obidos/ASIN/0596514980

・関数プログラミングの楽しみ
 ttp://www.amazon.co.jp/exec/obidos/ASIN/4274068056
0003デフォルトの名無しさん2011/10/07(金) 12:29:05.41
>>1000でスレが立つとか割と久々に見た
0004a36 ◆K0BqlCB3.k 2011/10/07(金) 12:29:39.25
関連リンク
・GHC Wiki
 ttp://hackage.haskell.org/trac/ghc/wiki/TitleIndex

・A History of Haskell
 ttp://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/

・関数型関連の用語集
 ttp://sky.zero.ad.jp/~zaa54437/programming/concepts/

・本物のプログラマはHaskellを使う
 ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/?ST=ittrend
0005デフォルトの名無しさん2011/10/07(金) 12:48:08.04
>>3
テンプレ書いてる途中に汚すな馬鹿
0006a36 ◆K0BqlCB3.k 2011/10/07(金) 12:59:56.19
・Haskell API search Engine
ttp://www.haskell.org/hoogle/

【簡単な使い方】
1.検索バーに関数名を入れて検索
 例 map
2.検索バーに型名を入れて検索
 例 (a -> b) -> [a] -> [b]
0007a36 ◆K0BqlCB3.k 2011/10/07(金) 13:01:00.52
テンプレ以上
議論をお続け下さい
0008デフォルトの名無しさん2011/10/07(金) 13:16:30.50
>>1

0009デフォルトの名無しさん2011/10/07(金) 13:58:10.81
じつによくやった >>1
0010デフォルトの名無しさん2011/10/07(金) 20:10:08.39
これならPerl忍者がスレ立ててほしかったわ
0011デフォルトの名無しさん2011/10/07(金) 20:49:56.65
忍者と忍者ウォッチャーは巣に帰ってくれ。スレの質が必要以上に下がりすぎる。
0012デフォルトの名無しさん2011/10/08(土) 00:49:29.33
このスレはIQ123以下は来るなよ
0013デフォルトの名無しさん2011/10/08(土) 00:51:17.26
私のIQは2000万です
0014デフォルトの名無しさん2011/10/08(土) 02:30:15.86
>>13
こういうのは、だめなんだ。難易度的に簡単すぎて面白くないんだ。
 元の台詞を”全く変更しないで”意味が通る場合にのみ書くようにしよう。
0015デフォルトの名無しさん2011/10/08(土) 07:52:00.23
14 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/08(土) 02:30:15.86
>>13
こういうのは、だめなんだ。難易度的に簡単すぎて面白くないんだ。
 元の台詞を”全く変更しないで”意味が通る場合にのみ書くようにしよう。

0016デフォルトの名無しさん2011/10/08(土) 07:52:31.64

こうか
0017デフォルトの名無しさん2011/10/08(土) 08:05:12.52
不動点
0018デフォルトの名無しさん2011/10/08(土) 09:02:40.31
ウイットに富まないアイロニーのスレですね
0019デフォルトの名無しさん2011/10/08(土) 09:20:35.39
ウェットには富んでるけどな。
汗でしっとりしててヤな感じ。
0020デフォルトの名無しさん2011/10/08(土) 09:23:09.97
スウェットですか
0021デフォルトの名無しさん2011/10/08(土) 09:56:34.49
さて仕切り直すか、雑談は別スレでどうぞ
Haskellを始めたのはいつからですか?
0022デフォルトの名無しさん2011/10/08(土) 10:03:29.06
1989年ごろ
0023デフォルトの名無しさん2011/10/08(土) 10:04:21.93
昨夜の3:00過ぎから
0024デフォルトの名無しさん2011/10/08(土) 10:09:47.74
学び始めたばかりだが、
テキストファイル中のaをAにするフィルタが
すごく簡単に書けるんだな。驚いた。
他の言語ではこうはいかない。
0025デフォルトの名無しさん2011/10/08(土) 10:43:14.97
一月半程前かしら
最初はLearnYou読んでたけど冗長過ぎ要点得なさ過ぎでブチ切れてRealWorld読んでるなう。
まだI/Oのとこまでだけど、
モナドがHaskellの静的な部品をつなぐホットグルーの様なものだって認識に達してるなう。
0026デフォルトの名無しさん2011/10/08(土) 10:56:56.11
>>24
ゴルファーあらわる
ちなみにどれくらいの長さになった?
0027デフォルトの名無しさん2011/10/08(土) 11:09:35.28
Real Worldは良くなかったわ。最初の方は話が無駄に長いのはいつもの動物本通りだし、と思うと急に説明がコード例に追いつかなくなってる
0028デフォルトの名無しさん2011/10/08(土) 11:13:36.68
>>27
webで公開してる良文書教えてちょんまげ。
http://www.haskell.org/haskellwiki/Learning_Haskell
上のリンクの中で良かったものとか、ここに載ってないものとか、知りたい。
0029デフォルトの名無しさん2011/10/08(土) 11:26:35.26
3年前から
趣味グラ魔なのでかなりゆっくりペースだが
最近まではghciで関数チマチマ作ってただけだし
0030デフォルトの名無しさん2011/10/08(土) 12:11:40.29
約1年前から。
まともにやり始めたのは今年の7月ぐらいから。
0031デフォルトの名無しさん2011/10/08(土) 12:26:07.94
使い始めてから大体1~2週間ぐらい
Learn You Haskellは読み終えたけど
全然冗長には感じなかったから読み方の問題だろ
0032デフォルトの名無しさん2011/10/08(土) 12:39:59.71
Learn You ~はそれなりに面白かったよ。だいたい一ヶ月かけて読んだ。
いまはReal Worldに移ってるけど、時々日本語の意味がわからないのが
難点。何でもかんでも感じに訳せばいいってもんじゃないと感じさせる。
でもこの辺にSICPの訳の影響を感じるところかも。
0033デフォルトの名無しさん2011/10/08(土) 12:40:17.01
こいつらジャップ
やってることがじゃっぷ

ジャップは小物を愛する
薄型コンパクト

お前らの顔は、薄い
お前らの声は、小さい
お前らの身長は、チビ
お前らの財産は、無い
お前らの体格は、ひょろい
お前らの声は、きもい
お前らのおもしろさは、無い
お前らの脳みそは、欧米より劣ってる
お前らの生産性は、無い
お前らの目的は、無い
お前らの趣味は、人の影響

早く死ね糞ジャップ
0034デフォルトの名無しさん2011/10/08(土) 12:41:27.44
漢字←感じ。
Haskellの勉強をしていると、データ構造を凝りたくなってしまう。
0035デフォルトの名無しさん2011/10/08(土) 12:43:31.95
お前ら英語できないじゃっぷは早く死ねばゴミクズ
早く死ね

Haskellやっても意味が無い
3D,2Dオンラインゲーム作ってるやつのほうが凄い
プログラミングレベルでもそいつらのほうが上
おもしろさも
Haskellとか意味が無い
おもしろさ、利便性、インフラも支えられない、ゴミの言語
さっさと死ねよゴミ
ゴミ言語

お前らは、ゴミ
お前らは、英語ができない
お前らは、数学力が無い
お前らは、鼻がつぶれてる
お前らは、キモメガネ
お前らは、くさい
お前らは、ネットワークプログラミングができない
お前らは、ゲームが作れない
お前らは、日本人
お前らは、まつもとひろゆき信者
0036デフォルトの名無しさん2011/10/08(土) 12:44:38.63
おいしさながもちジャップロック
0037デフォルトの名無しさん2011/10/08(土) 12:45:49.65
インフラを支えてる言語といえばCOBOL
0038デフォルトの名無しさん2011/10/08(土) 12:46:32.38
そんなあなたにお勧めなのがZipperです
0039デフォルトの名無しさん2011/10/08(土) 13:36:01.80
>>32
時々日本語の意味が…、自分も同じ感じがした。分からないまま単に英語訳した感じやね。
入門書のつもりで買ったけどそうじゃなくて、タイトル通り使用例を眺めて使い道を創造するのに用いるのが良さそう。
最初は別の本かPDF拾ってくるのが正解か
0040デフォルトの名無しさん2011/10/08(土) 14:49:12.57
FFI の質問です

C 言語で書かれた、FILE 構造体のポインタを引数として取る関数を
Haskell 側から使いたい場合、Haskell の openBinaryFile 関数などで得た
Handle 型の値は使えないのでしょうか(Handle 型を CFile 型に変換するなど)

もしかして、C 言語の open 関数も import して使う必要がありますか
0041デフォルトの名無しさん2011/10/08(土) 15:22:55.70
>>40
使えない
素直にFILE*を作るCライブラリを呼び出す

どうしてもHandleから作る必要があるなら fd を通す
handleToFd で Handle から fd にして
C の fdopen で fd からFILE* にして
とか

FILEとかHandleはライブラリも状態を持ってるから直接のマッピングは無理
fd は状態をカーネルが管理しているから、ライブラリ間では比較的ポータブルだけど
0042デフォルトの名無しさん2011/10/08(土) 15:43:03.24
>>40
open関数? openはファイルディスクリプタを返して、FILE構造体へのポインタを返すのはfopenでは?

一般論としては、CレベルのfdやFILE *を使いたいなら、Cのopenなりfopenなりをインポートする必要がある。
GHCの場合、System.Posix.Internals.c_open が Cのopenのラッパーなので、ファイルディスクリプタで良いなら、何とかこれを呼べばよいだろう。
でも、FILE *のほうは自分でfopenをimportするしかないと思う。
0043422011/10/08(土) 15:45:48.72
handleToFdなんて知らんかった。
そういうものがあるなら、オレの書いたことは無駄だったな。
0044デフォルトの名無しさん2011/10/08(土) 15:56:30.32
>>33
あはは
その程度で劣等感感じてるのは中国人か韓国人だけ
欧米人も日本人に劣等感感じてるの知ってから、気が楽になったよ
0045デフォルトの名無しさん2011/10/08(土) 15:57:34.67
>>41,42
ありがとうございます
すいません、fopen でした(C を久しく触ってないもので・・・)

記憶している状態がそもそも違うから、簡単に変換できるわけではないのですね
C の関数が使えない(SDK を入れてない)ので、C の fdopen を呼ぶこともできない

問題に突き当たったライブラリは libpng なんですけど、
デフォルトでは FILE* を必要とするのですが、どうも
独自のIO処理が使えるようにコールバックの仕組みも用意されているっぽいので、
それでなんとか対応できないか検討してみます
0046デフォルトの名無しさん2011/10/08(土) 16:09:49.12
>>44
お前はイエローなんだよ
ジャップ
お前はそうやって ”欧米人も”って欧米を引き合いにしないと
気が楽にならないジャップ
お前はジャップ
消えろ
0047デフォルトの名無しさん2011/10/08(土) 16:12:44.15
>>44
ばっちいものに触ると、お前もばっちくなるよ
0048デフォルトの名無しさん2011/10/08(土) 16:24:18.74
Haskellの学習を始めたばかりですが、Haskellで作成されたアプリケーションのソースを読んで、自分がまだ理解出来ていない所を補強したいと思っています。
概出だとは思いますが、皆さんはどんなのを読まれたんでしょうか?
0049デフォルトの名無しさん2011/10/08(土) 16:30:33.77
ふつける
Learn you ~
Real world
0050デフォルトの名無しさん2011/10/08(土) 16:44:16.12
アプリケーションと言えばXMonadとYiぐらいしか無いな
あぁあとghc-pkgか
0051デフォルトの名無しさん2011/10/08(土) 17:01:10.20
>>46
>>46
>お前はそうやって ”欧米人も”って欧米を引き合いにしないと
>>33
言い出しっぺ乙
0052デフォルトの名無しさん2011/10/08(土) 17:02:11.57
アプリを読んだ記憶がない
ライブラリならGHC.IO、Grapefruitとか
0053デフォルトの名無しさん2011/10/08(土) 17:15:29.98
コードを読んだ記憶がない
論文ならそれなりに
0054デフォルトの名無しさん2011/10/08(土) 18:17:59.81
ここで挙げられてるような本以外でコードを読んだとしたらPreludeとか自分が使いたくなったライブラリくらい。
0055482011/10/08(土) 18:19:23.10
皆さん、有難うございます。
ライブラリを読む、というのは気がつきませんでした。
Haskell導入時に、Haskellでコンパイルするやり方がある、と聞いた時点で気付くべきでした。
0056デフォルトの名無しさん2011/10/08(土) 19:44:03.09
haskell unixコマンド
でググって出る最初のページも参考になるよ
0057デフォルトの名無しさん2011/10/10(月) 06:16:11.88
オナニー言語の特徴だよね < 論文でしかコード読まない
0058デフォルトの名無しさん2011/10/10(月) 07:17:00.11
実用する気とか全然なくて研究のプラットフォームとしか思ってない奴らが居るからな
理念からしてそいつら向けの部分があるし、まあ仕方ない
0059デフォルトの名無しさん2011/10/10(月) 09:21:22.01
> 理念からしてそいつら向けの部分

って、どの理念?
0060デフォルトの名無しさん2011/10/10(月) 10:48:04.29
in placeな書き換えがないこと(純粋な関数型言語であること)には、
実用的な意味が全くない、と思ってるんじゃないかな。

並列実行とか最適化に全く興味がないプログラマなら、そう考えるんだろうね。
0061482011/10/10(月) 11:10:21.99
世間で「実用」と考えてるものは、実態はアドホックな投資。
研究は先行投資。
本来はスパンの違いだけの話なんだが、研究の振りをした連中も確かに一部には居る。
0062デフォルトの名無しさん2011/10/10(月) 11:25:24.78
いろんな人がいますからね。実際は「実用」ってマジックワードとして
使われてるんだと思うよ。突き詰めると定義が曖昧ですから。
0063デフォルトの名無しさん2011/10/10(月) 11:29:34.65
プログラミングできる言語ならすべて実用的。
0064デフォルトの名無しさん2011/10/10(月) 11:30:58.71
単純に難しいから流行らない、流行らないから資産が蓄積しない、資産がないので簡易に金儲け用のソフトが書けない、だから実用性がないって言われてるだけじゃ
0065デフォルトの名無しさん2011/10/10(月) 11:31:26.56
さすがにBrain*uckではOSのAPIすら叩けないからプログラミングできるとはいえないけどな。
0066デフォルトの名無しさん2011/10/10(月) 11:32:08.49
>>64
難しいかどうかって人それぞれなんじゃないの?
俺はCより簡単だと思ってる。
0067デフォルトの名無しさん2011/10/10(月) 11:34:39.46
HaskellよりCのほうが難しいと言ってる人は大抵
どっちの言語でもHallo Worldくらいのプログラムしか書けない
0068デフォルトの名無しさん2011/10/10(月) 11:35:04.25
Hallo!
0069デフォルトの名無しさん2011/10/10(月) 11:36:31.61
>>67
誹謗中傷だろ、それ。
0070デフォルトの名無しさん2011/10/10(月) 11:40:24.83
根拠が無い主張ばっかで喋り場と化すぐらいネタが無い
0071デフォルトの名無しさん2011/10/10(月) 11:46:43.33
Hello Worldは書いた事あるがHallo Worldは無いな
0072デフォルトの名無しさん2011/10/10(月) 11:49:49.89
「Hallo Worldくらいのプログラム」が単純なプログラムだろうと主張するのは
Hallo Worldさんに対する誹謗中傷
もしかしたら、すさまじいプログラムかもしれない可能性を、意図的に排除してる
0073デフォルトの名無しさん2011/10/10(月) 11:50:43.69
きっとhalloworkいきなんだよ。:-)
0074デフォルトの名無しさん2011/10/10(月) 12:01:42.89
hello worldって言ったら画面にhello, world!って表示するだけのプログラムだろ。
俺をバカにしてるのか?
0075デフォルトの名無しさん2011/10/10(月) 12:02:03.74
さて
haskell情報で重宝してるところってどこ?
planet haskell,
stackoverflow
haskell cafe
などあるけど
0076デフォルトの名無しさん2011/10/10(月) 12:03:24.41
github
0077デフォルトの名無しさん2011/10/10(月) 12:07:51.79
portal.acm.org
0078デフォルトの名無しさん2011/10/10(月) 12:22:16.16
>>75
google search
0079デフォルトの名無しさん2011/10/10(月) 12:24:28.38
あどけない話
http://d.hatena.ne.jp/kazu-yamamoto/touch
0080デフォルトの名無しさん2011/10/10(月) 12:28:56.80
かずさんlispからすっかりHaskellに染まっちゃって・・・
0081デフォルトの名無しさん2011/10/10(月) 12:34:18.84
金持ちはportal acm
貧乏人はciteseerx
0082デフォルトの名無しさん2011/10/10(月) 12:47:08.08
山根「山根がやられたようだな……」 山根「だ」 山根「が」 山根「奴」 山根「は」 山根「我」 山根「ら」 山根「山」 山根「根」 山根「二十一」 山根「天」 山根「王」 山根「の」 山根「中」 山根「で」 山根「最」 山根「弱……」
0083デフォルトの名無しさん2011/10/10(月) 12:50:10.79
>>75
関連して Haskell Wiki のインデックスから色々飛べる
あと GHC Wiki もなかなかディープな情報が得られる

Haskell Wiki
http://haskell.org/haskellwiki/Category:Haskell

GHC Wiki
http://hackage.haskell.org/trac/ghc/wiki/TitleIndex
0084デフォルトの名無しさん2011/10/10(月) 15:08:15.53
大抵の言語で解ける様な、単純か又はアルゴリズムが判ってる問題は、速読重視、読み易さ重視、なんでも好きなのを選べば良い。
そうじゃない領域の問題は、言語を選ぶ必要があるが、全てを唯一つの言語で無理矢理カバーする必要も無い。
IBMのSシリーズブロトタイプ開発にAPLを使った例とかもある。
0085中22011/10/10(月) 15:58:57.61
Haskellはじめたよ
はじめた理由聞きたいかな?
0086デフォルトの名無しさん2011/10/10(月) 16:20:23.40
べつに

大いに楽しむといいよ
0087デフォルトの名無しさん2011/10/10(月) 18:34:37.05
おすすめのグラフ作成パッケージありますか?
gnuplotやchartを使ってますが
他にあれば知りたいです
0088 ◆QZaw55cn4c 2011/10/10(月) 18:43:59.61
>>87
R と答えてほしいのかな?
http://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E
0089デフォルトの名無しさん2011/10/10(月) 19:00:38.56
チャート作成でRは鉄板。
0090デフォルトの名無しさん2011/10/10(月) 19:54:01.63
>>59-60
Haskellの開発動機として、応用だけじゃなく研究の道具ってのがったのはたとえばA History of Haskellに書いてある
0091デフォルトの名無しさん2011/10/10(月) 19:55:51.27
Chart でいいと思う

どんなグラフを求めてるのか知らんが、
僅かなコードでここまでできるなら十分だろ
png に保存もできるし
http://dockerz.net/twd/HaskellCharts
0092デフォルトの名無しさん2011/10/10(月) 19:56:49.17
>>90
だから、それはどういう理念なんだよ
自分の言葉で説明しろよ
0093デフォルトの名無しさん2011/10/10(月) 20:11:54.53
incanterも少しは期待できる。といってもあれは現代のxlispstatだけどな。
0094デフォルトの名無しさん2011/10/11(火) 05:50:55.78
>>92
まずは自分が説明しろ
0095デフォルトの名無しさん2011/10/11(火) 07:13:25.74
>>94
意味が分からない
何で俺なの?

>>58 が「理念からして・・・」と言ってるんだよ

「実用する気とか全然なくて研究のプラットフォームとしか思ってない奴ら向きの理念」
とは何かを自分の言葉で説明すべきは >>58 本人でしょ
0096デフォルトの名無しさん2011/10/11(火) 22:45:56.60
横レスだが、イギリスの各大学でいろいろな関数型言語が別個に開発されていて、
またオープンソースもそれほど盛んな時代ではなかったので、
大学を異動すると前の処理系は使えず、別の処理系を作り始める必要がある場合があった。
これでは人的リソースの無駄なので、
イギリス大学内での共通言語を目指してHaskellプロジェクトが立ち上がった。
0097デフォルトの名無しさん2011/10/11(火) 22:46:41.76
hajimehoshiは童貞
0098デフォルトの名無しさん2011/10/12(水) 00:36:19.86
配列から始まってSTとかStateとかData.Arrayの傘下のSTUArrayとか色々調べてるんだけど日本語の情報があまりなくてよくわからない
こういうものの情報はやはり英語探らないと駄目なんだろうか
0099デフォルトの名無しさん2011/10/12(水) 01:25:13.82
キャチアップし続けてる人がまわりにいれば聞けるんだろうなあ。勉強会後の飲み会で話すとそう思う。

モダンHaskell(モダンPerlっぽいいいまわし)みたいな本が日本語あれば、
pythonみたいな誰かに教えたい欲求が高いチューター層が増加して、
モダンHaskell入門ハッカソソンとか開催されるようになるかも。
むしろ、初心者で読書会はじめて、そこからチューター呼んで開催するとか誰かしてくれませんか。
0100デフォルトの名無しさん2011/10/12(水) 01:30:21.83
twitterとかで、haskell速くならないどうして?やっぱりおそいの?っていう人の
サンプルコード添削してるの見てると、使ってるライブラリの世代や発想が違う感がバリバリあったりする。
0101デフォルトの名無しさん2011/10/12(水) 01:35:49.49
大学に入学してはどうですか?
■ このスレッドは過去ログ倉庫に格納されています