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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/03/23(土) 12:34:19.09
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/
0685デフォルトの名無しさん2013/06/30(日) 16:57:00.42
連続だと閉区間でも上限下限は絶対に出力しないというのは一種の制約だから。
[lo, hi]なのに(lo, hi)と同じ実装を許容するなら但し書きを書くのが適切。
0686デフォルトの名無しさん2013/06/30(日) 18:01:43.49
>>685
でも、>>682 の作り方なら下限は出力されるんじゃない?

「絶対」ではなく「実装依存」ってこと?
0687デフォルトの名無しさん2013/06/30(日) 21:38:38.36
>>684
足下は初めは平身低頭に知恵を乞いておきながら、用が済めば急にタメ口になるとは何としたことか
0688デフォルトの名無しさん2013/06/30(日) 21:55:55.54
死ぬほどどうでもいい
0689デフォルトの名無しさん2013/06/30(日) 22:16:19.65
>>687
ホントごめん。

初めは質問者専用の口調で書いたのだけど、2回目の時にそれを忘れてて、
3回目で、なんかもういいや、ってなってしまった。
0690デフォルトの名無しさん2013/06/30(日) 22:44:07.97
かまへん、かまへん
0691デフォルトの名無しさん2013/06/30(日) 23:11:37.34
書いてる途中で自分の口調が分からなくなるのはたまにある
まあ自分はやらかしたことないけど(梯子外し)
0692デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
せやな
0693デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
wikipediaとは違うwikibooksに項目があった
ttp://ja.wikibooks.org/wiki/Haskell/%E5%9C%8F%E8%AB%96
あと英文のmonadの項目誰か訳してくれい(泣
0694デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
人に頼ってないで英語の勉強を始めろ!
0695デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
英語が俺の勉強をすべき
0696デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>695
勉強したが、こいつは無理って諦められたんだよ
0697デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>695
思考の柵が吹き飛んだ
0698デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>693
まってろよ、今大熊さんの本を読んでるところなんだ
0699デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
Lispがある程度わかってる人(SICP半分ぐらいまで読んだ)向けの
Haskell入門書ってないでしょうか
0700デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
シクプってなに?そんなに凄いの?
読んでないとモグリなの?
0701デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>700
読み終わるころにはlisp処理系の自作ができる
0702デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>699
結論から言えば、Lisp が分かる人をターゲットにした Haskell の入門書はありません。

Haskell を学ぶに当たって、Lisp が分かっている事そのものはたいして役に立たちません。
強いて言えば、Lisp で参照透過性を意識したプログラミングに慣れていれば、
Haskell のその部分で躓くことはないだろうという程度です。
なので、そのような入門書を出版する動機がないのでしょう。

しかし、Haskell の Haskell らしさが出る部分はそれだけではありません。
どのような入門書にも、参照透過性を含め他の Haskell らしさの部分は解説してあります。


ちなみに、SICP で学んだ事は他のどのような言語でプログラムする際にも活きます。
0703デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
過去スレにこんなのがあった。
http://ja.wikibooks.org/wiki/48時間でSchemeを書こう

> このチュートリアルの対象読者は主に以下の2種類です。

LispかSchemeを知っていて、Haskellを学びたい人
プログラミング言語を何も知らないけれども、一定の背景知識を持っていてコンピュータに詳しい人
0704デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>703
それを入門書の代わりに使うのなら、
素直に普通の入門書を読んだ方が良いような気がするなぁ

まぁターゲットとしては >>699 にドンピシャだけど
0705デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
lispもCも経由せずに、はじめてのコンピュータ言語でいきなりhaskellを教えるカリキュラムがあってもいいはず
0706デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
IFPHは学部初年度向けと書いてあるしプログラミングの事前知識も必要なかったはず
0707デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
皆んなHaskellを何に使ってる?
俺は趣味で、ゲートICの立体構造をアルゴリズムと見なして、どんな構造なら性能を上げられそうかのシミュレーションに使ってるけど。
0708デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
はあ、そうですか
0709デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
事務処理のスクリプト最強
0710デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
クイックソート
0711デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
世界平和のために使ってる
0712デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>710
それは本物のクイックソートか?
0713デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>712
1) クイックソートって、列から適当な要素を選択して、
2) それよりも小さい要素を集めた列と、大きい要素を集めた列を作り、
3) 作られた2つの列に対して 1)、2) を施し、列を連結する、ものだよね。

