[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 11:45 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [04/02/10 22:16]
Haskellの公式HP
www.haskell.org/
日本語サイト
www.sampou.org/cgi-bin/haskell.cgi
www.teu.ac.jp/kougi/koshida/Prog6/index.html

過去ログ、関連スレは>>2-5

321 名前:デフォルトの名無しさん mailto:sage [04/10/27 19:35:19]
これは関数定義の順番の問題。
Haskellでは、先に書かれたものから順にパターンマッチが行われるため、
c x t n = ...はnに対する条件がないため、
nが-1のときもこっちが適用されてしまい、無限ループにおちいる。
c x t (-1) = 0
c x t n = ...
の順に並べれば問題は解決する。

322 名前:デフォルトの名無しさん mailto:sage [04/10/27 22:11:34]
www.teu.ac.jp/kougi/koshida/Prog6/text02.html
ここで使っている、
文字→コード ord :: Char -> Int
コード→文字 chr :: Int -> Char
という関数が定義されていないようです。
環境はwindows 2000 でhugsを使っています。
:versionと入力すると、以下のように出ます。
-- Hugs Version Nov 2003
:browse Preludeとしてみてもordという関数はないので
バージョンUPして使えなくなったということでしょうか?


323 名前:デフォルトの名無しさん mailto:sage [04/10/27 22:38:22]
Prelude> :l Char
Char> :t ord
ord :: Char -> Int

324 名前:デフォルトの名無しさん [04/10/27 23:04:58]
>>319
わざわざ Float->Int->FloatにしようとするからfromIntegralが
必要になる。

f x n = sin ( pi * x * (2 * n + 1))

だけで明示的に型を指定するのやめれば

*Main> :t f
forall a. (Floating a) => a -> a -> a

という型になるがあとは勝手にやってくれるよ。


325 名前:デフォルトの名無しさん mailto:sage [04/10/27 23:10:08]
あーでもそれじゃnに整数以外の数つっこめちゃうのでだめか。



326 名前:320 [04/10/28 22:17:40]
>>321
ありがとうございます。gnuplotでグラフを書かせるためのファイルを
出力しようと目論んでいるのですが、rubyより知的な気分ですね。

可読性はどうなんでしょう。
多少字面は見づらいけど、数学みたいに書けて
コンピュータ特有のことを考えないで済む分楽かもしれませんね。


327 名前:デフォルトの名無しさん mailto:sage [04/10/29 01:33:14]
>>323
なるほど。:loadしないと使えないのですね。
runhugsやGHCで使う場合というか、ファイルに書いておいて使う場合は、
(なんていったらよいのでしょう?)
import Charすればよいのですね。わかりました。

ありがとうございます。


328 名前:デフォルトの名無しさん mailto:sage [04/11/03 13:44:05]
みんなこの言語使って何やってるの?

329 名前:デフォルトの名無しさん mailto:sage [04/11/03 15:47:57]
「最近Haskellっていう言語勉強しててね。 いやーCとは全然違うすごい言語だよ。
関数型って言うんだけどね。」
「すごーいよく分からないけどかっこいいー」



330 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:40:43]
「最近Haskellっていう言語勉強しててね。 いやーCとは全然違うすごい言語だよ。
関数型って言うんだけどね。」
「すごーいよく分からないけどかっこいいー。じゃあ、今晩はカレーにしようか?」

331 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:16:56]
今晩はカリーか。

332 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:18:14]
今晩はカリだ。

333 名前:デフォルトの名無しさん mailto:sage [04/11/03 20:22:31]
アライグマ Haskell

334 名前:デフォルトの名無しさん mailto:sage [04/11/05 01:38:12]
>>328
言語習いたてのワクワクをモ一度味わいたくて。
とりあえずKISSローダ作るのが目標です。

335 名前:デフォルトの名無しさん mailto:sage [04/11/05 08:51:13]
KISSローダってなんですか

