1read 100read
2013年05月プログラム10: 関数型プログラミング言語Haskell Part22 (405) TOP カテ一覧 スレ一覧 2ch元 削除依頼
人気プログラミング言語ランキング (877)
iPhone iPad iOSプログラミング Part1 (726)
★★ Java の宿題ここで答えます Part 72 ★★ (606)
くだすれC++Builder(超初心者用)その5 (361)
【3DS】プチコンを語るスレ【DSi】 (740)
サウンドプログラミング5 (772)

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


1 :2013/03/23 〜 最終レス :2013/05/13
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/
Part20 ttp://toro.2ch.net/test/read.cgi/tech/1350428908/
Part21 ttp://toro.2ch.net/test/read.cgi/tech/1358702176/

2 :
関連書籍
・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
・すごいHaskellたのしく学ぼう!
 ttp://www.amazon.co.jp/dp/4274068854

3 :
関連リンク
・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
・Haskell API search Engine
 ttp://www.haskell.org/hoogle/
 【簡単な使い方】
 1.検索バーに関数名を入れて検索
  例 map
 2.検索バーに型名を入れて検索
  例 (a -> b) -> [a] -> [b]
・Real World Haskell
 ttp://book.realworldhaskell.org/read/
・Learn You a Haskell for Great Good!
 ttp://learnyouahaskell.com/chapters

4 :
 
私がこの世界に求める優しさのすべて―
  それがHaskellなんだと。
あぁ この世界の女性がみんなHaskellになったら
  なんてすてきな世界なんだろうと考えました。

レトルトカレーしか作れぬお前がHaskellになったところで
   そ れ は H a s k e l l で は な い !

5 :
さすがキチガイだな
Haskellにはチンポ入れる穴がないだろ

6 :
チンコ入らないこともなさそう http://hackage.haskell.org/trac/ghc/wiki/Holes

7 :
927 デフォルトの名無しさん [] 2013/03/24(日) 13:57:24.26 ID: Be:
    15分で始めるScala
    http://xerial.org/scala-cookbook/recipes/2012/11/29/scala-in-15-minutes/

    ↑
    東大の先生は、Scala使ってDNA解析をガンガンぶん回しているというのに、
    おまえらみたいな低脳は、いつまでもたっても、言語がどーのこーので、ちっとも前に進まないな。
928 デフォルトの名無しさん [sage] 2013/03/24(日) 15:33:58.26 ID: Be:
    そういうレスはHaskellスレに書いたほうがウケる

8 :
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
                  京都大学霊長類研究所

9 :
いくらクソ言語のクソスレだからってあんまりだ……

10 :
http://d.hatena.ne.jp/nushio/touch/20120517
http://th.nao.ac.jp/meeting/rironkon11/oral-files/muranushi.pdf
御使い乙、代わりにこれをあげよう

11 :
>>7
scalaなんかで解析してるから進みが遅いんだな・・・

12 :
貴様は一生機械語でカイてろ

13 :
Haskellって遅延評価じゃん?
この言語で作ったGUIも遅延評価になるの?
GUIが遅延評価になるってのが自分で言っててよくわかんないんだけど
2chブラウザなんか作ったとして、スレッドを読み込んだ時点で
先の方のレスはまだ表示させる必要ないから
データの解釈とレンダリングは必要になる(実際にそのレス番に着く)までしないとかさ
そういう、特に工夫しなくてもデフォルトで遅延評価になってることを類推するじゃん?

14 :
>>13
特殊な裏ワザを使わなければ遅延評価
ただし、評価生成されるのは、「表示」じゃなくて「表示するプロセス」

15 :
>>13
gtkとか使う場合、描画タイミングとかはwidgetにお任せだよ。

16 :
むむむ

17 :
誰も使わない

18 :
>>12
君はいつもそういう極論しか言えないよね

19 :
ただの報告だけど、いまHaskell使ってGPU用のCのコードを自動生成してる
並列計算

20 :
突然どうした

21 :
>>18
>>11 の暴論っぷりはスルーかいw

22 :
     参照は透ける――Haskell!
よし

23 :
Haskellって言語としての出来はともかく標準ライブラリは変だよね
なんでApplicativeのpureとMonadのreturnが分かれてるんだ
歴史的経緯は分かるんだけど、Applicativeを導入するときにpureじゃなくてreturnって名前にすりゃよかったじゃん