このアルゴリズムの骨組みを守りつつ、
平均・最良の計算量が O(n log n) で、最悪が O(n^2) になっていれば、
どれほど馬鹿な実装方法を使おうが、どれほど処理に時間かかろうが、
どれもみんなクイックソートを名乗っていいと思う。

Haskell の稚拙なクイックソートの例は入門サイトや入門書にはたいてい載ってるし、
どんなバカでも理解できるだろうし実装できる。

だから >>710 のは、いくら何でも偽物ってことはないだろ。
というか Haskell の偽物のクイックソートの例を見てみたい。


と思ったのだが、どうだろう?
0714デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
至高のクイックソートを用意しました
0715デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
このクイックソートを実装したのは誰だあっ!
0716デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
俺のクイックソートは一味違うぜ
0717デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
でもHaskellも悪いんですよ
0718デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
実はHaskellとクイックソートって相性悪いよね
0719デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
Haskellerは
zipperの説明を読むだけでエクスタシーに達します
0720デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
なんで大元の論文を引きもしないんだろうか
0721デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
面倒だから
0722デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
都合の悪いものはモナドにしてネイティブで実装すればよい
0723デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
わずか2ページってクイックソートの論文だったっけ?
0724デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>713
>>712じゃないけど、Haskellのよくあるクイックソートは、
空間計算量が最悪O(n^2)になるという点で普通のクイックソートと違って怪しい
0725デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>724
量子コンピュータが実現した世界で何言ってんだ?
0726デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
またHaskellのクイックソートが偽物とか言う奴が現れたか…

twitterでも今年に入ってからこの話題で盛り上がったようだ
まとめのタイトルが笑える
http://togetter.com/li/445854
0727デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>724
怪しいというのが曖昧でよく分からないのですが、
「空間計算量が最悪でもO(nlogn)である」というのは、
クイックソートである事の必要条件なのでしょうか。
0728デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>727
俺にも分からん
0729デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
名前のとおり速けりゃいいんだよ
0730デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
そうやってフザケる話の流れではないような気がする
0731デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
とりあえず、よくあるもっとも簡単な実装はこれかな。

qs :: (Ord a) => [a] -> [a]
qs [] = []
qs (x:xs) = qs (filter (< x) xs) ++ [x] ++ qs (filter (> x) xs)

空間計算量が最悪O(n^2)になるケースってのは、どういうリストに適用した時?
0732デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>713で正しいよ

なんかwikipediaのクイックソートのページにも実用性が云々と書かれているけど、そもそもリストという
データ構造自体がソートと相性が悪いんだから、そんなこと言っても仕方ないと思うけどね

大量のデータを扱うなら他のデータ構造を使うべきだし、ごく少量のデータなら入門書の実装の
方がむしろ実用的だろう

>>731
それだと重複した要素が消えることないかな?
0733デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
なんかの入門書でHaskellにはクイックソートよりよいソートがあるって書いたあったんだけど何ソート?
0734デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>733
データモデルとデータの追加でよいソートは異なる
0735デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>731
>空間計算量が最悪O(n^2)になるケースってのは、どういうリストに適用した時?
入力が既に正順か逆順にソートされている場合。O(n^2)になるのは正順か逆順のどちらか
だけなんだけど忘れた。この板のHaskell関係の過去スレの一つに議論があったはず
(ちょっと探したけど見つからなかった、曖昧でごめん)
0736デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
見つけた。Part 7の881から
0737デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>715
コーディングの合間に喫煙していたと何故判ったのですか!?
0738デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
Cで作ってHaskellから呼び出すだけのライブラリ

Haskellで一から作ったライブラリ

どっちが幸せになれるの
0739デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
*Main> :type (+) (-)
(+) (-)
:: (Num (a -> a -> a), Num a) => (a -> a -> a) -> a -> a -> a

これを解説してください。(+) を数ではない (-) に適用できる?
0740デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>715で笑ってしまった
恥ずかしい
0741デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>739
ヒント:カリー
0742デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
f :: Num (a -> a -> a) => (a -> a -> a)
x :: Num a => a
y :: Num a => a
(+)(-) f x yのかたちで呼び出すんだろうけど
Num (a -> a -> a)が意味不明すぎる
自然数をラムダ関数で表現するやつかな
0743デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
型クラスNumのインスタンスとして
Numとして解釈できるラムダ関数を定義すれば良いんだよな
えーとどんなだっけ
0744デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
(゚д゚)
0745デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>739
(-)はデフォルトでは「数」じゃないけど、インスタンスを定義すれば数になる
たとえばNumInstancesパッケージのData.NumInstances.Function
http://hackage.haskell.org/packages/archive/NumInstances/1.3/doc/html/src/Data-NumInstances-Function.html
をインポートすると、
instance (Num b) => Num (a -> b)
が定義されるので、例えば(Int -> Int -> Int)を加減乗除できるようになる
0746デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>732
すまんすまん、= を書き忘れてた。
< か > のどちらかに = を追加して考えて。