336 名前:デフォルトの名無しさん [04/11/21 20:03:44]
CommonLisp/Scheme と Haskel と ML の中で一番実用に近いのは何?
私は CommonLisp だと思うんだけど。

337 名前:デフォルトの名無しさん mailto:sage [04/11/21 20:09:03]
>>336
比較対象が微妙に違っているわけだが。

338 名前:デフォルトの名無しさん [04/11/22 09:26:06]


339 名前:デフォルトの名無しさん mailto:sage [04/11/22 11:49:50]
すみません。最近勉強を始めた者ですが、頭が悪いものでどうにもわからず
困っています。よろしければご教授願えませんでしょうか。
3つをまとめる関数 zip3 を zip を用いて定義せよ、という問題で
zip3 :: [a] -> [b] -> [c] -> [(a,b,c)]
zip3 (x:xs) (y:ys) (z:zs) = change (zip (zip x y) z) : zip3 xs ys zs
where
change :: [((a,b),c)] -> [(a,b,c)]
change [((x,y),z)] = [(x,y,z)]
zip3 _ _ _ = []
というものを考えたものの、どこがどう悪いのか自分ではわかりません。
1週間悩んで進展なしで独力では無理なようなので、どなたかお教えいただけませんでしょうか?




340 名前:デフォルトの名無しさん mailto:sage [04/11/22 12:36:43]
zip3 :: [a] -> [b] -> [c] -> [(a,b,c)]
zip3 xs ys zs = map change $ zip xs (zip ys zs)
where
change (x,(y,z)) = (x,y,z)

341 名前:デフォルトの名無しさん mailto:sage [04/11/22 15:58:39]
>>339
型があってない。っていうかzip使ってない。

> zip3 (x:xs) (y:ys) (z:zs) = change (zip (zip x y) z) : zip3 xs ys zs
x , y, z :: aだから zip x y とはできない。(もともとa = [b]でないかぎり)
zip3 (x:xs) (y:ys) (z:zs) = (x, y, z) : zip3 xs ys zs
と書こうとしてるわけだからこれではzipの使いようがない。

参考>>184の上半分
zip3 x y z = (,,) <$> x <-> y <-> z

342 名前:デフォルトの名無しさん [04/11/23 10:14:37]
{-
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith f (x:xs) (y:ys) = (f x y) : (zipWith f xs ys)
zipWith f [] _ = []
zipWith f _ [] = []

zip :: [a] -> [b] -> [(a,b)]
zip xs ys = zipWith mkpair xs ys
  where
    mkpair x y = (x, y)
-}
zip3 :: [a] -> [b] -> [c] -> [(a,b,c)]
zip3 xs ys zs = zipWith mkpair xs (zip ys zs)
  where
    mkpair x (y, z) = (x, y, z)


343 名前:デフォルトの名無しさん mailto:sage [04/11/23 11:56:51]
zip3' = (zipWith (uncurry (,,)) .) . zip

344 名前:デフォルトの名無しさん mailto:sage [04/11/23 17:24:36]
zip3' = const zip3 zip

345 名前:デフォルトの名無しさん mailto:sage [04/11/24 12:28:10]
339です。自室のPCからでははじかれてしまって書き込みができなかったので
遅くなってしまいましたが、ありがとうございます。
たいへん助かりました。
…お礼の言葉が遅くなってしまい、申し訳ありませんでした。m(__)m


346 名前:デフォルトの名無しさん mailto:sage [04/12/08 23:32:07]
-- Haskell Mode

Haskell Haskellモード 関数型言語でーす

Haskellモード Haskellモード Haskellモード Haskellモードでーす
Haskellモード うにゃ〜 うにゃにゃ lazily evalute!

関数 … カリー様 関数 … か・た・す・い・ろん
モナド >>= … わたしのシモベェ〜 モナド >>= …

