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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2012/10/17(水) 08:08:28.97
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/
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/
Part19 ttp://toro.2ch.net/test/read.cgi/tech/1340760070/
0809デフォルトの名無しさん2013/01/11(金) 23:07:05.99
>>808
いや、言葉の意味、なんでthunkなの? という趣旨の質問かと思ってた
0810デフォルトの名無しさん2013/01/11(金) 23:16:51.00
>>809
なんでthunkという単語にしたかという経緯は、algolの教科書に書いてある
algolスレへGo!
0811デフォルトの名無しさん2013/01/11(金) 23:48:37.48
>>810
thunks
0812デフォルトの名無しさん2013/01/12(土) 02:46:50.40
いつ評価されるのか、私気になります!
0813デフォルトの名無しさん2013/01/12(土) 02:54:12.19
forceが評価されるときに実行されちゃいます
0814デフォルトの名無しさん2013/01/12(土) 03:17:28.07
>>812
えるちゃんじゃなくて、えばるちゃん!
0815デフォルトの名無しさん2013/01/12(土) 12:29:18.06
>>808
> >>806 
> 計算機プログラムの構造と解釈
> 実装はschemeだけど
それ和田本じゃなくてSICPと呼ぶのが普通。
訳が独特だから、あえて和田本なのかも知れないけど。
0816デフォルトの名無しさん2013/01/12(土) 13:56:53.28
おれ子供ができたら

えばる
あぷらい
らむだ

って名前付ける。
0817デフォルトの名無しさん2013/01/12(土) 14:47:46.84
>>816
子供、できるといいな
0818デフォルトの名無しさん2013/01/12(土) 15:26:35.34
SICP…
たぶん俺なんかが読んでも速攻で挫折するんだろうな
0819デフォルトの名無しさん2013/01/12(土) 15:29:58.95
SICPは古いし読む価値ないと思うよ。
0820デフォルトの名無しさん2013/01/12(土) 15:30:57.49
今はSICPよりJavascriptの本読んだほうがいいね。
0821デフォルトの名無しさん2013/01/12(土) 15:31:44.78
まだ生きてたの?
0822デフォルトの名無しさん2013/01/12(土) 15:31:59.02
Haskellスレ的にはSICPよかAlgebra of Programming
0823デフォルトの名無しさん2013/01/13(日) 01:38:46.38
>>818
RWH通読した根性があれば、その1/4の時間で読み終わると思う
0824デフォルトの名無しさん2013/01/13(日) 03:31:35.01
>>814
そこは『氷菓だけにぃいいいいい?』だろ
0825デフォルトの名無しさん2013/01/13(日) 04:02:56.20
わたし、(評価されると)木になります!
0826デフォルトの名無しさん2013/01/13(日) 10:03:39.60
SICPに古いかどうかなんて関係あるか?
0827デフォルトの名無しさん2013/01/13(日) 10:20:00.59
ここ20年における計算機科学の進歩を無視するというなら関係無いな
SICPが書かれた時分なんて計算機科学の専門家ですらモナドなにそれおいしいの?ってレベルだぞ
0828デフォルトの名無しさん2013/01/13(日) 11:19:30.21
ぶっちゃけSICPのどこがどう古いと言われてるのか知らない…
0829デフォルトの名無しさん2013/01/13(日) 11:31:23.25
一般に教科書は古い
学部でやる線型代数の教科書も古い
0830デフォルトの名無しさん2013/01/13(日) 11:33:30.35
線形代数は枯れてるけど計算機科学は滅茶苦茶若い学問っていう差はあるから同じようにはできないと思うよ
0831デフォルトの名無しさん2013/01/13(日) 11:42:44.76
計算機科学に新しい要素は加わったが、SICPは古くなってないと思うぞ。
ニュートン力学が古くならないのと同じ意味で。
0832デフォルトの名無しさん2013/01/13(日) 11:54:41.27
PascalよりSchemeが良いっていうコメントを入れてしまったのが古い
でもここでSchemeよりHaskellが良いと言うのは進歩がないよね
0833デフォルトの名無しさん2013/01/13(日) 11:59:53.76
計算機科学って、どのあたりが「科学」っぽい?
0834デフォルトの名無しさん2013/01/13(日) 12:01:20.27
等式推論と静的型検査の要素が入ったSICPがあれば嬉しい
0835デフォルトの名無しさん2013/01/13(日) 12:08:39.18
ではまず科学の定義から始めよう
0836デフォルトの名無しさん2013/01/13(日) 12:18:50.54
>>833
何が正しいか議論するよりも実験する方が早いところが科学
0837デフォルトの名無しさん2013/01/13(日) 14:53:17.71
計算機科学って、今でも「科学として」発展し続けてる?
0838デフォルトの名無しさん2013/01/13(日) 15:20:28.33
学科としてみたら就職率のいい数学科
0839デフォルトの名無しさん2013/01/13(日) 15:34:05.63
就職率なんて当てにならんだろ。
だって企業は学生がどの学科かなんて全く見てないんだから。
0840デフォルトの名無しさん2013/01/13(日) 15:42:35.49
Haskellアプリってどれくらいメモリ食うの?
64MBで普段スワップ起こしてる環境だから判んないけど
32GBとか積んだ環境だと一杯になるまで無尽蔵に使い続けるわけ?
0841デフォルトの名無しさん2013/01/13(日) 15:48:38.94
64Mじゃhaskell-src-extsのビルドもできない
0842デフォルトの名無しさん2013/01/13(日) 16:19:38.25
>>840
RTSオプション付けてプロファイリングしてみれば良い