>>735 >>736
モリタポ使っても、なぜか Part 7 が見れない。

>>731 のような感じのクイックソートの実装だと、
A ++ B ++ C という形の式が大枠であるよね。

これを順に弱頭部正規形にして評価していくとき、最悪の場合、
左側の ++ 演算子が評価可能になるまで(++の左辺が x:xs の形になるまで)ずっと、
(((・・・((A'' ++ B '' ++ C'') ++ B' ++ C'))・・・))) ++ B ++ C
というような再帰的な形で左側が伸びていくと思う。

未評価の A'' や B' などが何個作られるかというと、
qs 関数が適用するリストの長さを n とすると、ざっと見積もって
3 + 2 * (n - 1) 個かな。
(最初の 3 は一番深い所の A++B++C で、2 は ()++B++C の B と C)

最悪ここまで式が伸びきるので、空間計算量は O(n) ではないか、
と俺は思ったんだが、どこで勘違いをしているのか分からない。

過去ログ Part 7 が見られるようになったら調べてみるけど、
今の所自分の頭ではこう考えた。
0747デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>739

> (+) を数ではない (-) に適用できる?
できない。

*Main> :type (+) (-)
(+) (-) :: (Num (a -> a -> a), Num a) => (a -> a -> a) -> a -> a -> a

これが言っているのは、ざっくりいえば「もし、(-)が数であれば、(-)に(+)を適用できますよ」ということ。

まず、プログラマが何らかの方法で(-)を数(Numのインスタンスの値)になるようにしてあげなければならない。
首尾よくそれが実現できたら、晴れて(+)を(-)に適用できる。
0748デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>747 >>745
ありがとうございます。
> プログラマが何らかの方法で(-)を数(Numのインスタンスの値)になるように
これが実際できてしまう、というのが、Data.NumInstances なのか。
0749デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
Haskellはすごいのでがんばれば何でもできる
Wikipediaのラムダ計算の自然数と算術の項目に
http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97#.E8.87.AA.E7.84.B6.E6.95.B0.E3.81.A8.E7.AE.97.E8.A1.93

0 := \f->\x->x
1 := \f->\x->f x
2 := \f->\x->f (f x)
3 := \f->\x->f (f (f x))
(+) = \m->\n->\f->\x-> m (f (n f x))

としてラムダ関数で自然数の計算をシミュレートする方法が載ってる
0750デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>749
それだと自然数の型が(forall a. (a -> a) -> a)みたいになって、
>>739で要求されてる(a -> a -> a)とは別物
0751デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
ごめん、forall a. a -> (a -> a) -> aね
0752デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>749
(+) が間違ってるな。
(+) := \m->\n->\f->\x-> m f (n f x)
0753デフォルトの名無しさん2013/07/08(月) NY:AN:NY.ANID:t6uYFe0B!
haskellが他の言語と違うのはside effect freeだから!
と本に書いてあるのですが、他の言語でも出来そうな気がするのですが?
nibai :: Int ->Int
nibai n = 2*n

void nibai(int n){
value = 2*n;}
0754デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
ホントだ!すごい!
0755デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>753
「haskellが他の言語と違うのはside effect freeだから!」
と書かれていた本のタイトル名を教えてください。
0756デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
整数を受けとり二倍して何も返さずシカトする
そんな関数に私もなりたい
0757デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
いやな奴だな
0758デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
副作用はツンデレ
0759デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
参照透過性は甘え
0760デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>753
ああ、全ての行が見てるとムズムズする
0761デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
ヤンデレと病んでるは似ている。
0762デフォルトの名無しさん2013/07/09(火) NY:AN:NY.ANID:7EcXvLZJ!
質問です。
Not in scope: `GLFW.defaultDisplayOptions'
Not in scope: `GLFW.setWindowPosition'
とエラーが出ました。
参照しているttp://www.youtube.com/watch?v=LIlBvBT6dIcでは使えていますが何がいけないのでしょうか?
import qualified Graphics.UI.GLFW as GLFW
import Graphics.Rendering.OpenGL.Raw