24 :
(」・ω・)」はぁ〜
(/・ω・)/ 透けるぅー!

25 :
>>23
return の方がおかしいと思うのは俺だけか?

26 :
>>23
歴史的経緯が分かってて、その提案なの?

27 :
MonadとClannadの違いについて教えてください

28 :
>>27
違いについて質問しようと思った経緯を教えて欲しい。
それによって返答が違う。
たとえば、**や〜〜などの共通項を見つけたが、
あまりにも似すぎているために、逆に違いがあるのか気になった、とか。
スレチだったりバカな理由なら以後は無視する。

29 :
Monadは隠蔽でClannadは人生

30 :
クラナッハはハウスバルドゥンクの師匠に当たるのかな。

31 :
レーベンシュタイン距離……?

32 :
モナドは文脈依存

33 :
Keyは登場人物がキチガイだらけの糞

34 :
Haskell頭文字がHだからってエロゲの話しなくていいから
今ホットなライブラリの話でもしててくれ

35 :
ホットというか、新しいプラットホーム入れたらライブラリがけっこう移動しててビビッた

36 :
>>30
ハンス・バルドゥンクだろう。グリーンの使い方の名手として
知られたらしいが、あまり発色の良いものは残っていないらしい。

37 :
美術をテーマにしたHaskellプログラムは見たことがないな。Prologだと、
1980年代前半から古典主義建築のオーダーだとか、ファサードの研究に
結構利用されていたのだが。

38 :
なにそれ詳しく知りたいです

39 :
>>38
84-5年頃だから前半ではなくて中頃だった。建設省建築研究所での
Prolog-KABAを使った研究が有名。浮動小数点数も扱えない処理系で
何ができたかは疑問ですが。
それとは全く別の話だが、こちらは海外でPrologのプログラミングで
黄金分割の研究をしたものもあった。

40 :
>>37
GitHubにはあると思うけど。

41 :
綺麗に書かれたコードはそれ自体が美術です

42 :
クヌースは文芸と言っていた

43 :
"The Art of ~" シリーズがベストセラーを連発していてすっかり世俗化した。

44 :
hoge :: a -> Maybe b とするべきか
hoge :: a -> b として境界条件外はundefinedするべきか
よく迷うけど指針ってありますか? (b自体はMaybe型じゃないとして)

45 :
それは、戻り値が境界条件外だった場合に「何がしたいか」によると思うんだが

46 :
すまん、戻り値がじゃなくて引数が、ね
境界条件外だった場合に、その事を何かに伝達したいのなら Maybe b の方が良いだろうし

47 :
Nothingってどのくらいメモリ食うの?
Left "" はその何倍食うの?

48 :
>>44
数学の関数として考えるとき、定義域(domain)に未定義はあり得ない
引数が定義域の範囲の外にあるなら、それは例外として処理すべき

49 :
そう言う実コードの役に立たない知識はどうでもいいです

50 :
Types And Programming Languages って、ついに翻訳されたんだな
http://www.amazon.co.jp/dp/4274069117/
くっそ高いけど

51 :
>>50
ですよねぇ。価値ある情報が無料じゃないのは許されないと思います。

52 :
>>49はモデル化できないks

53 :
>>48
有理関数(分母と分子が多項式になってる分数で定義される関数)なんかは、
分母がゼロになるところを定義域から外すようにすると、有理関数
を定義するのに先立って分母がゼロになるところを求めておいてそれを
除外したところを定義域とするようにしないといけないのであり得ませんね

54 :
TaPL立ち読みしたけど、クソむずそうで興味持てなかったわ

55 :
>>50
英語版買ったばかりなのに........

56 :
オーム社の関数型言語への入れこみっぷりはちょっとおかしい
ラムダ社に社名変更すべき

57 :
>>50
まじで。偉業だな。
大学一年の推薦図書決定だなw

58 :
>>52
そんなに気に障ったの?

59 :
Haskeller様はコードなんて書かないからいいんだよ

60 :
たまには書くわ!ばかにするな!

61 :
>>53
高次多項式の零点を求めることになるから、それは一般に計算不可能
関数の計算が問題にする時点で正則関数に限定されており、つまり、分母に零になった時点で例外にしなければならない
特異点を例外にしないのは、高階関数や数式処理をする場合だけにすべき

62 :
「高階関数や数式処理」ってなんだよ……