Haskellモード Haskellモード Haskellモード 98モードでーす
Haskellモード Haskellモード Haskellモード Haskellモードでーす

たらい、回したくなっちゃった…


347 名前:デフォルトの名無しさん mailto:sage [04/12/25 20:17:26]
>>346
大丈夫?

348 名前:デフォルトの名無しさん mailto:sage [04/12/26 01:33:03]
Everyday Haskell
www.sampou.org/cgi-bin/haskell.cgi?Everyday&l=jp
が面白い


349 名前:デフォルトの名無しさん mailto:sage [04/12/26 03:05:21]
fold右派とfold左派にワラタ



350 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:20:36]
The Evolution of a Haskell Programmerでググれ
という話ではなかったようだなスマソ

351 名前:デフォルトの名無しさん mailto:sage [04/12/27 23:20:33]
これ既出?
www.cin.ufpe.br/~haskell/vhs/

352 名前:デフォルトの名無しさん mailto:sage [05/01/05 13:43:39]
>>347
346の文字列を読んで、ラテン系の伴奏が聞こえてくるようだと
かなりダメ。

353 名前:デフォルトの名無しさん mailto:sage [05/01/06 03:09:05]
>>346
禿げワロス
カリー様(・∀・)イイ!!

354 名前:デフォルトの名無しさん mailto:sage [05/01/12 23:45:50]
保全sage

355 名前:デフォルトの名無しさん mailto:sage [05/01/15 03:17:13]
Hatena::Diary 「Haskell」を含む日記
のとある日記を見てちょっとワラた

「むしゃくしゃしてやった.Haskell で書くつもりはなかった.今は反省している.簡潔に書けるが,知らない人には全く読めないだろうし,知っている人はもっとうまく書くかもしれない.」


356 名前:デフォルトの名無しさん mailto:age [05/01/15 03:36:47]
ocaml age

357 名前:Aransk [05/01/18 12:16:33 ]
>>355
ワラた。
++ "しばらくしたら…誰も読めなくなるだろう。"

358 名前:デフォルトの名無しさん mailto:sage [05/01/23 14:46:59 ]
The Implementation of Functional Programming Languages オンライン復刻記念
ttp://research.microsoft.com/Users/simonpj/papers/slpj-book-1987/

って既出?

359 名前:デフォルトの名無しさん mailto:sage [05/01/24 10:44:32 ]
>>358 おおっ! 既出ではないと思う。さんくす。
といいつつ書籍で持ってるのだがw。いい本だよねー。





360 名前:デフォルトの名無しさん mailto:age [05/01/24 10:56:09 ]
OCamlだとMLっぽいから書きやすいんだけど…。

361 名前:デフォルトの名無しさん mailto:sage [05/01/24 18:01:20 ]
>>358
やけにでっかいから何かと思ったら、300もあるページがみんな画像……