main = do
GLFW.initialize
GLFW.openWindow
GLFW.defaultDisplayOptions
GLFW.setWindowPosition $ 110
clear Colour{red = 0, green = 0, blue = 1, alpha = 0.1}
GLFW.swapBuffers
GLFW.sleep 5
data Colour = Colour {red, green, blue, alpha :: GLclampf}

clear :: Colour -> IO()
clear (Colour(red, green, blue, alpha)) = do
glClearColor red green blue alpha
(glClear . fromIntegral) gl_COLOR_BUFFER_BIT
0763デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
javaでもside effect free できるってhttp://masuda220.jugem.jp/?eid=335
に書いてあったけどクラスの価値をほとんど捨ててる設計じゃん。
0764デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
手続き型の本質は副作用にあり
0765デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
     //
    / /パカ
    / /
   / /ハ,,ハ
   / ヽ(=゚ω゚)ノ__ぉはぃょぅ
  // (  x ) /
  " ̄ ̄ ̄ ̄
0766デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>762
パッケージが違う
動画で使ってるのはGLFWでなくてGLFW-bの方
0767デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>762
GLFW-b パッケージにはその関数はあるけど、GLFW パッケージにはないよ。
0768デフォルトの名無しさん2013/07/10(水) NY:AN:NY.ANID:cVdIS5P/!
ありがとうございます。GLFW-bですか。
どうやって使うのか調べてきます。
けど、動画を見る限りじゃGLFW-bが見当たらないのですが。
0769デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>733
マージ
0770デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
>>769
それマージで言ったん?ソートすんならすぐ出せ
マージなら2ちゃんねらソート力を挙げて列べるが
0771デフォルトの名無しさん2013/07/13(土) NY:AN:NY.ANID:Hq+EmFHl!
原始再帰関数(primitive recursion)とは一体なんなのでしょうか?
ttp://stackoverflow.com/questions/1712237/how-does-primitive-recursion-differ-from-normal-recursionの回答に、
「原始再帰関数とは他の原始再帰関数で定義されいて自然数の構造の再帰である。」とありますが、
イマイチ分かりません。
例えば、自然数を使った
fac::Int->Int
fac x
| x > 0 = x*fac(x-1)
|x==0 = 1
は原始再帰関数で、
inverse::String->String
inverse value = case (value) of
[]->[]
(x:xs)-> inverse xs ++ [x]
は原始再帰関数では無い。
ということでしょうか?
base caseにヒットして関数が終了するのであればそうなのかな〜と思っていたのですが。
0772デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
>>771
その関数の性質を帰納法で証明できる関数だと理解していたが、違うだろうか
0773デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
ゲーデル数化すればinverseも自然数上の原始帰納関数にできる。
もちろん文字列上の原始帰納関数ということで問題ないが。
0774デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
チューリングマシンの意味で計算可能な関数は原始帰納関数で表現できる
0775デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
いや出来ない。
チューリング機械計算可能関数には一般帰納関数も含まれるから。
0776デフォルトの名無しさん2013/07/13(土) NY:AN:NY.ANID:Hq+EmFHl!
あっ、帰納法でか?

ん?では普通の帰納関数とはなんでしょうか?
上の方に一般帰納関数というのがありますが。
0777デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
その辺はwikipediaで調べてからまた質問して。
Haskellの話題じゃないし。
0778デフォルトの名無しさん2013/07/13(土) NY:AN:NY.ANID:Hq+EmFHl!
>>777
確かにスレチだ。すみませんでした。
0779デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
今ホットなライブラリは?
0780デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
C や Java、OCaml や Lisp などではこんな質問はまず無いのに、
なんで Haskell だと「今一番熱い漫画は?」みたいなノリで頻繁に投げかけられるんだろ。

Haskell の最新事情を追いたかったら、こんな所で質問するより、
メーリングリストにでも登録して議論してた方が何倍も良いと思う。
0781デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
Haskell界にくると頭のいい人が一杯いて何か新しい、面白いことをやっている

そう考えていた時期が私にもありました
0782デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
ライブラリのインストールがめんどくさいです

バージョンに関係なく、ライブラリのzipファイルをコピーするだけでOKにしてほしいです
0783デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
Haskellは数学を知る者が数学の言葉でコンピューティングしたいという要求から存在する言語
数学を知らないものには猫に小判
かく言う俺は数学の記述法自体が過去の遺産を引きずって不合理極まりないと思っているが
0784デフォルトの名無しさん2013/07/14(日) NY:AN:NY.AN
言語処理が文系科目に分類されている日本では理解されないでしょう
■ このスレッドは過去ログ倉庫に格納されています