63 :
>>62
高階関数=積分
数式処理=通分

64 :
TaPL日本語、期待してたんだが、ちょっと訳が直訳気味だな。
これだと原語のほうが読みやすいぞ。
超訳よりはマシだが、もうちょいこなれた日本語にできんかったんかね?

65 :
>>61はこの前暴れてたやつだろ

66 :
数式が全部文字に置き換えられたモノから数式に戻して計算する関数を作りたいと思います。
例えば、[ Kazu 0.1, Tasu, Kazu 2.1, Hiku, Kazu 3.0, Kake, Kazu 2.9, Waru, Kazu 0.9]があって、
これを戻すと 0.1 + 2.1 - 3.0 * 2.9 / 0.9 -> -7.46 みたいに結果をだしたい。

67 :
"0.1 + 2.1 - 3.0 * 2.9 / 0.9" という文字列を作ったとして、それをどうやって計算するつもりなのよさ

68 :
引くは "-"に、足すは”+”にしてどうにかできない?
KazuとかHikuなど data Keisan = [Moji]みたいにして?

69 :
>>68
Prologだと以下のような定義となる。Haskellだってあるでしょ。
数式が全部文字に置き換えられたモノから数式に戻して計算する(_リスト,_式,結果) :-
    演算子を置換する(_リスト,_演算子を置換されたリスト),
    atomic_list_concat(_演算子を置換されたリスト,' ',_式文字列),
    atom_to_term(_式文字列,_式,_),
    _結果 is _式.

70 :
ごめん間違えた。
数式が全部文字に置き換えられたモノから数式に戻して計算する(_リスト,_式,_結果) :-
結果の前のアンダースコアが落ちていました。これだとfailしてしまいます。

71 :
ParsecのtokenPrim使おう

72 :
結果を出すのはこんな感じかな
ttp://pastebin.com/200nZjPm

73 :
マセマティカみたいに文字式のままとか、対数関数を
log 6 を log 2 + log 3みたいにちゃんと扱ってくれるライブラリないの?
logで猛烈に四則演算繰り返すと絶対非負であることが証明できる演算が負になっちゃったりして困るの
エントロピー関連の計算でさもありなんでしょ?

74 :
これかな。
ttp://www.haskell.org/haskellwiki/Libraries_and_tools/Mathematics#Computer_Algebra
あんまないのか?
それっぽいキーワードで検索すると他にも出てくるけど、これでキマリ、みたいなのはないっぽい。

75 :
フリーかつ言語ライブラリとしてまともに使える
数式処理システムはpythonのsympyぐらいでは
他言語じゃhaskell含めて寡聞にして聞かないわ

76 :
NumPyとかSymPyとかそのへんはやたら定評があるのなPython。

77 :
Pythonさんが最強の言語だな

78 :
MissingPyで成果だけ横取りしたらええんや!

79 :
数式処理は作る過程が目的だからな…
昔は演習の時間にschemeで数式処理システムを作らされてた
Haskellだとスマートに作れそうな気がするんだけどな

80 :
みんな、>>79が作るってよー

81 :
schemeなら和田本に数式処理の微分まで載ってる

82 :
その分野は最強はMathematicaだろ。
作ってる奴の頭が良すぎる。

83 :
Maximaとか?

84 :
グラフで表示するために特異点求める研究してて、論文で特異点の説明でその特異点を図示するためにMathematica使ってたのは良い思い出

85 :
79氏の伝説が今、爆誕!

86 :
モナド戦争しようぜ

87 :
Functor〜モナド考えたやつ誰だよ頭いいな
1日経ってもまだ理解できない

88 :
>>87
一日で理解できたら相当頭いい。
あと、いろんなものがモナドになってるけど、「いろいろなものが経験的にモナドで表せる」だけで
モナド最強無敵完璧究極とかは明確に間違い。
モナドで不足するところを補うためにあとから色々アイデアが出てる。
圏論的な意味でモナドはかなり良い抽象化であるにもかかわらず
関数型言語ではなぜそれが不十分な抽象化であり得るか:
Hask圏が「ふつうの圏」ではなく豊穣圏の一種だから、だと思われる。

89 :
寝ぼけていい加減な事書いてしまった。

90 :
いい加減なことだったのかよ読んじゃったよ!