362 名前:デフォルトの名無しさん mailto:sage [05/01/25 02:46:41 ]
Revision Control System を、調べてたら、
darcs ( ttp://abridgegame.org/darcs )
というのを、ハケーンしました。
これは、haskell で書かれているので、「haskellってなんや。」と調べる流れでここに来ました。

私が知らないだけ、haskellでかかれたアプリはいっぱいあるのかも知れませんが、
上の方に出てないみたいなので、書いてミマス。

激しくガイシュツでしたらすいません。

363 名前:デフォルトの名無しさん mailto:sage [05/01/25 15:14:39 ]
haskellで書かれたアプリはそんなに珍しくないと思う。
www.haskell.org/practice.html
にいくつか載ってる。

364 名前:デフォルトの名無しさん mailto:age [05/01/25 15:17:08 ]
haskellとOCamlではどちらがメジャーですか?

365 名前:デフォルトの名無しさん mailto:sage [05/01/25 15:25:18 ]
そういうのをドングリの背比べというのではないだろーか。

366 名前:デフォルトの名無しさん [05/01/25 16:01:51 ]
スラド本家?とLtUで取り上げられた<darcs
it.slashdot.org/article.pl?sid=04/11/25/0136249&tid=156&tid=218
lambda-the-ultimate.org/node/view/391

純粋に関数的な「パッチの適用」を,ファイルやディレクトリの読み書きからキレイに分離でき,
また,パターンマッチングと高階関数が,パッチのプリミティブの実装にとてもマッチする,とある.

詳しくはこちら.
osdir.com/Article2571.phtml

367 名前:デフォルトの名無しさん mailto:sage [05/02/06 15:35:00 ]
>>346
超ワロタw

368 名前:デフォルトの名無しさん mailto:sage [05/02/06 19:52:48 ]
>>367
元ネタキボンヌ


369 名前:346 mailto:sage [05/02/06 20:18:15 ]
>>368
that3.2ch.net/test/read.cgi/gline/1104975149/1-9



370 名前:デフォルトの名無しさん mailto:sage [05/02/07 04:10:20 ]
ぬるほど

371 名前:デフォルトの名無しさん mailto:sage [05/02/09 05:46:41 ]
Haskellの初歩を学校でやっているのですが、
宿題が出て難しすぎるので誰か助けて下さい。

372 名前:デフォルトの名無しさん mailto:sage [05/02/09 10:53:26 ]
2つの項を入力されたらmost general unifierを出力する
*(1,y) *(x,+(a,b)) -> {x->1,y->+(a,b)}
のようなプログラムを作れ、という課題が出たのですがサッパリわかりません。
どなたか教えて下さい


373 名前:デフォルトの名無しさん mailto:sage [05/02/09 20:23:43 ]
>>372
もう一年やれば、理解も深まるよ。

374 名前:デフォルトの名無しさん mailto:sage [05/02/09 20:27:03 ]
というか,課題が全然理解できないんだが.

375 名前:デフォルトの名無しさん mailto:sage [05/02/09 20:42:11 ]
あ,分かってしまった.もう一年がんばってね.

376 名前:デフォルトの名無しさん mailto:sage [05/02/09 20:59:08 ]
問題の意味がわからないのならどうしようもないな

377 名前:デフォルトの名無しさん mailto:sage [05/02/09 22:14:31 ]
>>372
これ、数学板のmathematicaスレでも見たぞ
マルチすんな、消えろ

378 名前:デフォルトの名無しさん mailto:sage [05/02/09 23:27:11 ]
もっと低レベルな人にあわせてくれる学校に入りなおしましょう。


379 名前:デフォルトの名無しさん mailto:sage [05/02/09 23:49:57 ]
>>370
カッ



380 名前:デフォルトの名無しさん mailto:sage [05/02/10 01:16:45 ]
[1,5,8,43]などのリストをパラメータとして受け取って
[("1st",43),("2nd",8),("3rd",5),("4th",1)]のように
ランクをつけてランク順に返す関数が欲しいのですが
問題は[5,6,6,22,23,24,24]のような場合に
[("1st",24),("1st",24),("3rd",23),("4th",22),("5th",6),("5th",6),("7th",5)]
のように返さなければいけないことです。どうすればいいかさっぱりです。
誰か教えて下さい。


381 名前:デフォルトの名無しさん mailto:sage [05/02/10 02:07:40 ]
List> group $ reverse $ sort [5, 6, 6, 23, 24, 24]
[[24, 24], [23], [6, 6], [5]]
ここまで来りゃ後はなんとでもなるだろ。

382 名前:デフォルトの名無しさん mailto:sage [05/02/10 02:35:51 ]
>>381
ありがとうございます!!

383 名前:デフォルトの名無しさん mailto:sage [05/02/10 02:43:00 ]
あ、ランクを付ける際にはカウンタみたいなものを用意するんですか?

384 名前:デフォルトの名無しさん mailto:sage [05/02/10 04:08:38 ]
宿題か? 宿題なのか? テメエェェェ

385 名前:デフォルトの名無しさん mailto:sage [05/02/10 07:31:12 ]
>>381
演算子 $ って初めて見ましたが,なかなか便利ですね.
勉強になりました.

386 名前:デフォルトの名無しさん mailto:sage [05/02/10 09:38:36 ]
はい、そーです

387 名前:デフォルトの名無しさん mailto:sage [05/02/10 23:12:49 ]
> ここまで来りゃ後はなんとでもなるだろ。

いろいろ考えたのですがなんともなりません。
むしろここから先が一番大変なのではないかと・・・
まじで教えてくれませんか?

388 名前:デフォルトの名無しさん mailto:sage [05/02/10 23:27:15 ]
ここまで来てなんともならんてのは、けっきょく全然理解してないってことだ
ろ。これくらい自分で考えてみ。でないとただのカンニングだろ。


389 名前:デフォルトの名無しさん mailto:sage [05/02/11 03:20:58 ]
僕にはこれが限界でした。

rank :: [[a]] -> [(Int, a)]
rank x = [(i, n) | (i, a) <- zip [1..] x, n <- a]

確かに理解は非常に足りません。ですが、本を読んでも、
いろいろなほかのテクニックを知ってもループという基本的なことを
するのがこんなに難しい言語は初めてなのです。
なんらかのライブラリを使う必要があるのかもしれないと思って、
Listのところは大体見たんですが結局何も見当たらずもうダメです。
こんな簡単であろう問題に3時間も4時間もかけてる自分がすごい嫌になってきます。




390 名前:デフォルトの名無しさん mailto:sage [05/02/11 04:03:59 ]
ま、気楽にやれや、学生なんだし。

391 名前:デフォルトの名無しさん mailto:sage [05/02/11 04:52:51 ]
そう気楽でもないんすよ。いろいろあって。
ヒントを下さい。お願いします。

392 名前:デフォルトの名無しさん mailto:sage [05/02/11 08:05:13 ]
>>391
[1..]のところを["1st", "2nd", ...]というリストにすれば終わりだろ。
英語のカウントに勝手に直してくれるようなライブラリはないだろうな。

393 名前:デフォルトの名無しさん mailto:sage [05/02/11 09:27:09 ]
>>392
> [1..]のところを["1st", "2nd", ...]というリストにすれば終わりだろ。

そのリストはどこまで続くんですか?

394 名前:デフォルトの名無しさん mailto:sage [05/02/11 09:48:51 ]
いや、それじゃランク順の法則が違うんですよ。それだと
[("1st",24),("1st",24),("2nd",23),("3rd",6),("3rd",6),("4th",5)]
になっちゃうんですよ。

課題は
[("1st",24),("1st",24),("3rd",23),("4th",6),("4th",6),("6th",5)]
にならなきゃいけないので前のリストのカウントを常にしないと次のランクが
分からないわけです。これをどうしたものかと・・・・

>>393
同じ課題で悩んでる人ですか?そのリストは(length x -1)thまで続くんじゃないでしょうか?

与えられた整数に英語のカウントをつける関数はもう作ってあるんですが。

addSuffix :: Int -> String
addSuffix x
| x == 1 = "1st"
| x == 2 = "2nd"
| x == 3 = "3rd"
| otherwise = show x ++ "th"

395 名前:デフォルトの名無しさん mailto:sage [05/02/11 10:08:15 ]
>>394
> にならなきゃいけないので前のリストのカウントを常にしないと次のランクが
> 分からないわけです。これをどうしたものかと・・・・

rankingの関数が、
1)降順ソートずみ整数の(部分)リスト (初期値 全リスト)、
2)これまでに処理した整数の数 (初期値 ゼロ)、
3)直前に処理した整数 (初期値 -1とか、入力リストに絶対あらわれないもの)、
4)直前に処理した整数のランク (初期値 ゼロ)、
のよっつを引数として取ればいいんじゃないの?