それくらいは自分でできるだろ
0843デフォルトの名無しさん2013/01/13(日) 17:42:29.07
計算機の構造が根本的に変わらない限り、
SICPが古くなる(読んでもあまり意味がなくなる)ことは無いよ
0844デフォルトの名無しさん2013/01/13(日) 17:48:12.12
SICP信者多すぎて困るw
あんなもんただのScheme解説書じゃん。
計算機科学分もネットで出回っている情報レベルの本w
0845デフォルトの名無しさん2013/01/13(日) 17:55:29.51
そのネット情報のソースがSICPだったりしてなw
ま、そんなことはどうでもいいけど、
お前ら本の名前ばっかり論ってないで議論しろw
0846デフォルトの名無しさん2013/01/13(日) 17:58:10.86
じゃあお前が議論のネタ出せよ!!!
0847デフォルトの名無しさん2013/01/13(日) 17:59:57.41
qt-haskellのhaddockが最強
6Gあっても足りない
0848デフォルトの名無しさん2013/01/13(日) 18:06:18.28
> あんなもんただのScheme解説書じゃん。

どこがだよ。Schemeの教科書として読むのは勧められない、というのが定評なのに。
おまえが何もわかってないことだけが明らかw
0849デフォルトの名無しさん2013/01/13(日) 18:11:55.06
>>844
有志によるPython版すらあるというのに何を言っているのか
0850デフォルトの名無しさん2013/01/13(日) 18:13:04.44
TAOCPはどうなのよ
0851デフォルトの名無しさん2013/01/13(日) 18:15:48.44
大学1年の時にSICPを読んで、初めて言語処理系なる物を自作したなぁ。
あの頃はコンピュータ技術者の地位はそこそこ高かったw
0852デフォルトの名無しさん2013/01/13(日) 18:18:08.65
>>837
生物学のようなものが発展したら数学者はガッカリするだろうか
0853デフォルトの名無しさん2013/01/13(日) 18:18:55.36
>>845
みんなHaskellで語ることないんだよ
0854デフォルトの名無しさん2013/01/13(日) 18:32:35.58
すばらしい!
語る事が無いほど明快な言語というわけか!
0855デフォルトの名無しさん2013/01/13(日) 18:45:50.40
ビルドツールとか CI ツールとか、UML ツールとか、
そういうのって C や Python、Java などでよく作られるけど、
Haskell で作るって話が出ないのはなんで?

