[過去ログ]
関数型プログラミング言語Haskell Part4 (1001レス)
関数型プログラミング言語Haskell Part4 http://echo.5ch.net/test/read.cgi/tech/1140717775/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
654: デフォルトの名無しさん [sage] 2006/04/29(土) 07:50:24 haskell で haskell 書くのって簡単? http://echo.5ch.net/test/read.cgi/tech/1140717775/654
655: デフォルトの名無しさん [sage] 2006/04/29(土) 08:24:18 HaskellからCへの変換はHaskellで書かれている。 http://echo.5ch.net/test/read.cgi/tech/1140717775/655
656: デフォルトの名無しさん [age] 2006/04/29(土) 09:24:19 >>654 John Meachamは5年くらいかけてほぼ一人でHaskellコンパイラ(jhc)を書いた。 今のjhcのソースは35000行ほど。 http://echo.5ch.net/test/read.cgi/tech/1140717775/656
657: デフォルトの名無しさん [sage] 2006/04/29(土) 10:04:22 >>656 1日平均20行ほど。 http://echo.5ch.net/test/read.cgi/tech/1140717775/657
658: デフォルトの名無しさん [sage] 2006/04/29(土) 10:10:43 >>654 難しい http://echo.5ch.net/test/read.cgi/tech/1140717775/658
659: デフォルトの名無しさん [sage] 2006/04/29(土) 10:13:23 プログラム・プロムナード/Haskellプログラミング http://www.ipsj.or.jp/07editj/promenade/ http://echo.5ch.net/test/read.cgi/tech/1140717775/659
660: デフォルトの名無しさん [] 2006/04/29(土) 12:02:16 >>656 年間7000行しか書かなかったのか http://echo.5ch.net/test/read.cgi/tech/1140717775/660
661: デフォルトの名無しさん [] 2006/04/29(土) 16:42:25 >>652 つ RType http://mono.kmc.gr.jp/~oxy/hiki.cgi?rtype http://echo.5ch.net/test/read.cgi/tech/1140717775/661
662: デフォルトの名無しさん [sage] 2006/04/30(日) 00:26:51 RTypeってどのくらいのレベルの人が参加できるの? http://echo.5ch.net/test/read.cgi/tech/1140717775/662
663: デフォルトの名無しさん [sage] 2006/04/30(日) 07:04:51 >>656>>658 Haskell って最先端とか言っておきながら 自分自身を記述するのも大変なのか…? http://echo.5ch.net/test/read.cgi/tech/1140717775/663
664: デフォルトの名無しさん [sage] 2006/04/30(日) 11:28:55 ていうかそもそも GHC が Haskell で書かれている件についてはみんな無視ですか。 http://echo.5ch.net/test/read.cgi/tech/1140717775/664
665: デフォルトの名無しさん [age] 2006/04/30(日) 11:41:59 そもそもHaskellコンパイラを書くのが難しいような。 http://echo.5ch.net/test/read.cgi/tech/1140717775/665
666: デフォルトの名無しさん [] 2006/04/30(日) 12:20:27 自己記述するってなんか論理的に利点でもあるの? http://echo.5ch.net/test/read.cgi/tech/1140717775/666
667: デフォルトの名無しさん [sage] 2006/04/30(日) 12:51:10 Perl6が本家より先にHaskellで作られたのって凄いよね。 Haskellってそんなに処理系を記述するのに向いてるの? http://echo.5ch.net/test/read.cgi/tech/1140717775/667
668: デフォルトの名無しさん [sage] 2006/04/30(日) 12:57:18 >>666 遊びに決まってんじゃん ばーか http://echo.5ch.net/test/read.cgi/tech/1140717775/668
669: デフォルトの名無しさん [sage] 2006/04/30(日) 12:58:01 >>667 インタプリタを書いた場合のメモリ使用量・実行速度の問題を別にすれば、 処理系を書くのにものすごく適した言語だと思う。 http://echo.5ch.net/test/read.cgi/tech/1140717775/669
670: デフォルトの名無しさん [sage] 2006/04/30(日) 13:07:30 あれ、そういえばghciって中間コードのインタプリタだっけ? 結構速いような。 http://echo.5ch.net/test/read.cgi/tech/1140717775/670
671: デフォルトの名無しさん [sage] 2006/04/30(日) 13:19:01 >>670 いいえ http://echo.5ch.net/test/read.cgi/tech/1140717775/671
672: デフォルトの名無しさん [sage] 2006/04/30(日) 13:39:04 >>671 どっちの文の否定ですか? http://echo.5ch.net/test/read.cgi/tech/1140717775/672
673: デフォルトの名無しさん [sage] 2006/04/30(日) 14:13:12 >>672 そっちのです http://echo.5ch.net/test/read.cgi/tech/1140717775/673
674: デフォルトの名無しさん [sage] 2006/04/30(日) 14:30:17 >>669 > インタプリタを書いた場合のメモリ使用量・実行速度の問題を別にすれば、 > 処理系を書くのにものすごく適した言語だと思う。 >>179 みたいなチュートリアルがあるくらいだしね。 http://echo.5ch.net/test/read.cgi/tech/1140717775/674
675: デフォルトの名無しさん [] 2006/04/30(日) 20:16:14 ちょっと、キョン!当然あたしたちのCD予約したわよね? ――えっ、まだしてないの?あんた、SOS団の一員としての自覚あるの? ――何、「曲のほうは?」って?それなら心配いらないわ! なんったって、団長のあたしが保証するんだから間違いないわ! 一度聴いたら、ぜ〜〜ったい踊りたくなるんだから! 涼宮ハルヒの憂鬱ED「ハレ晴レユカイ」5月10日発売! 絶対買いなさい!! http://echo.5ch.net/test/read.cgi/tech/1140717775/675
676: デフォルトの名無しさん [sage] 2006/04/30(日) 22:07:15 SOS団にはPlotkinとかKahnとかMilnerがいるのでしょうか? 私もぜひ入りたいです。 http://echo.5ch.net/test/read.cgi/tech/1140717775/676
677: デフォルトの名無しさん [sage] 2006/04/30(日) 23:39:07 HGLを試してみたが、Windows+GHCでは固まってまともに動かん。 Hugsでは動いた。 以上、チラシの裏 http://echo.5ch.net/test/read.cgi/tech/1140717775/677
678: デフォルトの名無しさん [sage] 2006/04/30(日) 23:40:58 >>676 KahnはNS団にいます。 http://echo.5ch.net/test/read.cgi/tech/1140717775/678
679: デフォルトの名無しさん [sage] 2006/05/01(月) 07:49:15 六歳の誕生日から、何故か毎日20行ずつコンパイラを書き始めた僕の数奇な生涯。 『Haskell Boy』 映画化決定 http://echo.5ch.net/test/read.cgi/tech/1140717775/679
680: デフォルトの名無しさん [sage] 2006/05/01(月) 08:42:13 以下のソースだとエラーになるのは何故ですか? main = putStrLn hoge hoge = 2 http://echo.5ch.net/test/read.cgi/tech/1140717775/680
681: デフォルトの名無しさん [sage] 2006/05/01(月) 08:51:39 >>680 putStrLnは引数としてStringを取る。 一方hogeは数値なので、型が合わない。 http://echo.5ch.net/test/read.cgi/tech/1140717775/681
682: デフォルトの名無しさん [sage] 2006/05/01(月) 09:28:14 >>680 main = putStrLn $ show hoge で。 あるいは単純に main = print hoge http://echo.5ch.net/test/read.cgi/tech/1140717775/682
683: デフォルトの名無しさん [sage] 2006/05/01(月) 10:39:05 >>681-682 おおーできた! ありがとうございました。 http://echo.5ch.net/test/read.cgi/tech/1140717775/683
684: デフォルトの名無しさん [sage] 2006/05/01(月) 10:57:31 二分探索を書こうとしたのだが、どうも上手くできない。 --リストの中央インデックスを求める middle :: [a] -> Int middle [] = -1 middle x = (ceiling half) - 1 where half = fromIntegral (length x) / fromIntegral 2 --リストの中央値を返す median :: [a] -> a median x = x !! (middle x) bsearch k [] = -1 bsearch k x | median x > k = bsearch k (take (middle x) x) | median x == k = middle x | median x < k = middle x + 1 + bsearch k (drop ((midd
le x)+1) x) 「bsearch k [] = -1」が悪いのはわかってるんだが、 うまく動くよう記述する方法がわかんない。 どうすればいい? http://echo.5ch.net/test/read.cgi/tech/1140717775/684
685: デフォルトの名無しさん [sage] 2006/05/01(月) 11:13:45 >>684 bsearchの最後の等式で、再帰的に呼ばれたbsearchが-1を返したときにまずいことになる。 これを防ぐには、結果が-1かどうかを明示的にテストすればいい。 bsearch k [] = -1 bsearch k x | median x > k = bsearch k (take (middle x) x) | median x == k = middle x | median x < k = case bsearch k (drop ((middle x)+1) x) of -1 -> -1 r -> middle x + 1 + r 以下、本
題とは関係ないけど、 ・Haskellではbsearchのような「失敗する可能性のある」関数の結果はMaybeでラップするのが普通。 失敗時に-1を返すよりNothingを返した方が直感的だし、間違いも少ない。 ・ceiling (fromIntegral (length x) / fromIntegral 2) は div (length x) 2と書ける。 http://echo.5ch.net/test/read.cgi/tech/1140717775/685
686: デフォルトの名無しさん [sage] 2006/05/01(月) 11:15:39 よくわからんのだけど、Haskelの場合、数学の証明とかのように定義を延々と書いていってつじつまが合うと、そのとおりに動作すると考えればよろしいのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1140717775/686
687: 685 [sage] 2006/05/01(月) 11:18:02 >ceiling (fromIntegral (length x) / fromIntegral 2) は div (length x) 2と書ける。 嘘でした。 div (length x + 1) 2 が正解。 http://echo.5ch.net/test/read.cgi/tech/1140717775/687
688: デフォルトの名無しさん [sage] 2006/05/01(月) 11:20:56 >>685 おお。素早い回答ありがとう。 http://echo.5ch.net/test/read.cgi/tech/1140717775/688
689: デフォルトの名無しさん [sage] 2006/05/01(月) 12:46:11 Haskellでパーサでも書こうかと思ってるんですけど どのくらい簡単に書けるものなんですかね? 四則演算程度の簡単なパーサのサンプルとかありませんか? http://echo.5ch.net/test/read.cgi/tech/1140717775/689
690: デフォルトの名無しさん [sage] 2006/05/01(月) 13:38:36 >>689 つttp://www.cs.uu.nl/~daan/download/parsec/parsec.html http://echo.5ch.net/test/read.cgi/tech/1140717775/690
691: デフォルトの名無しさん [] 2006/05/01(月) 16:07:44 >>689 つ ttp://www.lab2.kuis.kyoto-u.ac.jp/~hanatani/tmp/Parsec.html http://echo.5ch.net/test/read.cgi/tech/1140717775/691
692: デフォルトの名無しさん [sage] 2006/05/01(月) 21:43:21 >>689 このあたりとか ttp://d.hatena.ne.jp/tanakh/20040730 ttp://d.hatena.ne.jp/tanakh/20040731 http://echo.5ch.net/test/read.cgi/tech/1140717775/692
693: デフォルトの名無しさん [sage] 2006/05/01(月) 21:45:45 男には一生に一度、Haskellしないといけないときがある。 http://echo.5ch.net/test/read.cgi/tech/1140717775/693
694: デフォルトの名無しさん [sage] 2006/05/01(月) 23:11:44 六歳の誕生日から、何故か毎日20行ずつコンパイラを書き始めた僕の数奇な生涯。 『Haskell Boy』 映画化決定 http://echo.5ch.net/test/read.cgi/tech/1140717775/694
695: デフォルトの名無しさん [sage] 2006/05/02(火) 09:53:00 >>694 享年14歳 http://echo.5ch.net/test/read.cgi/tech/1140717775/695
696: デフォルトの名無しさん [] 2006/05/02(火) 10:17:30 ネイティブアプリ作成できるよね?勿論 http://echo.5ch.net/test/read.cgi/tech/1140717775/696
697: デフォルトの名無しさん [sage] 2006/05/02(火) 10:44:15 うん http://echo.5ch.net/test/read.cgi/tech/1140717775/697
698: デフォルトの名無しさん [sage] 2006/05/02(火) 11:52:01 こ http://echo.5ch.net/test/read.cgi/tech/1140717775/698
699: デフォルトの名無しさん [sage] 2006/05/02(火) 11:53:24 うする http://echo.5ch.net/test/read.cgi/tech/1140717775/699
700: デフォルトの名無しさん [sage] 2006/05/02(火) 18:50:44 つもりなのか? http://echo.5ch.net/test/read.cgi/tech/1140717775/700
701: デフォルトの名無しさん [sage] 2006/05/02(火) 18:51:34 Curry 喰うか? http://echo.5ch.net/test/read.cgi/tech/1140717775/701
702: デフォルトの名無しさん [sage] 2006/05/02(火) 20:01:51 Windowsで日本語が表示できるGUIライブラリってないですか? でないとまともなアプリなんて作れません。 http://echo.5ch.net/test/read.cgi/tech/1140717775/702
703: デフォルトの名無しさん [sage] 2006/05/02(火) 21:24:10 >>702 WxHaskell。 でも、たぶん、Shift_JISをバイトごとに分けてCharに入れないとちゃんと動かない。 http://echo.5ch.net/test/read.cgi/tech/1140717775/703
704: デフォルトの名無しさん [sage] 2006/05/02(火) 23:58:13 ほんの数時間前にHaskellかじり始めました。んでちょっと質問です。 quicksort [] = [] で空リストは空リストでマッチさせるのに対して quicksort (x:xs) = ... と空ではないリストについての表記が`('と`)'で囲まれてるのが ペアみたいでいまいち納得いかないんですが、これは何でですか? 書いててふと思ったけど結合強度の関係でx:xsをグルーピングしてるだけとかいう落ち? http://echo.5ch.net/test/read.cgi/tech/1140717775/704
705: デフォルトの名無しさん [sage] 2006/05/03(水) 00:15:40 >>704 そのとおり。 「宣言の左辺の時だけ結合度変えてよ」なんて無茶言ったらだめよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/705
706: 704 [sage] 2006/05/03(水) 01:00:16 やはりそうでしたか。 普段はLISP使ってるので()[]{}を使い分けたりインデントを意識する習慣が まったくないのですが、このあたりのつまらない約束事を乗り越えたら 新しい境地が広がっているといいなぁ。Haskell. OCamlとどっち勉強しようか 微妙に迷ったけど。 http://echo.5ch.net/test/read.cgi/tech/1140717775/706
707: デフォルトの名無しさん [sage] 2006/05/03(水) 01:42:12 Lisp でインデントを意識しないって、マヂで言ってる? http://echo.5ch.net/test/read.cgi/tech/1140717775/707
708: デフォルトの名無しさん [sage] 2006/05/03(水) 01:46:56 Lispのインデントはただ単に見やすくするだけの意味しかないでしょ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/708
709: デフォルトの名無しさん [sage] 2006/05/03(水) 01:56:34 Python でもやっとけ http://echo.5ch.net/test/read.cgi/tech/1140717775/709
710: デフォルトの名無しさん [sage] 2006/05/03(水) 09:32:09 Haskell人気だな。 違う意味で使えそう。 http://pc8.2ch.net/test/read.cgi/tech/1129792060/ http://echo.5ch.net/test/read.cgi/tech/1140717775/710
711: デフォルトの名無しさん [sage] 2006/05/03(水) 21:20:33 普通emacsまかせだからLispでインデントなんて意識しないよ シンプルそうに見えて割と変な記号多いのは嫌だな、いつか治るのかな? http://echo.5ch.net/test/read.cgi/tech/1140717775/711
712: デフォルトの名無しさん [sage] 2006/05/03(水) 22:58:03 他人のソースを読まない人? http://echo.5ch.net/test/read.cgi/tech/1140717775/712
713: デフォルトの名無しさん [sage] 2006/05/03(水) 23:02:22 lispを型付き言語に改造するラッパってありますか? http://echo.5ch.net/test/read.cgi/tech/1140717775/713
714: デフォルトの名無しさん [sage] 2006/05/03(水) 23:07:10 Common Lisp なら最初から型あるじゃん... http://echo.5ch.net/test/read.cgi/tech/1140717775/714
715: デフォルトの名無しさん [sage] 2006/05/03(水) 23:34:09 Monadクラス(>>=, return)のシグネチャには合うけど、Monad則を満たさないサンプルってどんなものがありますか? http://echo.5ch.net/test/read.cgi/tech/1140717775/715
716: デフォルトの名無しさん [sage] 2006/05/03(水) 23:44:19 >>715 いくらでもあると思うが。自明な例は、 data Id a = Id a instance Monad Id where return = undefined (>>=) = undefined もうちょっとまともな例は、ListT IO。 http://haskell.cs.yale.edu/hawiki/ListTDoneRight http://echo.5ch.net/test/read.cgi/tech/1140717775/716
717: デフォルトの名無しさん [sage] 2006/05/03(水) 23:47:23 >>711 変な記号を駆使してやたらと簡潔なコードを書けるのがHaskellの良いところの一つだと思うので、なくなると困る。 http://echo.5ch.net/test/read.cgi/tech/1140717775/717
718: デフォルトの名無しさん [sage] 2006/05/04(木) 00:05:11 >>716 おお、ありがとうございます。リンク先の方、じっくり読んでみます。 http://echo.5ch.net/test/read.cgi/tech/1140717775/718
719: デフォルトの名無しさん [sage] 2006/05/04(木) 00:23:04 >>717 それってどこの Perl ? http://echo.5ch.net/test/read.cgi/tech/1140717775/719
720: デフォルトの名無しさん [sage] 2006/05/04(木) 00:47:34 ネタなのかマジなのか… http://echo.5ch.net/test/read.cgi/tech/1140717775/720
721: デフォルトの名無しさん [sage] 2006/05/04(木) 20:59:02 「数値リスト内の全ての要素が同じ数字」ってどう書きますか? http://echo.5ch.net/test/read.cgi/tech/1140717775/721
722: デフォルトの名無しさん [sage] 2006/05/04(木) 23:31:45 isSameNumber :: (Num a) => [a] -> Bool isSameNumber (x:xs) = all (==x) xs http://echo.5ch.net/test/read.cgi/tech/1140717775/722
723: デフォルトの名無しさん [sage] 2006/05/05(金) 00:54:37 リストが空の場合は? http://echo.5ch.net/test/read.cgi/tech/1140717775/723
724: 721 [sage] 2006/05/05(金) 01:57:05 そう言えばリストが空の場合「同じ」で良いのだろうか… 何はともあれ参考にします。 http://echo.5ch.net/test/read.cgi/tech/1140717775/724
725: デフォルトの名無しさん [sage] 2006/05/05(金) 02:47:19 >>715に関連して Monad則を絶対に満たしてるという証明はどうやってするの? http://echo.5ch.net/test/read.cgi/tech/1140717775/725
726: デフォルトの名無しさん [sage] 2006/05/05(金) 11:22:59 普通に式変形するんじゃだめなのか? 例えば、 return = Just Just x >>= f = f x Nothing >>= f = Nothing と定義されているとき、 x >>= return = xを証明する。 x >>= return = x >>= Just -- returnの定義から = case x of -- (>>=)の定義から Just r -> Just r Nothing -> Nothing = case x of -- パターンマッチの性質から Just r -> x Nothing -> x = x -- case式の性質
から http://echo.5ch.net/test/read.cgi/tech/1140717775/726
727: デフォルトの名無しさん [] 2006/05/05(金) 20:54:57 今月にまたHaskellの書籍が出ると聞いて待ち望んでおります。 詳しく。 http://echo.5ch.net/test/read.cgi/tech/1140717775/727
728: デフォルトの名無しさん [sage] 2006/05/06(土) 00:38:38 >>726 > = case x of -- パターンマッチの性質から > Just r -> x > Nothing -> x これが思いつかなかった。 http://echo.5ch.net/test/read.cgi/tech/1140717775/728
729: デフォルトの名無しさん [sage] 2006/05/06(土) 00:41:22 >>727 こういう内容らしい。 ttp://i.loveruby.net/d/20060402.html http://echo.5ch.net/test/read.cgi/tech/1140717775/729
730: デフォルトの名無しさん [sage] 2006/05/06(土) 00:52:35 ちょっと質問いいでしょうか。 Haskellで作ったバイナリは、ライセンスはどうなるでしょうか。 http://echo.5ch.net/test/read.cgi/tech/1140717775/730
731: デフォルトの名無しさん [sage] 2006/05/06(土) 01:08:45 >>730 それは処理系のライセンスによるでしょ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/731
732: デフォルトの名無しさん [sage] 2006/05/06(土) 02:34:13 >>729 楽しみ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/732
733: デフォルトの名無しさん [sage] 2006/05/06(土) 08:04:42 >>730 Haskellに限らず、コンパイラ系が吐き出した実行ファイルに コンパイラの製作者側のライセンスが及ぶ場合ってあるのか? http://echo.5ch.net/test/read.cgi/tech/1140717775/733
734: デフォルトの名無しさん [sage] 2006/05/06(土) 08:13:04 exeにリンクされるスタートアップルーチンやライブラリが LGPLではなくGPLに汚染していたらそのプログラムもGPLにしないとまずい。 例えばCygwinのgccは問答無用でGPLなdllに依存してしまう。 http://echo.5ch.net/test/read.cgi/tech/1140717775/734
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 267 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s