> 与えられた整数に英語のカウントをつける関数はもう作ってあるんですが。
> | otherwise = show x ++ "th"
これだと
21番目は "21th"
22番目は "22th"
になっちゃうよ……


396 名前:デフォルトの名無しさん mailto:sage [05/02/11 10:51:06 ]
あ、ほんとだ!ご指摘ありがとうございます。
じゃぁ条件分岐のところ、xの代わりにmod x 10で。

rankingの関数はやはり4つも引数が必要ですか・・・・。
じゃぁそれでちょっと頑張ってみます。

397 名前:デフォルトの名無しさん mailto:sage [05/02/11 11:01:33 ]
ちょっとやり方は違うけど4つの引数使ってやっとできました。
でもなんかぎこちない感じ・・・。これでいいのでしょうか。
もっとスマートなやり方があるような気がしてなりません。

setRank :: [Int] -> [(String, Int)]
setRank [] = []
setRank (x:xs) = ("1st", x):[(addSuffix a, b) | (a, b) <- subSetRank xs x 2 0]

subSetRank :: [Int] -> Int -> Int -> Int -> [(Int, Int)]
subSetRank [] _ _ _ = []
subSetRank (x:xs) preVal position k
| x == preVal = [((position - (k+1)), x)] ++ (subSetRank xs x (position+1) (k+1))
| otherwise = [(position, x)] ++ (subSetRank xs x (position+1) 0)

