1 名前:潜伏していた1 mailto:sage [02/02/16 16:55] 何とか生き残れました。 前スレ pc.2ch.net/test/read.cgi/tech/996131288/l50 関連 >>2 以降
600 名前:600 [03/04/08 17:22] でも、去年は April fool なかったみたい age
601 名前:山崎渉 mailto:(^^) [03/04/17 15:36] (^^)
602 名前:デフォルトの名無しさん [03/04/25 17:31] ホシュ
603 名前:デフォルトの名無しさん mailto:sage [03/04/27 01:31] このゴールデンウィークにでも勉強したいと思いまフ。
604 名前:デフォルトの名無しさん [03/04/27 05:18] これ、行列の対角化とかできますか?
605 名前:デフォルトの名無しさん mailto:sage [03/04/27 14:04] 対角化の計算を自分で書けばもちろんできる。 行列計算用のモジュールも公式サイトから辿れる。 あとはやりたい本人の裁量次第でいくらでも。
606 名前:デフォルトの名無しさん [03/04/27 17:03] >>605 アリガd
607 名前:デフォルトの名無しさん [03/04/27 21:58] 初期のhaskellはschemeで作られたって本当? 昔Yale大学のサイトになんか書かれてたけど。
608 名前:デフォルトの名無しさん mailto:sage [03/04/29 08:28] けど・・けど・・
609 名前:デフォルトの名無しさん [03/04/29 14:15] Common Lisp?
610 名前:動画直リン [03/04/29 14:26] homepage.mac.com/hitomi18/
611 名前:デフォルトの名無しさん [03/05/05 17:03] f x = let a = 1; b = c g y = exp2 in exp1 f x = let a = 1; b = c g y = exp2 in exp1
612 名前:デフォルトの名無しさん [03/05/14 12:10] 最強
613 名前:デフォルトの名無しさん mailto:sage [03/05/15 17:49] logoが変わった
614 名前:デフォルトの名無しさん mailto:sage [03/05/16 14:53] 前よりよくなったねえ
615 名前:デフォルトの名無しさん mailto:sage [03/05/16 14:58] そ…、そうか? かなりビミョーなデザインだと思うが。
616 名前:デフォルトの名無しさん [03/05/16 23:07] λの回りにゴミが付着してる様に見える
617 名前:デフォルトの名無しさん mailto:sage [03/05/17 00:44] :: = 静的型付け -> = 高階関数 ∀ = 多相 => = 型クラス >> = モナド つーことかいな。
618 名前:デフォルトの名無しさん mailto:sage [03/05/17 01:29] そう考えると凝ってるな
619 名前:デフォルトの名無しさん [03/05/20 07:11] 凝ってる、っつーか、まんまやん。
620 名前:デフォルトの名無しさん mailto:sage [03/05/22 16:57] CGAの話止まってるけど、なかなかまとまらんのかね。
621 名前:デフォルトの名無しさん mailto:sage [03/05/26 19:20] >>619 featuring static typing, higher-order functions, polymorphism, type classes and monadic effects にそれぞれ対応してるという解釈のようだけどそれ分かって言ってんの?
622 名前:山崎渉 mailto:(^^) [03/05/28 12:56] ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
623 名前:デフォルトの名無しさん mailto:sage [03/05/30 18:14] 結局、wxWindowsのバインディングで終わりそうな気配だな
624 名前:遅報 mailto:sage [03/06/02 00:56] ghc major version up
625 名前:デフォルトの名無しさん mailto:sage [03/06/02 06:41] 6.0の目玉はTemplateということになるのかな? www.haskell.org/ghc/docs/6.0/html/users_guide/template-haskell.html
626 名前:デフォルトの名無しさん mailto:sage [03/06/02 17:06] 教えて君で申し訳ないのですけど、他の関数型言語と比べて Haskell のどのあたりが (・∀・)イイ! or (゚д゚)マズー なのですか? できれば、いい面と悪い面の両方を聞いてみたいです。
627 名前:デフォルトの名無しさん mailto:sage [03/06/02 17:37] >>626 (・∀・)イイ! 実装がいくつかある。 (゚д゚)マズー 末尾再帰じゃない。
628 名前:デフォルトの名無しさん mailto:sage [03/06/02 17:45] ○:数少ない遅延評価な言語の一つ △:clean は遅延/正格の切替えができるらしいが、Haskellは…
629 名前:デフォルトの名無しさん mailto:sage [03/06/02 18:58] >>627 実装がいくつかある。 SchemeやSMLも実装はいくつかあるが。 個々の実装の間に互換性がなければ、却って混乱するのでは?
630 名前:Lazy eva. [03/06/02 21:31] call by need 必要なら呼んで
631 名前:デフォルトの名無しさん mailto:sage [03/06/02 21:39] >>627 >(゚д゚)マズー >末尾再帰じゃない。 lazyだと末尾の最適化はいらないんじゃなかった? おれが勘違いしてるのかも知れないけど
632 名前:デフォルトの名無しさん mailto:sage [03/06/03 10:04] (´-`).。oO( Haskell の (・∀・)イイ! 点がこの程度しか挙がらなくていいのだろうか)
633 名前:デフォルトの名無しさん mailto:sage [03/06/03 22:56] いいところ: 純粋な関数型言語 厳格な型チェック 比較的豊富なライブラリ 遅延評価 わるいところ: 遅い flatなarrayが無い
634 名前:デフォルトの名無しさん mailto:sage [03/06/07 03:00] スレの伸びが lazy ...
635 名前:デフォルトの名無しさん mailto:sage [03/06/07 23:24] >>634 …実はこのスレの定義は既にすべて準備されていて、誰かが問いを放つとレスが見えるようになる?
636 名前:デフォルトの名無しさん mailto:sage [03/06/09 12:38] Haskell: The Craft of Functional Programming これの新しいバージョンがでるっていううわさは本当なの? Ruby系サイトのどこかで書いてあった気がするのだけど。
637 名前:デフォルトの名無しさん mailto:sage [03/06/09 13:06] www.amazon.co.jp/exec/obidos/search-handle-form/249-3518664-2502769
638 名前:637 mailto:sage [03/06/09 13:07] あ、だめだった。Amazonで検索すれ。
639 名前:デフォルトの名無しさん mailto:sage [03/06/09 22:20] >>635 逆かも? 問いが放たれてから、必要に応じて定義を考える。
640 名前:デフォルトの名無しさん [03/06/11 00:32] 問に対して常に同じ答えが返ってきます。
641 名前:デフォルトの名無しさん mailto:sage [03/06/11 09:51] 文脈が変っていても同じ質問に対しては同じ答えが返ってきます。
642 名前:デフォルトの名無しさん mailto:sage [03/06/11 09:52] >>640 問いの系列がmonadな演算で関連付けられてるので、 単独の問いに対しては当てはまらないカモッ!
643 名前:デフォルトの名無しさん [03/06/12 18:05] >>641 それではガイシュツ処理が出来ませんので、 不具合発生です。
644 名前:モナd mailto:sage [03/06/16 12:58] ΛΛ (´d`) .。o〇(monad∈モナー?)
645 名前:デフォルトの名無しさん [03/06/17 18:46] モナドは、人間から見て、副作用を扱ってるコードとほとんど 同じように見える。 人間にとって副作用のあるコードと同じように見えてる とすれば、モナドって何の意味があるの? 人間が関数プログラミングしやすくするために副作用が 禁止されてるんじゃ無かったの?
646 名前:デフォルトの名無しさん mailto:sage [03/06/17 18:51] 「ある」と「あるように見えるけどない」は違うだろ…
647 名前:_ mailto:sage [03/06/17 18:53] homepage.mac.com/hiroyuki44/
648 名前:デフォルトの名無しさん [03/06/17 18:55] >>646 違うけど、プログラマから見て同じように見えてるんだったら プログラマにとっては同じでは? コンパイラにとっての意味しかないのですか?
649 名前:デフォルトの名無しさん mailto:sage [03/06/17 20:07] 関数型の場合、コンパイラにとっては「ない」方が都合がいいけど、 人間にとってはあなたの言う通りあるように見えた方が扱いよいわけだ。 で、「ない」ものをあるように見せるモナドは、便利ってことにならない? それならモドキじゃなくて本物の副作用を認めてもいいじゃんという話はまた別
650 名前:デフォルトの名無しさん [03/06/17 20:29] >>649 > 人間にとってはあなたの言う通りあるように見えた方が扱いよいわけだ。 それは関数プログラミングに反するから、関数プログラミング の立場から見た場合、扱いが良いとは言えないんじゃないですか?
651 名前:デフォルトの名無しさん mailto:sage [03/06/17 20:29] 話が逆なんじゃないか?モナドは副作用をわざわざあるように見せるためのものでもないだろう。
652 名前:デフォルトの名無しさん mailto:sage [03/06/19 21:09] a <- hoge ってやったら、あとは a は見るからに完全に副作用の無い 関数型プログラミングであつかうわけだから、 モナドがあるおかげで関数型の意味がなくなるなんてことは全然無い。 結局モナドって、 副作用や、コードを書いた時点では決まらないものを 普通の関数の引数なんかにつかって破綻するのをさけるために、 型の前にMとかつけてそのままじゃつかえなくする仕組みでしょう。
653 名前:デフォルトの名無しさん [03/06/24 08:16] 日本語扱えるhaskellの処理系ってありますか?
654 名前:デフォルトの名無しさん [03/06/24 09:06] いやらしいリンク集作った homepage3.nifty.com/coco-nut/
655 名前:デフォルトの名無しさん [03/06/26 07:32] Haskellはじめますた。 面白いですね〜 ・リストの内包表現に萌えた ・無限データ構造萌え numForm n = n : numForm (n+1) とか。 あるもんをあるように書いたらいいって言うのがすどい。 詳しい方々、わかんないことがあったら教えてください。 アフォなんですが何とかがんばって基本を理解してから、 モナドを通って詳しい皆さんのところにゆきつきますので。 いまは、組み込み関数?を調べるのに困ってたりします。 IntをDoubleに変換するのってどうするの? IntとIntegerの変換どうするんでうか? とか、わからん。 「**」が解らなくて困ってた事も。 (-1)で懲りて、あらゆるところに括弧つけまくりのコードを書いてたり。
656 名前:デフォルトの名無しさん [03/06/27 10:48] >>655 fromIntegral :: forall b a. (Num b, Integral a) => a -> b toInteger :: forall a. (Integral a) => a -> Integer fromInteger :: forall a. (Num a) => Integer -> a
657 名前:デフォルトの名無しさん mailto:sage [03/06/27 13:05] 今年もICFPの時期が来ましたがみなさんいかがお過ごしですか?
658 名前:デフォルトの名無しさん mailto:sage [03/06/28 13:34] >>655 $をつかうと f (g (h x)) みたいなのを f $ g $ h x とかけて括弧削減。
659 名前:デフォルトの名無しさん [03/06/29 21:21] 初心者質問いいですか? GHCで、API、例えばIsDBCSLeadByte Char -> Bool を使いたいと思ったらどうすればいいのでしょう
660 名前:貧乏脱出!これであなたはお金持ち mailto:sage [03/06/29 21:30] 普通に働いてお金持ちになれるのは全体の1%のみって本当!? 本当にお金持ちになるにはやはり「副収入」が必要! 一日30分 おうちでコピペ、コピペ! 嘘だと思うんならランキング見てみてくださいよ↓↓ (直リン不可) www.adultshoping.com/addclickport.cgi?pid=1053353765 (直リン不可) ///////.......///////////////////////////
661 名前:デフォルトの名無しさん mailto:sage [03/06/29 22:10] 誤解があるようだが、モナドは純粋な関数型言語が 手続き風にコードを書くためのシンタックストリックに過ぎない。 拡張でもなんでもない。 (もちろんシーケンシャルのオプションと使われることが多いわけだが)
662 名前:デフォルトの名無しさん [03/06/29 22:22] _,..............._,....... ,ノ⌒::::::::::::::::::::::::::::::::::::⌒ヽ_ _ノ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヾ、 (::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::) _ノ:::::::::::::::;ヘ::::::::::ノ⌒ヽ:::::::::::::::::::::::::::::::::) (::::::::::::::::::/  ̄ , ‐-、 |::::::::::::::::::::::::::::::::) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (:::::::::::::/ヽj _/ -‐-、 |::::::::::::::::::::::::::::::::) | トリックだ。 ):::::::::ヾllli_、_,;iiiillllllllli <::::::;へ:::::::::::::::::( | (::::::::::::/`i´ ,└=゚'┘ |::::| 6 |:::::::::::::::::::} < 副作用があるように見えているに `〜、 ゝ| _コ、_、 /|::::| ソ/::::::::::;〜" | 過ぎん。 ヾ|||ll|||||||||||l〉| 三ー'〜〜" | |||:二三|||| l ,三 ヽ、 \______________ |l ⌒ ||| :// ヽ=、-、_ |l、:( : : ||/ / ヽ, |  ̄\ /  ̄ / ノ / \
663 名前:デフォルトの名無しさん mailto:sage [03/06/29 22:37] サータン,サータン!
664 名前:デフォルトの名無しさん mailto:sage [03/06/30 00:06] ところで、日本語訳のページが見れなくないですか??
665 名前:デフォルトの名無しさん [03/06/30 02:53] >>659 わかるひといませんか〜
666 名前:デフォルトの名無しさん mailto:sage [03/06/30 07:59] >>664 www.sampou.org/haskell ならサーバマシンの調子が悪いそうです
667 名前:デフォルトの名無しさん mailto:sage [03/06/30 18:04] >>666 復活したようです。 >>665 いないんじゃないですか。人少なそうだし。 俺は、外界との繋がりはsystem :: String -> IO ExitCodeくらいしか知らない。
668 名前:659=665 mailto:sage [03/07/02 07:35] 検索の結果、MessageBoxを呼んでいる例は見つけました。(真似たらできました) でも、*.hiをバイナリ検索しても、IsDBCSLeadByteはインポートされて無いようです。 (CharNextとか、代用できそうなAPIも同様) これは、Haskellで全角文字を扱うなというお告げでしょうか…
669 名前:デフォルトの名無しさん mailto:sage [03/07/02 08:58] >>668 IsDBCSLeadByteってwindowsのAPI? そういうものはそのライブラリとリンクしてつかうんじゃないのかな。 haskellに入ってるわけがないというか。 www.haskell.org/libraries/ のInterfacing with other Languages and Systemsとか。
670 名前:デフォルトの名無しさん [03/07/02 13:46] >>668 >(真似たらできました) おー、あなたも私から見たらすどい。 よろしければ、MessageBoxを出すコードをこのスレに張って 共有していただければありがたいです。
671 名前:デフォルトの名無しさん mailto:sage [03/07/02 19:54] >>669 いや、GHC(Win版)には既にWin32 API(の一部)のHaskell用インポートが付いてるんですよ。 >>670 どーせ丸写しなので、いくらでも共有しましょう。 import Win32 main = messageBox nullHANDLE "Text" "Title" mB_OK たった二行。 コンパイル時に -package win32オプションが必要です。 (win32ディレクトリ以下はデフォルトでは見てくれないので) ↓見つけたページ www.haskell.org/pipermail/glasgow-haskell-users/2002-March/003110.html なお、同じようにしてMessageBeepを呼ぼうとしましたが、挫折中です。
672 名前:デフォルトの名無しさん mailto:sage [03/07/02 20:21] >>669 あ、でもリンク先のFFIとか使えばできそう?できるのか俺に? …ありがとうございます
673 名前:デフォルトの名無しさん [03/07/05 01:11] FranTkを使った事のあるかたは居られますか? 使おうとしたけど何だかよくわからんかった。(窓使いです)
674 名前:デフォルトの名無しさん mailto:sage [03/07/06 22:26] >659 ttp://www.sampou.org/haskell/report-j/basic.html >6.1.2 文字と文字列 >文字型 Char は列挙型のひとつで、16 bit の値からなり、Unicode 標準 [10] に準拠する。 Unicodeなので要らないのでは? ちゃんと実装されているならばだが。
675 名前:デフォルトの名無しさん mailto:sage [03/07/07 10:39] > ちゃんと実装されているならばだが。 内部ではUnicodeかもしれないけど、全角文字をgetCharで読むと二回に分けて来るんですよ…
676 名前:デフォルトの名無しさん mailto:sage [03/07/07 17:07] >>674 Unicodeとその(バイトでの)エンコーディングは別物だ。
677 名前:デフォルトの名無しさん mailto:sage [03/07/08 02:44] >>676 実際 I/O functionsがbyte読んでそれをかえすだけだから、 Charが16ビットである意味がないんだよな。 謎の設計。
678 名前:デフォルトの名無しさん [03/07/14 01:55] return () << [1,2,3] が [1,2,3] を返すのは何で? ()モナドの定義?
679 名前:デフォルトの名無しさん [03/07/14 01:56] ごめん。わかってると思うけど << じゃなくて >> の間違い
680 名前: mailto:sage [03/07/14 03:29] >>678 リストはモナドだから。
681 名前:デフォルトの名無しさん mailto:sage [03/07/14 03:58] そういや、漏れもIOモナドはちょっと分かったつもりだけど、 なんでリストがモナドなのがいまいちよく分からん。
682 名前:デフォルトの名無しさん mailto:sage [03/07/14 04:22] m がモナドのとき return () << m が m になるのはなんで? ()モナドの定義?
683 名前:デフォルトの名無しさん mailto:sage [03/07/14 04:29] また >> を間違えて << にしてまった 書いた後気づいたのだが return [3,4] >> [1,2] も [1,2] 返すのか () がポイントではなく return の方がポイントだった かきまぜてスマン
684 名前:デフォルトの名無しさん mailto:sage [03/07/14 04:42] return 1 >> [1,2] でも return 'a' >> [1,2] でも同じだな
685 名前:デフォルトの名無しさん mailto:sage [03/07/14 14:12] >>682 >>の型からわかる型推論。
686 名前:デフォルトの名無しさん mailto:sage [03/07/14 14:13] もっというと()はどのモナドでも返せる。
687 名前:デフォルトの名無しさん [03/07/14 18:52] getChar って結局何返すの? 参照透明性からいって 'a' が入力されたからといって IO 'a' が返るわけじゃないんだよね たびたび出る話題でスマンが毎回納得にいたらない
688 名前:デフォルトの名無しさん mailto:sage [03/07/14 19:05] IO
689 名前:デフォルトの名無しさん mailto:sage [03/07/14 19:27] >>687 意味不明。IO Charだけど?
690 名前:デフォルトの名無しさん mailto:sage [03/07/14 20:13] >>687 強いて言えば IO 'a'だろうが、それで参照透明性に何の問題が?
691 名前:デフォルトの名無しさん [03/07/14 22:08] そもそもモナドを理解するのにIOモナドから入る,っていうのが間違っている という気がする.モナドを理解するためには,次の論文を読むのが吉かと. Wadler, P. : Monads for functional programming
692 名前:デフォルトの名無しさん mailto:sage [03/07/14 22:22] >>691 www.research.avayalabs.com/user/wadler/topics/monads.html ここにあるやつ?
693 名前:デフォルトの名無しさん [03/07/14 23:45] >> 692 そうそう.
694 名前:デフォルトの名無しさん [03/07/15 00:39] 関数型では同じ関数なら何回呼んでも同じ値が返る建前では 実は暗黙のworldが渡されていて暗黙の新しいworldも返されている?
695 名前:デフォルトの名無しさん mailto:sage [03/07/15 00:47] モナドって、食べ物じゃなかったのか。
696 名前:デフォルトの名無しさん [03/07/15 01:05] 理解するのに論文を読ませる必要がある事自体に 何か問題があるような気もするがー。
697 名前:デフォルトの名無しさん mailto:sage [03/07/15 01:28] 今印刷して読んでます…辞書片手に…どなたか、厨房向けに噛み砕いて説明してホスィ
698 名前:デフォルトの名無しさん [03/07/15 01:31] >>697 _,..............._,....... ,ノ⌒::::::::::::::::::::::::::::::::::::⌒ヽ_ _ノ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヾ、 (::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::) _ノ:::::::::::::::;ヘ::::::::::ノ⌒ヽ:::::::::::::::::::::::::::::::::) (::::::::::::::::::/  ̄ , ‐-、 |::::::::::::::::::::::::::::::::) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (:::::::::::::/ヽj _/ -‐-、 |::::::::::::::::::::::::::::::::) | トリックだ。 ):::::::::ヾllli_、_,;iiiillllllllli <::::::;へ:::::::::::::::::( | (::::::::::::/`i´ ,└=゚'┘ |::::| 6 |:::::::::::::::::::} < 副作用があるように見えているに `〜、 ゝ| _コ、_、 /|::::| ソ/::::::::::;〜" | 過ぎん。 ヾ|||ll|||||||||||l〉| 三ー'〜〜" | |||:二三|||| l ,三 ヽ、 \______________ |l ⌒ ||| :// ヽ=、-、_ |l、:( : : ||/ / ヽ, |  ̄\ /  ̄ / ノ / \
699 名前:デフォルトの名無しさん mailto:sage [03/07/15 06:43] >>682 return () >> [1,2,3] 後ろがリストなので、これはリストモナド returnを外して、>> を >>= に変換すると、 [()] >>= (\x -> [1,2,3]) 前のリストの要素それぞれに対して後ろの関数を呼んで、その結果を連結したものがこの式の値なので、 (\x -> [1,2,3]) () [1,2,3]
700 名前:デフォルトの名無しさん mailto:sage [03/07/15 08:15] >>694 その通り。IO a はHaskellの側から見ると、 data IO a = IO (World -> (a, World)) このような構造になっていて、実行結果がIOだった場合に、表示する前にWorldが渡されて実行される。 実際はそんな面倒なことしていないと思うけどね。