[過去ログ]
関数型プログラミング言語Haskell Part4 (1001レス)
関数型プログラミング言語Haskell Part4 http://echo.5ch.net/test/read.cgi/tech/1140717775/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
462: デフォルトの名無しさん [sage] 2006/04/16(日) 23:05:32 ( ゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/ / (゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/ / http://echo.5ch.net/test/read.cgi/tech/1140717775/462
463: 432=451=452 [sage] 2006/04/16(日) 23:07:55 >>457 結論は分かったけど、例が全然理解できない。 特に、関数型言語でできてC++で出来ないことと、 型推論がコードの修正にどう影響するかがわからない。 良かったら解説してもらえないだろうか。あるいは参考文献でも。 http://echo.5ch.net/test/read.cgi/tech/1140717775/463
464: デフォルトの名無しさん [sage] 2006/04/16(日) 23:34:52 使ってみりゃわかるよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/464
465: デフォルトの名無しさん [sage] 2006/04/16(日) 23:46:00 5000行位は書いたんだが… http://echo.5ch.net/test/read.cgi/tech/1140717775/465
466: デフォルトの名無しさん [sage] 2006/04/17(月) 00:05:44 50000行ぐらい書いてみろ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/466
467: デフォルトの名無しさん [sage] 2006/04/17(月) 00:12:08 違いという話では、C++には パターンマッチは流石にねーだろ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/467
468: デフォルトの名無しさん [sage] 2006/04/17(月) 00:13:18 >>464 ちょっと興味はあるんだけど、使ってみていじくるまで今元気じゃない・・・orz http://echo.5ch.net/test/read.cgi/tech/1140717775/468
469: デフォルトの名無しさん [sage] 2006/04/17(月) 00:14:39 >>467 そういう話をすると、どうせBoostでどうのとか信者が言い出すんだろ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/469
470: デフォルトの名無しさん [sage] 2006/04/17(月) 00:27:06 >>467 boost::variantにapply_visitorってのがある。 すごく面倒だが。 http://echo.5ch.net/test/read.cgi/tech/1140717775/470
471: デフォルトの名無しさん [sage] 2006/04/17(月) 00:44:48 HaskellはHaskellコンパイラーを書くための言語(ニヤリ http://echo.5ch.net/test/read.cgi/tech/1140717775/471
472: デフォルトの名無しさん [sage] 2006/04/17(月) 01:47:00 ム板でこれだけコードの出ないスレも珍しい。 http://echo.5ch.net/test/read.cgi/tech/1140717775/472
473: デフォルトの名無しさん [sage] 2006/04/17(月) 02:08:53 コード要りません。理論だけで十分です。 http://echo.5ch.net/test/read.cgi/tech/1140717775/473
474: 449 [sage] 2006/04/17(月) 02:24:00 >>463 ライブラリで関数型言語をエミュレートできることと、関数型言語であるということには遥かにへだたりがあります。 Boostで関数型の振舞いができても、C++のコアに関する細かい知識が無いと結局使いこなすことはできないでしょう。 Boost氏の意見は自分でクラスやテンプレートを定義しないという前提でしか成り立たないのではないでしょうか。 >>464を言わないために言葉で説明してみたけど、これ以上言葉だけの説明は無理に思えます。私も464に同意です。 449はMLの人間でC++ vs 関数型言語にレス付けただけなのでこれで消滅します。すんません。 参考書が示せないので、何かプログラムのテーマを考えておいてください。Haskell初心者で参加します。 http://echo.5ch.net/test/read.cgi/tech/1140717775/474
475: デフォルトの名無しさん [sage] 2006/04/17(月) 02:36:08 名無しに戻りました。 >>474 木を使うアルゴリズムが分りやすいんでないだろうか。 そんでBoost氏がC++で書いてくれるのか? プログラムの過程を示すってコードに文字数が要りそうだけど・・・ http://echo.5ch.net/test/read.cgi/tech/1140717775/475
476: デフォルトの名無しさん [sage] 2006/04/17(月) 05:51:47 >>399 このスレよりもここの作者にメール投げた方が早いよ http://homepage3.nifty.com/Aransk/contents2.html http://echo.5ch.net/test/read.cgi/tech/1140717775/476
477: デフォルトの名無しさん [sage] 2006/04/17(月) 22:14:58 木を使うアルゴリズムなんてほとんど知らないんだが… いちおうこんなのを考えてみた。 data Bound a = Inclusive a | Exclusive a | Unbounded -- 範囲の境界 type Range a = (Bound a, Bound a) -- (下限、上限) data RangeMap k a =... -- kの範囲にaの値を対応させる写像。木で表現される。平衡木だとなおよい。 empty :: (Ord k) => RangeMap k a -- 空の写像 insert :: (Ord k) => Range k -> RangeMap k a -> RangeMap k a --既存の写像を部分的に上書き update :: (Ord k) => Range k -> (a -> Maybe a) -> RangeMap k a -> RangeMap k a --既存の写像を部分的に更新 lookup :: (Ord k) => k -> RangeMap k a -> Maybe a >そんでBoost氏がC++で書いてくれるのか? いつのまにかBoost氏にされている訳だが。 「書きながらの抽象化」を示してくれるというなら頑張って書きますぜ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/477
478: デフォルトの名無しさん [sage] 2006/04/17(月) 22:17:34 ネタ: DOM風の木を走査する ・ノードはテキストもしくはエレメント ・エレメントはタグ文字列と子ノードからなる とりあえず型を定義 data Node = Text String | Element(String,[Node]) deriving (Eq,Show) ・再帰型の中にリスト(子ノード)があると適度に複雑な気がした。 ・実はHaskellで相互再帰型の定義の仕方がわからなかった。 ・Element a b ではなくて Element(a,b)にしたのはサンプル木を書くときに Element("html", [Element("head", [Text "foo", Element("meta", [])])]) のように途中で改行してもエラーにならないというコーディングの都合だけの理由。 ステップ: 1 左・深さ優先前順序、いわゆる文書順序でノードを訪れるアルゴリズムを書く 2 左右の順序、深さ・幅の優先順位、前・中・後の順序を変えつつアルゴリズムを書換えていく 3 木の構造を定義しなおして書換える 2の途中である程度見えてくる気がするナァ http://echo.5ch.net/test/read.cgi/tech/1140717775/478
479: デフォルトの名無しさん [sage] 2006/04/17(月) 22:39:05 >>447 もう皆どうでもよくなったんじゃないかと思ってたら被ってしまった。 447を見てもすぐには理解できません。Haskell文法のAAの出現を予感。 BoundのInclusive/Exclusiveはどういう意味ですか? Boost初めて覗いたけど面白そう。 Boostでも再帰型が定義できるんですか?かなり見てみたいです。 でも478でインデントされなかったのは何故だろう? http://echo.5ch.net/test/read.cgi/tech/1140717775/479
480: デフォルトの名無しさん [sage] 2006/04/17(月) 22:43:36 >>479 >>477 http://echo.5ch.net/test/read.cgi/tech/1140717775/480
481: デフォルトの名無しさん [sage] 2006/04/17(月) 22:48:00 >>479 >BoundのInclusive/Exclusiveはどういう意味ですか? 半開区間(0, 4]を(Exclusive 0, Inclusive 4)と書けるといいな、と。 >でも478でインデントされなかったのは何故だろう? HTMLの仕様と思われる。 を半角スペースの代わりに使うといいかと。 http://echo.5ch.net/test/read.cgi/tech/1140717775/481
482: デフォルトの名無しさん [sage] 2006/04/17(月) 22:52:20 もしかして半角はインデントされないってこと? 全角インデント 半角インデント kita使ってるけど プレビューでもインデントされない。 kitaと板とどっちがおかしいんだろ http://echo.5ch.net/test/read.cgi/tech/1140717775/482
483: デフォルトの名無しさん [sage] 2006/04/17(月) 22:53:10 >>481 ありがとう http://echo.5ch.net/test/read.cgi/tech/1140717775/483
484: デフォルトの名無しさん [] 2006/04/17(月) 22:56:48 firefoxで試してみる。   半角インデント http://echo.5ch.net/test/read.cgi/tech/1140717775/484
485: デフォルトの名無しさん [sage] 2006/04/17(月) 22:58:28 残念でした。 http://echo.5ch.net/test/read.cgi/tech/1140717775/485
486: デフォルトの名無しさん [sage] 2006/04/17(月) 22:59:17 >>484 プレビューと間違えた。しっかり 入ってます http://echo.5ch.net/test/read.cgi/tech/1140717775/486
487: デフォルトの名無しさん [] 2006/04/17(月) 22:59:27 パチンコ&スロット解析用ソケット メイン基盤上のチップLE2080,2280,4280のプログラムが 市販品のロムライターで読み込みできます。 確率や連チャンの仕組みが一目瞭然! 攻略法はあなた自身で見つける時代です。 http://www.3-you.com/ http://echo.5ch.net/test/read.cgi/tech/1140717775/487
488: デフォルトの名無しさん [sage] 2006/04/17(月) 23:08:28 >でも478でインデントされなかったのは何故だろう? タコな2chスクリプトがインデントを展開してくれないから  と書くか全角スペースでインデント汁 http://echo.5ch.net/test/read.cgi/tech/1140717775/488
489: デフォルトの名無しさん [] 2006/04/18(火) 00:29:38 >>477 ツォルンの補題まで行ってきました。 なんでそうなったかは自分でもよくわかりません。 明日のナゾナゾにしてもう寝ます。 http://echo.5ch.net/test/read.cgi/tech/1140717775/489
490: デフォルトの名無しさん [sage] 2006/04/18(火) 08:50:42 Haskell書いてると疲れるのは何故? http://echo.5ch.net/test/read.cgi/tech/1140717775/490
491: デフォルトの名無しさん [sage] 2006/04/18(火) 09:26:25 慣れてないから http://echo.5ch.net/test/read.cgi/tech/1140717775/491
492: デフォルトの名無しさん [sage] 2006/04/18(火) 11:46:15 Schemeみたいな言語になれちゃって,Haskellではいつも型宣言を書かずにプログラムを書いてしまう。そしてインタプリタに読み込ませて型が何かをチェック。 俺ってHaskell向いてないかな? http://echo.5ch.net/test/read.cgi/tech/1140717775/492
493: デフォルトの名無しさん [sage] 2006/04/18(火) 13:49:43 >>492 自分で書いているように、慣れの問題 http://echo.5ch.net/test/read.cgi/tech/1140717775/493
494: デフォルトの名無しさん [sage] 2006/04/18(火) 15:40:09 よく自分の書いた型宣言よりもさらに抽象度の高い型宣言を型推論さんが教えてくれるのですが,Haskellerの皆さんはこのようなときはどうしているのでしょうか?それともこのようなギャップはあまり生じない? http://echo.5ch.net/test/read.cgi/tech/1140717775/494
495: デフォルトの名無しさん [] 2006/04/18(火) 17:07:15 >>477 a<b<c<d のとき(a,c)<(b,d)ということでしょうか? でも(a,d)と(b,c)の比較がやっぱり分りません。(a,d)>(b,c)なんだろうか・・・ RangeMapはこういう解釈でいいんでしょうか? ・RangeMap型のオブジェクトは次の写像と同値である。 r(1),r(2)...r(n)のn個の整列された範囲が与えられているとき、 範囲rを自然数iに対応させる写像であって、rをr(i)とr(i+1)との間に挿入すると また順序列となる。だだしr(1)の前に挿入するときはi=0。 ・順序木を導入して効率アップ http://echo.5ch.net/test/read.cgi/tech/1140717775/495
496: デフォルトの名無しさん [sage] 2006/04/18(火) 20:13:26 >>495 説明不足だった。申し訳ない。 意図としては、RangeMapはk型の値からa型の値への写像。 例えば、 a0, a1 :: RangeMap Integer String a0 = insert (Unbounded, Unbounded) "foo" empty a1 = insert (Inclusive 0, Inclusive 10) "bar" a0 と定義すると、a0はあらゆる値に"foo"を対応させる定数関数で、 a1は、0以上10以下の値には"bar", それ以外の値には"foo"を対応させる関数。 どっちにしても、>>478がまともな例題を提示してくれたので、>>477は用済みな気がする。 http://echo.5ch.net/test/read.cgi/tech/1140717775/496
497: デフォルトの名無しさん [sage] 2006/04/18(火) 21:05:04 >>478 やってみた。 一応、「書きながらの抽象化」の意味は分かったような気もするけど、 C++で書いた場合との本質的な違いのようなものは分からなかった。 コードの修正に型推論を活用するというのもよくわからなかった。 (これは修正自体をあまりしていないせいかも。) 満足できる結果じゃないけど、いろいろ勉強になった。 良い問題をありがとう。 参考までに、コードを揚げてみた。 ttp://hs.or.tp/php/uploader/up/code321.txt http://echo.5ch.net/test/read.cgi/tech/1140717775/497
498: デフォルトの名無しさん [sage] 2006/04/18(火) 21:07:44 本物のプログラマは型推論に頼らない http://echo.5ch.net/test/read.cgi/tech/1140717775/498
499: デフォルトの名無しさん [sage] 2006/04/18(火) 21:09:03 本物のプログラマはそもそも型に頼らないだろ http://echo.5ch.net/test/read.cgi/tech/1140717775/499
500: デフォルトの名無しさん [sage] 2006/04/18(火) 21:10:15 確かに本物のプログラマはHaskellで書かれているからな http://echo.5ch.net/test/read.cgi/tech/1140717775/500
501: デフォルトの名無しさん [sage] 2006/04/18(火) 21:16:59 本物のプログラマはuniversal domainを使う http://echo.5ch.net/test/read.cgi/tech/1140717775/501
502: デフォルトの名無しさん [sage] 2006/04/18(火) 21:26:26 一方ロシアはJavaを使った。 http://echo.5ch.net/test/read.cgi/tech/1140717775/502
503: デフォルトの名無しさん [sage] 2006/04/18(火) 21:40:07 >>492 型に慣れてないなんて時代遅れだね。 http://echo.5ch.net/test/read.cgi/tech/1140717775/503
504: デフォルトの名無しさん [sage] 2006/04/18(火) 21:42:15 型がないと、ある種のパラドックスに陥る。 それは容易にバグに結びつく。 強い型付きの言語というのは、そういう意味で安全なんだよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/504
505: デフォルトの名無しさん [俺ってオモスレーwwwsage] 2006/04/18(火) 21:43:46 型型うるせえな!! http://echo.5ch.net/test/read.cgi/tech/1140717775/505
506: デフォルトの名無しさん [] 2006/04/18(火) 22:12:10 >>497 reading A Gentle Introduction to Haskell Version 98 ... done reading Twe Dozen Short Lessons in Haskell ... (Interrupt) reading Yet Another Haskell Tutorial ... (Interrupt) error: unresolved keywords: class instance deriving monad '...' '>>=' ... やっと477が普通に見えてきたところです。 相互再帰は普通にできるんですね。 478のステップ2ではこういうかんじで使う関数を想像してました。 traverse Left2Right BreadthFirst InOrder node ちなみにC++で nodeGenFoldr を書くとどうなるんですか? 速すぎてついていけませんが解析中 reading 2ch/code321.txt ... http://echo.5ch.net/test/read.cgi/tech/1140717775/506
507: デフォルトの名無しさん [sage] 2006/04/18(火) 22:17:15 型推論はなるべく使わないほうが良い。初心者なら特に。 http://echo.5ch.net/test/read.cgi/tech/1140717775/507
508: デフォルトの名無しさん [] 2006/04/18(火) 22:23:04 >>497 そういえば以前MLでfoldを使わずに相互再帰で走査していくときに型推論が役に立ったことがあります。 http://echo.5ch.net/test/read.cgi/tech/1140717775/508
509: デフォルトの名無しさん [] 2006/04/18(火) 22:53:37 >>497 478はXML文書をPythonのElementTreeのように手軽に扱えるライブラリはないかと思って、Haskellに限らずいろいろ探しているときに考えていたことの一部です。 ElementTreeで日本語を読み込むにはかなり細工が必要で、またテキストをエレメントと対等に扱わないので検索がやりにくかったです。 http://haskell.org/hawiki/GhcUnicodeによるとGHC6.6からUnicodeがHaXmlでも普通に扱えるように読めるんですが、ご存知ありませんか? http://echo.5ch.net/test/read.cgi/tech/1140717775/509
510: デフォルトの名無しさん [sage] 2006/04/18(火) 23:23:12 >>509 現在のGHCは入出力の際にエンコーディングをiso-8859-1と仮定するので、 日本語を正しく扱うことは出来ません。 ただし、情報が失われる変換ではないので、文字列をブラックボックスとして操作する限りでは 問題は起こらないかも知れません。 実際、私はHaXmlを日本語を含む文書を操作するのに使っています。 上記の問題はGHC付属のIOライブラリの欠陥であって、プログラムからUnicodeの文字を扱うこと自体は正しく出来ます。 従って、入出力用の外部ライブラリとHaXmlを組み合わせることで正しい扱いが出来るかも知れません。 例えば、使ったことはないのですが、 http://www.repetae.net/john/recent/out/HsLocale.html に、ロケール依存の入出力をするライブラリがあります。 >http://haskell.org/hawiki/GhcUnicode リンク先の記述はUnicodeの文字クラスに関するもので、この問題には関係ないかと思います。 http://echo.5ch.net/test/read.cgi/tech/1140717775/510
511: デフォルトの名無しさん [] 2006/04/18(火) 23:24:16 >>492 関数を書いたあと推論を固定したいときはコピペして宣言、気にくわなければ型に手を加える、で十分だと思います。 http://echo.5ch.net/test/read.cgi/tech/1140717775/511
512: デフォルトの名無しさん [sage] 2006/04/18(火) 23:27:13 関数型言語、特にHaskellのようなpureな言語では、型を見るだけでどういう関数なのかほぼ解る。 a -> a 型の関数はまず間違いなく id だし、a -> b -> b 型は、第二引数をそのまま返すものであろう。 a -> Int とかなら、何を適用してもIntの定数を返す関数と推測される。 (a -> b) -> [a] -> [b] なんていう型の関数があったら、返値の要素は、第一引数である関数で もって第二引数の要素から作ったものである。 自分で書いた関数が (a -> b) -> a -> a とか推論されたら、第一引数の関数またはその返値を どこかで捨ててしまっている。 型推論を活用しながらコーディングってつまりこういうことだと思っているが、違う? http://echo.5ch.net/test/read.cgi/tech/1140717775/512
513: デフォルトの名無しさん [] 2006/04/19(水) 00:30:38 >>512 >自分で書いた関数が (a -> b) -> a -> a とか推論されたら、第一引数の関数またはその返値を >どこかで捨ててしまっている。 > 型推論を活用しながらコーディングってつまりこういうことだと思っているが、違う? だいたいそう。 1) 予想した型と推論された型が一致しなければ、実装か、そもそもアルゴリズが間違っていた 2) 予定の型を書いておいて型エラーが無くなるようにコーディグする 2a) 関数の型を修正するときに先に型を書き、型エラーが無くなるまで中身を修正する 2a') 関数を分割するときに部分的な型を抜き出し、コピペした実装と一緒に宣言して2a) 2c) 最初に型を宣言して頑張ってコーディングする 2c)はあまり記憶が無いけどこんなかんじかなあ。 予想とはいっても型が長いときはびっくりするような推論が帰ってくるから、それをもとに正確な型はこうだ、と決めてる気がします。 始めのころは推論にびっくりしてストップしていましたが、何かを書きかけている途中でそれが起こるとしょうがなく解析して理解しました。慣れていくと実は逆の活用ができるんだ、と感じるようになりました。 ありきたりだけど、型推論に慣れる・慣れないというのはそういう「driving application」があるかどうかの話だと思います。 結局464という話になりますが。 http://echo.5ch.net/test/read.cgi/tech/1140717775/513
514: デフォルトの名無しさん [sage] 2006/04/19(水) 01:04:24 >>506 ttp://hs.or.tp/php/uploader/up/code322.cpp C++版。 C++には関数的なリストが用意されていないので、vectorと副作用でごまかした。 もちろん、自分で定義すればいいんだけど、面倒だったので。 http://echo.5ch.net/test/read.cgi/tech/1140717775/514
515: デフォルトの名無しさん [] 2006/04/19(水) 01:07:25 >>510 参考になりました。ありがとう。 fptoolsでHaXmlをダウンロードしてあるのにghc6.4には何故かインストールされてませんでした。libraries/以下だけを再ビルドする方法も思い出せません。そもそもできたかどうか。トップからビルドし直すとまた信じられないような時間かかるし。 ghcはインストールがうっとうしいです。FFIもいっぱいあって、バージョン間の互換性も低いし。Makefileを書きかえてライブラリを追加したりとか。 インストールが成功したころには全然別の所に行ってしまってることが多いのでもうしばらくして試してみます。 reading 2ch/code321.txt(continued) Yet Another Haskell Tutorial(continued)... http://echo.5ch.net/test/read.cgi/tech/1140717775/515
516: デフォルトの名無しさん [sage] 2006/04/19(水) 01:16:07 >>514 わざわざありがとう。 これがHaskellと同じように読み書きできるんですね。恐れ入りました。 ちょっと頭のリソースが足りないので、今度Boostを試してみるときに参考にします。 http://echo.5ch.net/test/read.cgi/tech/1140717775/516
517: デフォルトの名無しさん [sage] 2006/04/19(水) 13:49:44 ghcのコンパイルに 100時間以上かかってるんですがこんなもんですか? 前は半日くらいでできてたはずなのに。 http://echo.5ch.net/test/read.cgi/tech/1140717775/517
518: デフォルトの名無しさん [sage] 2006/04/19(水) 17:33:13 いくらなんでも時間かかりすぎ どんなコンピュータだよ http://echo.5ch.net/test/read.cgi/tech/1140717775/518
519: デフォルトの名無しさん [sage] 2006/04/19(水) 20:58:50 GHC 6.4.2来たよ http://echo.5ch.net/test/read.cgi/tech/1140717775/519
520: デフォルトの名無しさん [sage] 2006/04/19(水) 22:22:00 いつもソースからビルドしてるんだけど、バイナリよりどれだけ速いか比べたことある人いませんか? http://echo.5ch.net/test/read.cgi/tech/1140717775/520
521: デフォルトの名無しさん [sage] 2006/04/19(水) 22:33:47 どう考えてもビルド時間を回収できるほどには速くなりません。 http://echo.5ch.net/test/read.cgi/tech/1140717775/521
522: デフォルトの名無しさん [sage] 2006/04/19(水) 22:48:02 じゃあバイナリにします。ありがとう。 http://echo.5ch.net/test/read.cgi/tech/1140717775/522
523: デフォルトの名無しさん [sage] 2006/04/20(木) 07:17:46 >>512 っ [ P. Wadler, Theorems for Free! ] http://echo.5ch.net/test/read.cgi/tech/1140717775/523
524: デフォルトの名無しさん [sage] 2006/04/20(木) 07:49:05 >>523 もちろん読んでる。Reynoldsも。 http://echo.5ch.net/test/read.cgi/tech/1140717775/524
525: デフォルトの名無しさん [] 2006/04/20(木) 21:16:08 もっと議論したまえ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/525
526:  ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ [sage] 2006/04/20(木) 23:12:51 ミ 二__, --、r'"___、 ヾ ト、::ヽ ミレ'"~,-,、 ! ! ' '" ̄ .ノ \ヾ:、 K/ー'~^~_/ ヽミ:ー‐‐'" ヽ i. !〉 ー―'"( o ⊂! ' ヽ Y_ i ,.:::二二ニ:::.、. l i .! :r'エ┴┴'ーダ !Kl .i、 . ヾ=、__./ ト= ヽ. :、 ゙ -―- ,; ,! \. :. .: ノ ヽ ヽ . . . . . .イ http://echo.5ch.net/test/read.cgi/tech/1140717775/526
527: デフォルトの名無しさん [sage] 2006/04/21(金) 19:26:11 過去ログ読まずに質問するですがHaskellで言語処理系実装するのってどんなメリットありますか? Microsoft Researchの人が書いてた埋め込み言語のコンパイラHaskellで書くとこんなにスゲェぜ! 風なペーパーを見掛けて気になってたんですが、どこで見掛けたのかすらわからなくなって もう気になって気になって・・・ +compiler +"in haskell" とかでググってもそれっぽいの出てこないし。あぁ気になる。 http://echo.5ch.net/test/read.cgi/tech/1140717775/527
528: デフォルトの名無しさん [sage] 2006/04/21(金) 19:42:51 Haskellはあらゆる開発であらゆる言語を遥かに凌駕するのは周知の事実。 だから言語処理系の実装も例外ではないというだけの話。 特にI/Oが比較的単純でロジックの実装に集中できるから得意中の得意といっていい。 http://echo.5ch.net/test/read.cgi/tech/1140717775/528
529: デフォルトの名無しさん [sage] 2006/04/21(金) 20:21:19 Haskellと比べれば他の言語は子供だまし。 あらゆる分野で断トツ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/529
530: デフォルトの名無しさん [sage] 2006/04/21(金) 20:35:17 学者もどきが礼賛してるただの 一風変わったオモチャだと思ってるけど違うの? http://echo.5ch.net/test/read.cgi/tech/1140717775/530
531: デフォルトの名無しさん [sage] 2006/04/21(金) 20:42:36 .NETに連携できればなぁ。グルーはC#でかくから。 http://echo.5ch.net/test/read.cgi/tech/1140717775/531
532: デフォルトの名無しさん [sage] 2006/04/21(金) 21:47:47 Haskell にも格好良い渾名がいるんじゃないだろうか。 http://echo.5ch.net/test/read.cgi/tech/1140717775/532
533: デフォルトの名無しさん [] 2006/04/21(金) 22:07:29 唯一Haskellに対抗できそうなのがC++ http://echo.5ch.net/test/read.cgi/tech/1140717775/533
534: デフォルトの名無しさん [] 2006/04/22(土) 09:47:58 「ふつうのHaskellプログラミング」マダー(AAry Racc本の青木峰郎さんに期待age http://echo.5ch.net/test/read.cgi/tech/1140717775/534
535: デフォルトの名無しさん [sage] 2006/04/22(土) 10:24:06 俺も入門Haskellが糞だったのでふつうのHaskellプログラミングに期待 http://echo.5ch.net/test/read.cgi/tech/1140717775/535
536: デフォルトの名無しさん [sage] 2006/04/22(土) 11:14:58 勝手にナイトメアHaskellにも期待 http://echo.5ch.net/test/read.cgi/tech/1140717775/536
537: デフォルトの名無しさん [sage] 2006/04/22(土) 16:41:51 haskellの悪夢か… プログラム中で定数として色々な計算に使っていた値(重力定数とか)を、 「コマンドラインの引数で値を指定できるようにして」といわれた時とか。 main以下のほぼすべての関数に、その値を表す引数を追加する (もしくはmonadを使ってその受け渡しをラップする)羽目に… こういう時だけは破壊的なMLが羨ましくなる。 http://echo.5ch.net/test/read.cgi/tech/1140717775/537
538: デフォルトの名無しさん [sage] 2006/04/22(土) 16:47:50 >>537 激しく同意。 パラメータつきモジュールみたいな言語要素が欲しい。 \(g :: Double) -> module Foo where ... http://echo.5ch.net/test/read.cgi/tech/1140717775/538
539: デフォルトの名無しさん [sage] 2006/04/22(土) 16:55:40 >>537→バグが増える http://echo.5ch.net/test/read.cgi/tech/1140717775/539
540: デフォルトの名無しさん [sage] 2006/04/22(土) 17:06:39 >>537 つ Implicit parameters http://echo.5ch.net/test/read.cgi/tech/1140717775/540
541: デフォルトの名無しさん [sage] 2006/04/22(土) 17:19:48 確かに他の言語ではあり得ないおぞましさがあるからな http://echo.5ch.net/test/read.cgi/tech/1140717775/541
542: デフォルトの名無しさん [sage] 2006/04/22(土) 17:54:26 実際 Haskell って「可変性」って観点からはどういう評価なん? http://echo.5ch.net/test/read.cgi/tech/1140717775/542
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 459 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s