Haskell はその手のツールを作るの苦手なの?

こういうツールも初めは個人の趣味で、
一人で必要最小限の小さなアプリから作って育ったんだから、
Haskell で作って公開してる人が居てもおかしくないと思うんだが。
0856デフォルトの名無しさん2013/01/13(日) 19:04:51.44
時代じゃないかな。
そういうのが量産された時代ってせいぜい10〜20年ほど前だろ?
0857デフォルトの名無しさん2013/01/13(日) 19:09:11.54
今はWEBかスマホアプリの時代。
注目されている分野が違うんだよ。
0858デフォルトの名無しさん2013/01/13(日) 19:28:01.62
じゃあ、今ふだん Haskell でプログラムしてる人たちは、何作ってるの?
0859デフォルトの名無しさん2013/01/13(日) 19:34:52.42
サーバ関係じゃね
0860デフォルトの名無しさん2013/01/13(日) 19:35:27.26
>>858
論文
0861デフォルトの名無しさん2013/01/13(日) 19:35:51.74
>>860
イイネ!!
0862デフォルトの名無しさん2013/01/13(日) 19:36:10.48
Haskell…かな
0863デフォルトの名無しさん2013/01/13(日) 20:07:28.76
>>860
論文を書くのに必要な資料や文献を管理するツールとか?
論文の構想を錬るのに使うビジュアルツールみたいなのとか?

一部の特別な人間が使うサーバー関係よりも、こっちの方が興味あるな。
こういうのなら、改良して一般の人たちが普段使うツールにできそうな可能性ある。

なんでフリーウェアで公開しないの?
公開すればいろんな人たちが改造するかも知れんのに。
0864デフォルトの名無しさん2013/01/13(日) 20:09:50.93
shake
0865デフォルトの名無しさん2013/01/13(日) 20:34:30.44
>>863
定理を論文に書く → haskellで確認する
アルゴリズムを論文に書く → 実証用の簡易実装をhaskellで作って公開する
数値実験 → haskell環境で実験

haskellのコードに限りなく近い形で論文に掛けるからhaskellを使ってる
0866デフォルトの名無しさん2013/01/13(日) 20:38:25.44
俺は実験の生データをHaskellで読んで整形してchartとか適当なライブラリでグラフまで落すってのに使ってる
0867デフォルトの名無しさん2013/01/13(日) 20:52:45.82
javaのスケルトンをHaskellで作ってる
0868デフォルトの名無しさん2013/01/13(日) 21:12:57.13
>>865
論文に書く定理をhaskellでどうやって確認するの?
Haskellで確認できるというのは、例えばどういう定理?
0869デフォルトの名無しさん2013/01/14(月) 01:35:28.87
グラフ系とベイズ系と数値計算系と型理論系とデータベース系くらいか
0870デフォルトの名無しさん2013/01/14(月) 08:55:56.09
何とか伝えようとしても、かえって隠している印象が強くなるよね
0871デフォルトの名無しさん2013/01/14(月) 10:31:42.37
型理論系をHaskellで書く?アホだろ。
0872デフォルトの名無しさん2013/01/14(月) 12:21:32.06
http://blogs.wankuma.com/yaju/archive/2010/04/01/187628.aspx

これ、Haskell導入促進支援事業のページのリンクが切れてるんだけど、
結局どうなったの? 頓挫?