91 :
いやさ、「豊穣圏だから」って言い方がなんか投げやりだなって。
先に現象があるのであって、「豊穣圏だから」って言い方だと先に理論が
あるみたいな言い方で極めて質が悪い。

92 :
それに、Haskは豊穣圏ではあるけど豊穣圏の中でも最も単純なタイプだ。
だれか夏コミで書いてたけど。豊穣圏などという大砲を持ちだして雀を撃つような
真似は良くない。

93 :
自分もいまApplicative Functorやってるんだけどよくわからないな
多少手を動かして「普通の型を関手の世界に持ち上げる」とか「文脈を注入する」
という言葉の上での感覚は掴んだけど
例えばこのへんhttp://d.hatena.ne.jp/shunsuk/20101215/1292414064で関数合成
(fmap f g) == f ・ g
できることすら気づいていなかった自分の頭の硬さにおののく

94 :
よーわからんから:tに頼りまくって試してみてる

95 :
GoFのデコレーションパターン見たいなものなのかなとか思いつつおやすみ

96 :
ぼくはこんな概念を覚えたよ自慢、うざっ

97 :
>>72
初心者なので考えてもまだ理解できない。
今はなんとかこれで出来ないかと苦戦中。
type Keisan = [Moji]
data Moji = Kazu Double | Tasu | Hiku
deriving (show)
-- only Tasu or Hiku in a list [Kazu 0.0, Tasu, Kazu 1.0, Hiku, Hiku, Kazu 0.5]
-- == [0.0 + 1.0 - -0.5] -> [Kazu 0.5]
tokenizer :: Keisan -> Moji
tokenizer shiki = Kazu (convMoji shiki)
convMoji :: (Ord a) => Moji -> a
convMoji moji
| moji == Tasu = +
| moji == Hiku = -
| moji == (Kazu x) = x

98 :
>>97
プログラミング以前に、まず問題を分けて。
1.
[Kazu 0.1,Tasu,Kazu 2.1,Hiku,Kazu 3.0,Kake,Kazu 2.9,Waru,Kazu 0.9] というデータから、
"0.1 + 2.1 - 3.0 * 2.9 / 0.9" という文字列を作ること。
2.
[Kazu 0.1,Tasu,Kazu 2.1,Hiku,Kazu 3.0,Kake,Kazu 2.9,Waru,Kazu 0.9] というデータから、
-7.466666666666666 という値を求めること。
3.
"0.1 + 2.1 - 3.0 * 2.9 / 0.9" という文字列から、
-7.466666666666666 という値を求める、というのがやりたいことなの?

99 :
ええ、そうです。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
***Javaのオススメ入門書*** 『創るJava』 3.0 (567)
★初心者にVisual C++を教えるスレ★ Part38 (927)
★★ Java の宿題ここで答えます Part 72 ★★ (606)
【.cmd】 バッチファイルスクリプト %9 【.bat】 (918)
くだすれPython(超初心者用) その17 (215)
【Intel】OpenCV総合スレ 4画素目【画像処理】 (847)
--log9.info------------------
ダメ男との恋が終わった話 (934)
もう一生一人で生きていこうぜ!3 (933)
今ならわかる、元恋人につかれていた嘘 (446)
【駆け引き】思わせぶりな奴って何なの? (659)
女が嘘をつく理由 (491)
押せ押せ and 縋って縋って 復縁した! (875)
忘れられない嬉しかった言葉 1言目 (427)
失恋で職場がつらい('A`) part16 (232)
★☆酒☆★酒に逃げろ!!!61杯目★☆酒☆★ (772)
復縁マニュアル 効果あり? (597)
頑張れ!超頑張れ!part3 (327)
元喪の集い 2 (910)
【いつだったか】別れた人との記念日【思い出して】 (368)
【無視】元恋人から嫌われている人【冷たい】 (236)
浜松市民の失恋 (850)
めぐみに振られた人専用 (243)
--log55.com------------------
エヴァのAA総括第参百伍拾参層 温泉回
エヴァのキャラとかを別作品などにおきかえるスレ5
もしカヲルに甘く口説かれても落ちないエヴァキャラ
エヴァのAA総括第参百伍拾弐層 そうかつちほー
新劇後のエヴァの新作シリーズを妄想しつつ語るスレ
AA総括参百伍拾壱層 ボ〜クにだけぇ・・・
中川翔子はガチでクソニワカなのか?2
エヴァのAA総括第参百伍拾層 うららVSガヴリール