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
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のこと勉強してから出直してきたら
422 名前:デフォルトの名無しさん mailto:sage [05/02/19 12:09:32 ] >>421 言語の完成度じゃなくてghcの完成度を聞いてるんだけど。
423 名前:デフォルトの名無しさん mailto:sage [05/02/19 13:10:18 ] エスパー募集中ですか(w
424 名前:デフォルトの名無しさん mailto:sage [05/02/19 23:54:19 ] ghcってとてもバグが少ないとおもう。 特に、コンパイル結果がおかしいというのは一つも知らない。 言語拡張を使ってコンパイラが落ちるのはあったが、gccだってよく落ちたし。 品質に期待してはいけないってのは、なんか具体的な理由があるの?
425 名前:デフォルトの名無しさん mailto:sage [05/02/22 20:08:41 ] GHC最強。ノアだけはガチ。
426 名前:デフォルトの名無しさん mailto:sage [05/02/22 22:01:11 ] ghcは完璧。バグなんて有り得ない。
427 名前:デフォルトの名無しさん mailto:sage [05/02/23 09:12:55 ] ttp://www.ghc.or.jp/
428 名前:デフォルトの名無しさん mailto:sage [05/02/23 19:20:04 ] ghcの品質に問題ありとかいってる奴は頭がおかしいな。
429 名前:デフォルトの名無しさん mailto:sage [05/02/23 20:51:01 ] 関数型言語で書かれてないソフトウェアなんて 信頼性低すぎて使ってられないよな。
430 名前:デフォルトの名無しさん mailto:sage [05/02/23 21:14:20 ] ghcにはバグなんてない。 ghcの信頼性 >>>>>>>>> gccの信頼性
431 名前:デフォルトの名無しさん mailto:sage [05/02/24 11:00:34 ] カタカタ || ̄ Λ_Λ ||_(Д`; ) 「なに?このスレ・・・」 \⊂´ ) ( ┳'
432 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:31:32 ] 妙な雰囲気を紛らわす一服の清涼剤sage ttp://pggirls.asukaze.net/index.php?cmd=read&page=イ霖/Haskell、ソ、
433 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:01:22 ] ghcにバグがないことは証明済みです。
434 名前:デフォルトの名無しさん mailto:sage [05/03/02 14:39:26 ] The Monad.Reader www.haskell.org/hawiki/TheMonadReader
435 名前:デフォルトの名無しさん mailto:sage [05/03/05 17:27:02 ] 証明が間違ってないことも証明済みです
436 名前:デフォルトの名無しさん mailto:sage [05/03/05 21:47:09 ] よく分からんが、ghcにバグは有り得ないってことか。
437 名前:デフォルトの名無しさん mailto:sage [05/03/06 11:08:10 ] そゆこと
438 名前:デフォルトの名無しさん mailto:sage [05/03/08 23:33:41 ] ttp://sourceforge.net/tracker/?group_id=8032&atid=108032
439 名前:デフォルトの名無しさん mailto:sage [05/03/09 00:11:32 ] ghcってのは宗教か何かですか?
440 名前:デフォルトの名無しさん mailto:sage [05/03/09 00:24:00 ] 真理です
441 名前:デフォルトの名無しさん mailto:sage [05/03/09 20:45:50 ] 我々はこのスレを笑い飛ばしていたものです…。 しかし、その後、、、
442 名前:デフォルトの名無しさん mailto:sage [05/03/10 00:24:38 ] テレビで観た外国人犯罪者。刑務所で個室をもらい、支給されたパソコン でお勉強。本国から雑誌や新聞、書籍を送ってもらい、専属の通訳と翻訳家 つきで、食事はその国にあわせたもの。日本人受刑者は狭い部屋ですし詰め。 しばらくして、別のニュースでホームレスが川に落ちたインスタントラーメンを 取ろうとして転落、そのまま凍死してしまったという記事を読んで、せつなくな ってしまった。 新聞で日本で暮らす脱北者のインタビュー記事。「生活保護の支給額が足りない」 「支援してくれないので日本は冷たい」だと。 別の記事で生活保護を受けられなかった母子がおんぼろアパートで餓死。 この国は本当に狂っている。
443 名前:デフォルトの名無しさん mailto:sage [05/03/10 00:32:05 ] ・・・という内容をghcで矛盾を含まずーディングしはじめる兵(ツワモノ)が現れるのを 目の当たりにすることになったのです。 〜Fin.〜 (2ch.千夜一夜物語)
444 名前:デフォルトの名無しさん [05/03/10 00:58:20 ] 真理です
445 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:20:02 ] 生活苦や迫害から逃れるため北朝鮮を脱出した元在日朝鮮人 大阪府八尾市に支援者が用意した2部屋のアパートで 月約17万円の生活保護と支援者からのカンパで暮らす。 ソウルに住む長男も呼び寄せたいというが、 「いまの生活保護額では厳しい」と悩む日々だ。 www.asahi.com/national/update/0310/OSK200503100048.html 確定申告済ませたか? 俺も17万円と2部屋のアパート欲しい。 豊な生活送るには、17万円ポッチじゃ、まだタリン。 おまえ等の税金もっともっと よ こ せ!
446 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:31:20 ] ghcならコンパイル可能
447 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:43:13 ] ghcだからこそコンパイルエラーの結果に終わります。 こんなんに真値判定出されてたまりますか。
448 名前:デフォルトの名無しさん mailto:sage [05/03/12 20:33:41 ] www.haskell.org/ghc/download_ghc_64.html