公式のサイト内でHaskellを検索してもページ無いし
0873デフォルトの名無しさん2013/01/14(月) 12:35:21.54
日付
0874デフォルトの名無しさん2013/01/14(月) 12:43:07.80
Haskell では昔からお約束w
ttp://www.dcs.gla.ac.uk/mail-www/haskell/msg00394.html
0875デフォルトの名無しさん2013/01/14(月) 13:26:11.79
>>870
個人が特定できちゃうからな…
0876デフォルトの名無しさん2013/01/14(月) 13:32:56.76
>>871
π計算、Chameleon system、単一型パラメータコンストラクタからの拡張法、…
0877デフォルトの名無しさん2013/01/14(月) 14:19:54.71
>>873
そういう事か

なんか悪意を感じるな
0878デフォルトの名無しさん2013/01/14(月) 14:22:15.78
日本で Haskell の事業って何かないの?

もちろんオープンソースのプロジェクトでもOKだけど
0879デフォルトの名無しさん2013/01/14(月) 15:18:11.54
http://career.worksap.co.jp/newgraduate/geek/index.html
0880デフォルトの名無しさん2013/01/14(月) 16:09:52.52
>>879
すまん、Haskellを使って具体的に何をするのか、
その事業はなんで他言語じゃなくHaskellなのか、
とかその辺りが知りたかった。

Haskellでこんな狙い(ビジョン)でこんなことやってます、
というのが分かるといいんだけどなぁ。
0881デフォルトの名無しさん2013/01/14(月) 16:26:48.72
>>857
その次はウェアラブルコンピューティングの時代
ますます富豪的プログラミングの日の目は遠ざかりますなあ
0882デフォルトの名無しさん2013/01/14(月) 17:03:03.44
haskellは静的型付けであり実行時型チェックしないので速い
http://benchmarksgame.alioth.debian.org/u64/which-programs-are-fastest.php
富豪的プログラミングから遠ざかりLLが滅びる中、haskellだけは生き残る!
0883デフォルトの名無しさん2013/01/14(月) 18:52:05.94
もう速度で言語を選ぶのはやめにしませんか?
0884デフォルトの名無しさん2013/01/14(月) 20:09:00.18
用途によって言語を使い分けたりしないのね
0885デフォルトの名無しさん2013/01/14(月) 21:07:04.60
その、用途と言語との関係がいまいち分からん。

コンソール用のゲームならC/C++が適してるし、
Webのクライアント側のシステムならJavaScriptが適してるが、
その他の用途って、言語は何使っても大して違いないような気がする。
好きな言語選べばいいんじゃね。

Haskellが適してる用途って何よ。

Haskellの特長を生かした、学習曲線が穏やかなGUIライブラリが無いという時点で、
適してる分野がかなり狭められているような気がするが。

Haskellの適した分野の集合 ⊂ その他の言語の適した分野の集合

今こんな感じだろ
0886デフォルトの名無しさん2013/01/14(月) 21:27:07.84
俺様言語処理系を書くこと
0887デフォルトの名無しさん2013/01/14(月) 21:48:19.53
>>883
学習速度、アプリ構築速度、メンテナンス速度、投資回収速度、いろいろ有るから無意味ではない。
0888デフォルトの名無しさん2013/01/14(月) 21:58:30.32
環境負荷と経済効率で測るべき
0889デフォルトの名無しさん2013/01/14(月) 22:05:18.33
アセスメント手法確立できないくせに〜
0890デフォルトの名無しさん2013/01/15(火) 00:38:01.96
>>885
言語は選ぶモノではない
押し付けられるモノだ
計算可能性が同じである以上、分野が適していないなんて言い訳は通用しない

我々にできることは、インターネット上の間違った知識を理由に言語を押し付けられないよう、間違いを見付けたら逐一指摘していくことのみ
0891デフォルトの名無しさん2013/01/15(火) 00:53:54.35
>>887
それ、結局は人間がボトルネックになってる。
ハードが進化して実行速度を無視してよくなったように、5年以内に自動コーディングが進んで人間のボトルネックも無視する風潮になるような気がする。
コンピュータ言語はガチの専門家さえ理解できればいい代物になってしまうのではなかろうか。
0892デフォルトの名無しさん2013/01/15(火) 00:56:52.99
じゃあガチの専門家になろう
0893 ◆QZaw55cn4c 2013/01/15(火) 02:34:30.64
自動コーディングはどの程度まで進んでいるのであろうか?
また自動コーディング系になんらかの「仕様が記述されたもの」を入力しなければならないであろうが、それはどのように記述されるのであろうか?

