[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
463: デフォルトの名無しさん [sage] 2011/11/11(金) 00:32:29.31 >>462 絡むんじゃなくて、こうだから、間違いって指摘しろよ 時間の無駄 http://echo.5ch.net/test/read.cgi/tech/1317958045/463
464: デフォルトの名無しさん [sage] 2011/11/11(金) 00:42:49.60 それこそ beki n = beki' n 2 http://echo.5ch.net/test/read.cgi/tech/1317958045/464
465: デフォルトの名無しさん [sage] 2011/11/11(金) 00:47:17.39 書き損じ・・・ それこそ beki n = beki' n 2 where beki'::double->Int->double beki' n m = n^m なら、ちゃんとn^2そのものを書く前に2の型も決められるしな (さすがに、こんな反論もどうかと思うが) http://echo.5ch.net/test/read.cgi/tech/1317958045/465
466: デフォルトの名無しさん [sage] 2011/11/11(金) 00:49:18.12 要するに型を書けば解決する話。 先に書くか後で書くかは無関係ですな。 http://echo.5ch.net/test/read.cgi/tech/1317958045/466
467: デフォルトの名無しさん [sage] 2011/11/11(金) 03:36:49.91 c言語でのint (*)[4]型っぽいものをhaskell的に表現する場合、 * = Pointer, [] = Array4, int = Intと置き換えて、 Pointer (Array4 Int Int Int Int)とでも書けるんだろうけれど、 int (*)[100]型とかになってくるととても書いていられない。 何か上手い方法はないだろうか。 用途ねーだろって突込みは無しで。 http://echo.5ch.net/test/read.cgi/tech/1317958045/467
468: デフォルトの名無しさん [sage] 2011/11/11(金) 08:48:39.45 >>467 コード生成じゃ駄目? http://echo.5ch.net/test/read.cgi/tech/1317958045/468
469: デフォルトの名無しさん [sage] 2011/11/11(金) 08:49:33.54 Data.Arrayってそういうのじゃないの?使ったことないけど。 http://echo.5ch.net/test/read.cgi/tech/1317958045/469
470: デフォルトの名無しさん [sage] 2011/11/12(土) 01:01:56.40 reactive-glutを試そうとしたら依存パッケージのcategory-extrasがインストールできなかった。 out of dateなパッケージかどうかすぐに分かる手段ってあるのかな。 http://echo.5ch.net/test/read.cgi/tech/1317958045/470
471: デフォルトの名無しさん [sage] 2011/11/12(土) 08:11:04.13 ListはもうEducationalモジュールに引っ越せ http://echo.5ch.net/test/read.cgi/tech/1317958045/471
472: デフォルトの名無しさん [sage] 2011/11/12(土) 12:18:07.24 >>471 引っ越したとして、代わりに何を標準ライブラリに入れるの? 今までの List と互換が無ければ今まで作ってきた資産が死ぬし、 さもなければ互換性を捨ててでも入れる大きなメリットがあるものじゃないと http://echo.5ch.net/test/read.cgi/tech/1317958045/472
473: デフォルトの名無しさん [sage] 2011/11/12(土) 15:32:33.20 haskellはrubyと比べてダメな言語。 http://d.hatena.ne.jp/mizon9/20111112/1321046483 http://echo.5ch.net/test/read.cgi/tech/1317958045/473
474: デフォルトの名無しさん [sage] 2011/11/12(土) 15:49:26.84 >>473 こういう総合的使い勝手に関して 関数型言語は時の洗礼を十分に勝ち抜いてはいないと思う 当面C#からF#を操作すればいいと思うしまだまだ本格使用はしない http://echo.5ch.net/test/read.cgi/tech/1317958045/474
475: デフォルトの名無しさん [sage] 2011/11/12(土) 15:49:41.43 >>473 そこで挙げられてる事に関しては俺もそうだと思う。 回避策はあるにはあるけど、いつも使える訳じゃないし。 http://echo.5ch.net/test/read.cgi/tech/1317958045/475
476: デフォルトの名無しさん [sage] 2011/11/12(土) 15:57:09.17 >>473 名前空間の問題はasでimportすれば解決するんじゃ? module が抽象化の単位だから module毎に名前空間を設定できればいいわけだし 操作とデータ型の分離はいわゆるexpression problemによくあるトレードオフそのもので どっちがいいとかじゃないと思う 分離してmoduleで管理でいいと思うけど class前提の人には受け付けないのか http://echo.5ch.net/test/read.cgi/tech/1317958045/476
477: デフォルトの名無しさん [sage] 2011/11/12(土) 15:59:22.58 >>473 SMLならモジュールで名前空間を実現しているから uri.schemeやuri.pathみたいに書けて、Rubyと遜色ない Haskellって大規模開発には適していないのかな? http://echo.5ch.net/test/read.cgi/tech/1317958045/477
478: デフォルトの名無しさん [sage] 2011/11/12(土) 16:07:36.78 Haskellわかってないやつが批判してるってのは理解できた http://echo.5ch.net/test/read.cgi/tech/1317958045/478
479: デフォルトの名無しさん [sage] 2011/11/12(土) 16:19:42.77 名前についてHaskellよりRubyの方がうまくやってるのはその通りだな qualifiedでインポートしても結局修飾しなきゃいけなくて、.fooで済むオブジェクト指向言語には負ける それ以外の点は的外れだと思った 関数の部分適用とsetterはまるで別物だし、パターンマッチはかっこいいifじゃないし、 高階関数の「固まり」を苦労して扱わなくて済むのはそれだけで利点だし http://echo.5ch.net/test/read.cgi/tech/1317958045/479
480: デフォルトの名無しさん [sage] 2011/11/12(土) 16:23:39.76 >>477 そのuri.schemeのuriってモジュール名?そうならRubyと遜色ないとは言えないだろ Ruby(や他のオブジェクト指向言語)はモジュールで修飾する必要がないのが自慢なんだから http://echo.5ch.net/test/read.cgi/tech/1317958045/480
481: デフォルトの名無しさん [sage] 2011/11/12(土) 16:24:46.65 >>477 バイナリ互換性が糞だからな それが一番大問題だと思う 名前空間は一長一短だろ、エディタでの補完考えるとhaskellみたいに関数名で完結してたほうが良い http://echo.5ch.net/test/read.cgi/tech/1317958045/481
482: デフォルトの名無しさん [sage] 2011/11/12(土) 16:27:49.15 補完は静的であれば何でもいけるんじゃないかと http://echo.5ch.net/test/read.cgi/tech/1317958045/482
483: デフォルトの名無しさん [sage] 2011/11/12(土) 16:28:53.90 http://hackage.haskell.org/trac/haskell-prime/wiki/TypeDirectedNameResolution これがあれば短い名前を使って衝突しても解決してくれるという触れ込みだけどどうなんだろう 個人的には曖昧エラーの山になりそうだと思うんだが SPJは使いものになると考えてるらしい http://echo.5ch.net/test/read.cgi/tech/1317958045/483
484: デフォルトの名無しさん [sage] 2011/11/12(土) 17:07:16.80 >>480 SMLなら、open uri と宣言すれば、Rubyと同じように修飾を省略できるよ Haskellはできないの? http://echo.5ch.net/test/read.cgi/tech/1317958045/484
485: デフォルトの名無しさん [sage] 2011/11/12(土) 17:09:09.99 >>481 >名前空間は一長一短だろ、エディタでの補完考えるとhaskellみたいに関数名で完結してたほうが良い まるでイソップ童話の「酸っぱいブドウ」みたいだ.... http://echo.5ch.net/test/read.cgi/tech/1317958045/485
486: デフォルトの名無しさん [sage] 2011/11/12(土) 17:11:25.72 >>484 できるけど、名前が衝突しない場合に限る。これはSMLも同じだよな? Haskellで短かい名前を多用すると、けっこう頻繁に衝突して、けっきょく修飾インポートするはめになる Rubyだとメソッド名はグローバルじゃないので衝突を気にする必要すらない http://echo.5ch.net/test/read.cgi/tech/1317958045/486
487: デフォルトの名無しさん [sage] 2011/11/12(土) 17:16:42.29 >>486 >これはSMLも同じだよな? いや、ゼンゼン(理由は下記を参照) >Haskellで短かい名前を多用すると、けっこう頻繁に衝突して、 ナゼこんなことが起きるの? SMLなら名前空間は(Rubyと同じように)階層化されているから、 適切にモジュール設計していれば、衝突なんて全く気にならないんだけど.... もしかしてHaskellの(モジュールに関する)名前空間というのは フラット(平坦)なの? http://echo.5ch.net/test/read.cgi/tech/1317958045/487
488: デフォルトの名無しさん [sage] 2011/11/12(土) 17:21:06.02 >>485 >>481は関数名しか補完してくれないテキストエディタしか使ったことが無いのかもしれない。 型を認識するIDEを使ったことがあれば、こんな発想にはならないだろ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/488
489: デフォルトの名無しさん [sage] 2011/11/12(土) 17:23:06.27 >>487 Haskellの名前空間はフラットだよ 階層化されているから名前が衝突しないってのが良く分からん 実例かポインタある? >SMLなら名前空間は(Rubyと同じように)階層化されているから、 Rubyで衝突を気にしなくていいのはメソッド名の解決に型情報を使う (正確にはレシーバがメソッド名を実行時に解釈する)からであって、 階層化うんぬんは関係なくね? http://echo.5ch.net/test/read.cgi/tech/1317958045/489
490: デフォルトの名無しさん [sage] 2011/11/12(土) 17:25:14.72 >>487 > もしかしてHaskellの(モジュールに関する)名前空間というのは > フラット(平坦)なの? どういうのをフラットと言うのか分からんが、 俺が Haskell のモジュール関係で不満なのは次のことができない事 AAA.BBB.CCC.DDD というモジュールがあったとして、 モジュール AAA.BBB をインポートして CCC.DDD.fff で関数 fff を使う事 関数 fff を使いたかったらモジュール AAA.BBB.CCC.DDD をインポートしないといけない http://echo.5ch.net/test/read.cgi/tech/1317958045/490
491: デフォルトの名無しさん [] 2011/11/12(土) 17:36:29.05 すいません、Haskell初心者で オライリーのプログラミング言語Haskellを買ってきたのです プログラムをかきながら本を進めていくと 後半からimportできないモジュールばかりになるのですが… 環境はWindowsでGHC6.4.1ですが、CentOSでGHC6.10.4でもダメなので 単純に環境問題ではない気がするのですが… http://echo.5ch.net/test/read.cgi/tech/1317958045/491
492: デフォルトの名無しさん [sage] 2011/11/12(土) 17:42:05.24 >>489 >実例かポインタある? 階層化されたディレクトリの無いファイルシステム(CP/Mや初期のMS-DOS) 過去の階層化されていないWindows Network(NetBIOS) 名前の衝突回避と階層化との関連はコンピュータ科学の知識があれば常識だよ >階層化うんぬんは関係なくね? Rubyのインスタンスメソッドについては、その通りだね。 ただし、Rubyにはクラスメソッドあるいはモジュール関数という概念がある。 これらのメソッドは(実際の実行は動的であっても、)構文上は静的に解釈できる。 ここで、M::N::O.func と M::N.func は同じモジュール関数名 func を使っているけど、 それぞれ名前空間が M::N::O と M::N とで異なっているから静的に区別できる。 http://echo.5ch.net/test/read.cgi/tech/1317958045/492
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 486 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s