addSuffix :: Int -> String
addSuffix x
| mod x 10 == 1 = "1st"
| mod x 10 == 2 = "2nd"
| mod x 10 == 3 = "3rd"
| otherwise = show x ++ "th"


398 名前:392 mailto:sage [05/02/11 11:01:34 ]
>>394
失礼。俺なら395よりは、
groupBy (\x y -> snd x == snd y) $ zip [1..] $ reverse $ sort [5, 6, 6, 23, 24, 24
]
から変形するな。

399 名前:どうでしょうか,,, mailto:sage [05/02/11 11:11:26 ]
import List
rank :: Integer -> String
rank x
| x `mod` 10 == 1 = s ++ "st"
| x `mod` 10 == 2 = s ++ "nd"
| x `mod` 10 == 3 = s ++ "rd"
| otherwise = s ++ "th"
where s = show x

ranks :: [String]
ranks = map rank [1..]

sort_group :: Ord a => [a] -> [[a]]
sort_group l = group $ reverse $ sort l

main :: Ord a => [a] -> [(String,[a])]
main lst = zip ranks (sort_group lst)



400 名前:デフォルトの名無しさん mailto:sage [05/02/11 11:14:24 ]
>>399
全然違うじゃないか。
それにmainはIO aの型であるべきもので、使わないほうがいい。

401 名前:デフォルトの名無しさん mailto:sage [05/02/11 11:21:27 ]
誰も書かないから突っ込むけど、
11th,12th,13th

そんな私はsort使うためにimport Listするとhugsにレイアウトが違うと怒られる駄目駄目プログラマ。

402 名前:401 mailto:sage [05/02/11 11:27:11 ]
importがImportになってた スレ違い御免orz

403 名前:デフォルトの名無しさん mailto:sage [05/02/11 11:28:33 ]
どうもありがとうございます。おかげ様で前のよりはマシになったかと思います。

setRankS :: [Int] -> [(String, Int)]
setRankS x = concat [setFirst n | n <- (groupBy (\x y -> snd x == snd y) $ zip [1..] x)]

setFirst :: [(Int, Int)] -> [(String, Int)]
setFirst ((x, y):xs) = [(addSuffix x, b) | (a, b) <- ((x, y):xs)]


404 名前:デフォルトの名無しさん mailto:sage [05/02/11 11:41:07 ]
>>401
またまた貴重なご指摘ありがとうございます。