haskell 風に記述するのか?まさか?
0894デフォルトの名無しさん2013/01/15(火) 02:40:54.78
抜け目ない仕様の記述という問題が残る以上
言語が一段高級になるだけにしか思えない
0895デフォルトの名無しさん2013/01/15(火) 08:12:45.76
キモい書きこみばっかだな
0896デフォルトの名無しさん2013/01/15(火) 08:35:24.36
>>891
>ハードが進化して実行速度を無視してよくなったように、

この認識が通用するのは、元々数桁の改善で済む程度の単純な問題についてだけ。
あと投資は技術のすじ以外の部分が大きい。
0897デフォルトの名無しさん2013/01/15(火) 10:14:14.82
『本物のプログラマはHaskellを使う』って読みにくいな
すごいHはあんなに分かりやすかったのに…
0898デフォルトの名無しさん2013/01/15(火) 18:13:13.36
そりゃ、あれは初心者に分かった気にさせる本だから
本物の〜の方が内容はしっかりしてる
0899デフォルトの名無しさん2013/01/15(火) 19:00:45.86
まあちょっと説明不足気味なのは分かる気がする>本物の〜
0900デフォルトの名無しさん2013/01/15(火) 20:36:26.80
>>897
例えばどこがどう読みにくい?
0901デフォルトの名無しさん2013/01/15(火) 21:30:08.31
>>900
端的に言えば読む側が理解しやすいように順序立てて説明してる感じがしない
筆者が思いついた順に説明してる感じ
各段落で読者が何を知っていて何を知らないかに注意を配ってないし
段落でされている説明が章全体の中でどういう位置にあるのかを読んでいて見失いやすい
知りたかったこと(定義)をズバリと教えてくれず例示とあいまいな日本語で済ませてる

あと「前回では〜」みたいな別の章の参照が不必要に多くて各章の独立性が低い

Haskellはどのような時にメモ化を行うのかを調べていて
「第8回 遅延評価の仕組み」に行き当たったけれど
「名前呼び出し」の説明に量を割きすぎていて
肝であろう「必要呼び出し」の説明が段落ひとつ分しか書かれてない
0902デフォルトの名無しさん2013/01/15(火) 22:25:09.23
必要になるまで、必要な分しか説明しないのだろう
0903デフォルトの名無しさん2013/01/15(火) 22:28:45.20
書籍にするつもりがない連載にそんな批判されましても
0904デフォルトの名無しさん2013/01/15(火) 22:33:38.14
そうは言っても、個人のブログなどとも違うからなぁ
0905デフォルトの名無しさん2013/01/15(火) 22:34:11.10
日本で批評の対象になる価値があるのはそのコラムだけだからな
難しすぎてスルーされてるけど。
君が10行も語ってるのがその証拠だな

俺的には彼にIOモナドを3年くらい解説してほしいマジで
State#って何なんだよ
0906デフォルトの名無しさん2013/01/15(火) 23:45:44.27
>>905
何だよっていうか、概念的には State Monad と同じだから State って書いてるだけで、
その辺は外部世界をどう記述するかっていう処理系依存の話だし別に気にせんでもいいのでは。
0907デフォルトの名無しさん2013/01/15(火) 23:58:53.61
Haskellでワープロを作る場合
一文字書く度に全てのデータを作り直す必要があるんですか?
0908デフォルトの名無しさん2013/01/16(水) 00:03:48.56
ないです
レス数が900を超えています。1000を超えると表示できなくなるよ。