addSuffix :: Int -> String
addSuffix x
| x == 11 = s ++ "th"
| x == 12 = s ++ "th"
| x == 13 = s ++ "th"
| mod x 10 == 1 = s ++ "st"
| mod x 10 == 2 = s ++ "nd"
| mod x 10 == 3 = s ++ "rd"
| otherwise = s ++ "th"
where s = show x


405 名前:401 mailto:sage [05/02/11 11:52:24 ]
あーごめんなさい。私もまだ間違ってた。
111th,112th,113th,211th....。序数詞は怖い。もうないよね。

406 名前:デフォルトの名無しさん mailto:sage [05/02/11 12:03:11 ]
| mod x 100 == 11 = s ++ "th"
| mod x 100 == 12 = s ++ "th"
| mod x 100 == 13 = s ++ "th"

これ足せばOK?

407 名前:デフォルトの名無しさん mailto:sage [05/02/13 13:11:54 ]
宿題しか話題のない悲しい言語

408 名前:デフォルトの名無しさん mailto:sage [05/02/13 15:11:50 ]
>>407
> 宿題しか話題のない悲しい言語
達見かな。で、どうしてそうなのかという質問がなされ、欠点が羅列され、
いやそんなことはない理論的に美しいという反論が出て、数少ない実用例も示され……

409 名前:デフォルトの名無しさん mailto:sage [05/02/13 16:36:48 ]
関数型言語なんてみんなそうなんじゃない?
Lisp系は処理系が簡単だから使われるけど、それ以外は…




410 名前:デフォルトの名無しさん mailto:sage [05/02/13 17:23:54 ]
初心者を馬鹿にするとき、一番盛り上がります。

411 名前:デフォルトの名無しさん mailto:age [05/02/13 17:32:09 ]
>>409
OCamlをフリーソフト(非オープンソース)を書くのに使っていますが。

412 名前:デフォルトの名無しさん mailto:sage [05/02/13 18:02:27 ]
じゃあ、みんなでHaskellで言語処理系を作ろう。

413 名前:デフォルトの名無しさん mailto:sage [05/02/13 18:21:28 ]
Haskellでテトリスは作れますか?

414 名前:デフォルトの名無しさん mailto:age [05/02/13 18:26:54 ]
>>413
作れます。

415 名前:デフォルトの名無しさん mailto:sage [05/02/13 18:33:34 ]
Haskellのテトリス↓
web.comlab.ox.ac.uk/oucl/work/ian.lynagh/Hetris/
fxp.hp.infoseek.co.jp/haskell/HSDL/

416 名前:デフォルトの名無しさん mailto:sage [05/02/13 18:55:01 ]
ghcってどれくらいきちんとdebugされてるのかなあ。
仕事に使っても大丈夫?

417 名前:デフォルトの名無しさん mailto:sage [05/02/13 22:14:38 ]
>>411
こういうコンテキストで話すなら、商用に使われてナンボだと思うが。
俺自身は宿題用だろうが日曜プログラマーの趣味の道具だろうが構わんけど。


418 名前:デフォルトの名無しさん mailto:sage [05/02/14 15:53:01 ]
>>416
まあオープンソースだから、sourceforge.net/projects/ghc/やメーリングリストを見て
自分で判断してくださいということで。


ver6.4のリリースが延び延びになっているのが気になる。
RCのソースもコンパイルできないし…(@Mac)

419 名前:デフォルトの名無しさん mailto:sage [05/02/14 20:24:12 ]
そうそう。
あくまでも最先端の研究用なので、品質に期待してはいけない。



420 名前:デフォルトの名無しさん mailto:sage [05/02/19 08:34:16 ]
C,C++の代わりとまではいかなくても、
Perlの代わりぐらいにはなりますか?

421 名前:デフォルトの名無しさん mailto:sage [05/02/19 11:17:33 ]
>>420
もう少しHaskellのこと勉強してから出直してきたら






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef