1 名前:デフォルトの名無しさん [2012/10/17(水) 08:08:28.97 ] haskell.org ttp://www.haskell.org/ 日本語サイト ttp://www.sampou.org/cgi-bin/haskell.cgi ttp://www.shido.info/hs/ 過去ログ 関数型プログラミング言語Haskell Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/ Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/ Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/ Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/ Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/ Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/ Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/ Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/ Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/ Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/ Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/ Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/ Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/ Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/ Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/ Part17 ttp://toro.2ch.net/test/read.cgi/tech/1325510368/ Part18 ttp://toro.2ch.net/test/read.cgi/tech/1331902463/ Part19 ttp://toro.2ch.net/test/read.cgi/tech/1340760070/
92 名前:デフォルトの名無しさん [2012/10/24(水) 20:45:05.32 ] ifも式、letも式。ではwhereは式?
93 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 20:53:26.27 ] そもそも式以外の文がないってどこ情報よー
94 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 20:57:36.06 ] >>83 ただちに書かなくていいことは後で書く テスト駆動も、制約に合わせて書くというより 関係ないコードを書かないことで間違いを減らしている気がする
95 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:04:30.70 ] >>83 好きにすればいいと思うけど、俺の基準を挙げるなら、 トップレベルの定義は先に思い付いた方から書く ・普通は型の方が簡単なので型から書くことが多い -- | 標準正規分布に従う乱数を生成する randomNormal :: StdGen -> (Double, StdGen) ・定義が頭にあるのに型がすぐに思い付かないor面倒なら定義から forceTell x = rnf x `seq` tell x forceTell :: (MonadWriter w m, NFData w) => w -> m () ローカル変数は定義から書く。型は必要なときだけ後から書く
96 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:06:43.98 ] >>92 そもそも、「式」とは何? それをはっきり定義しないと、where が式なのかどうか判断できないだろ
97 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:10:37.15 ] Haskell Reportの言葉遣いに従うなら簡単 ・whereは式じゃない。宣言やcase選択肢の一部 ・Haskellに「文」は存在する。do式の中に並んでいるのがそれ
98 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:14:38.02 ] 俺はグローバルでもローカルでも型から先に考えるな。 書くかどうかは気分(ローカルで型推論がうまく働かなきゃ書く)。 >>80 の型から先に書くというのは、そういう意味で俺は無意識に拡大解釈したけど、 例に出したテスト駆動の方は実際に書かなきゃ意味ないなぁ、どうなんだろ。 (テスト駆動の方も、コードの内容よりテストから先に「考える」と言えばそうだろうが)
99 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 22:07:48.31 ] where は節 SQLなら
100 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 23:39:27.46 ] tail は確かに List にも Vector にもあるから Ambiguous かも知らんけどさ 渡してるのが Vector なんだから Vector の方の tail だって推測してくれても良いんじゃないの? 分からず屋!
101 名前:デフォルトの名無しさん mailto:sage [2012/10/26(金) 07:50:23.40 ] 実行時間計測用コマンド作ってみた 良かったら使ってください (ネットで都合良く使えそうな関数見つけて、Cで良いのに意地になって作っちゃった) import Data.Time import System.Process import System.Environment import System.IO main = getCurrentTime >>= (\start -> getArgs >>= (\commands -> runInteractiveProcess (head commands) (tail commands) Nothing Nothing >>= (\(_,stdout,_,_) -> hGetContents stdout >>= putStrLn >> getCurrentTime >>= (\end -> print $ diffUTCTime end start))))
102 名前:デフォルトの名無しさん mailto:sage [2012/10/26(金) 16:32:06.34 ] 日記
103 名前:デフォルトの名無しさん mailto:sage [2012/10/26(金) 18:12:19.85 ] >>100 その機能をうまく(型推論の便利さをあまり犠牲にしないで)実装できたらすごい 俺は尊敬するし、論文も書ける
104 名前:デフォルトの名無しさん [2012/10/26(金) 18:48:34.11 ] MSがはやく Visual Haskel/CLI 出してくれればいいのに
105 名前:デフォルトの名無しさん mailto:sage [2012/10/26(金) 18:55:32.06 ] 関数型はF#とpythonが既にあるからねぇ。
106 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 00:05:49.70 ] MSRにGHCメイン開発者いるけど学者としての活躍が使命でMS製品に反映させなくていい人たちだったとおもうので、 IronPythonみたいに外部か開発部署に物好きがいないとむずかしいかもね。 どちらかというとF#の人たちがどういうポジションなのか気になる。
107 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 08:22:56.10 ] これ、買いですか? 関数プログラミング入門 Haskellで学ぶ原理と技法|Ohmsha ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06896-6
108 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 15:32:25.90 ] >>103 どうしてだよ! 手続き型言語によくあるオーバーロードだろ できないのかよ!
109 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 15:51:33.66 ] >>107 特徴 ・コンピュータサイエンスっぽいノリ。関数型プログラミングを 数学の一分野として位置づけて証明をつけたりするような議論がある。 副題に「原理と技法」とあるのは適切だと思う。Haskellってリスト内包表記で 無限リストがあっさり扱えたりする反面、自分が書いたコードが本当に効率が良いのか わかりにくいところがある。この本では、コードの効率を手で分析してみせてる箇所があり、 そのような議論を丁寧に追って自らの血肉にできれば有益だと思われる。 ・モナドの説明は想像していたよりあっさりしていた。 コンピュータサイエンス寄りの本とは言え、突如領域理論や圏論で読者を打ちのめす心配は一切ない。 ・Haskellという言語自体の入門書にもなっているが、この本をHaskell入門書として紹介するのは SICPをScheme入門書として紹介するのと同じぐらいには間違っていると思う。 ・すでに訳出されている fun of programming (関数プログラミングの楽しみ) はこのBirdの本の 「続編」という位置づけであり、その本の中でIFPHでは〜のような言及がしばしばあるので 「関数プログラミングの楽しみ」を楽しむためにはこの本も持っていたほうが良い。 まとめ 「関数プログラミング入門 Haskellで学ぶ原理と技法」はHaskellをとりあえず使ってみたいという 人には向かない。そのような向きには「すごいHaskell〜」を勧める。この本は、ある程度Haskellで 自分が書きたい関数を書けるようになり、効率の問題に直面しはじめた人にこそ向いていると思う。 どのようにデータ構造を工夫し、アルゴリズムを解析し、改良するかについての実例が載っており、 これらの技法を身につければ --- 簡単ではないだろうが --- より整然とした、そして効率の良い Haskellコーディングができるようになるだろう。
110 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:00:48.36 ] 自分もその本、気になってた。くわしい解説ありがとう! 「関数プログラミングの楽しみ」の前に読むといいのか、なるほど
111 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:04:25.82 ] 以前原著買おうとしたけどいいお値段しててやめちゃったな オーム社さんいい仕事してくれるぜまったく
112 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:07:22.18 ] 大武者
113 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:11:44.56 ] pdfで出してくれー
114 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:28:23.24 ] tanakh.jp/pub/fp-tudoi-2012/tudoi.html すごい本のPRスライドがあった。
115 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:32:35.34 ] みんなhaskellでなにかいてるの?
116 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 17:49:22.15 ] 続編を買って読んでいて、前編を欲してる人に是非おすすめ、という感じか
117 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 18:24:16.32 ] なんせ「関数プログラミングの楽しみ」ではモナドの話はIFPHの11章を見てもらうことにしてここではArrowの説明するぜ! というノリだからね。 続編というか、IFPHを前提というかそういう感じかな。
118 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 18:31:34.04 ] こういう本ってすぐ絶版になったりするから すぐ読まないにしても確保しといたほうが良さそうだな
119 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 20:24:43.91 ] >>118 そsそうなの!? 関数プログラミングの楽しみとセットですぐ買おうかな
120 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 20:53:45.01 ] ghc 7.6.1 で foreign import stdcall 使うと警告が出る。 the 'stdcall' calling convention is unsupported on this platform, treating as ccall これはどういう事? ccall が実際にどういう規約なのかよく分からんけど、 もし ccall == cdecl なら、ccall /= stdcall だよね。
121 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 21:00:58.85 ] >>107 って目次を見ると、どっかで読んだような話ばっかだよな もうこの手の本はお腹いっぱいだわ
122 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 22:57:24.33 ] >>120 これじゃね > When compiling for the x64 architecture in a Windows context (whether using > Microsoft or non-Microsoft tools), there is only one calling convention ? the > one described here, so that stdcall, thiscall, cdecl, fastcall, etc., are now all one and the same. en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions
123 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 23:35:53.71 ] >>122 なるほど。 x64 & Windows では呼び出し規約は1種類に統一されたのか。 外部ライブラリを呼ぶ時も、呼び出し規約は何だろうと ヘッダファイルを調べたりする必要がなくなるわけだ。 こりゃ便利。 ありがと。
124 名前:デフォルトの名無しさん mailto:sage [2012/10/28(日) 09:29:26.53 ] >>109 d すごく参考になった。
125 名前:デフォルトの名無しさん mailto:sage [2012/10/28(日) 10:06:10.47 ] IFPHは完全にコンピュータサイエンスの本だから、プログラミングの本だと思って買うとがっかりするぞ
126 名前:デフォルトの名無しさん mailto:sage [2012/10/28(日) 10:17:23.02 ] SICPをScheme入門書として紹介するのと同じぐらい〜って表現がぴったりだな
127 名前:デフォルトの名無しさん mailto:sage [2012/10/29(月) 03:17:32.09 ] Vectorの変更不可の方は sliceなんかするとC++でいうところの参照のベクタになるってことでいいすか? 中身のコピーはしないんですよね?
128 名前:デフォルトの名無しさん mailto:sage [2012/10/29(月) 07:28:07.96 ] >>127 vector パッケージのドキュメントには、 Data.Vector.slice の項に次のように書かれています。 O(1) Yield a slice of the vector without copying it. The vector must contain at least i+n elements. もしコピーされているようなら、それはバグですね。
129 名前:Perl忍者 ◆M5ZWRnXOj6 [2012/10/29(月) 09:47:53.39 ] pbh.jp/wiz/ ↑ これ解けないやつは真骨頂にクズ ハッカーをを名乗る価値無し 海外からNinjaレベルと言われるほどの者なら簡単に解くことができる 解いてみてみ? 合ってるか確認してやるから SHA-1とか総当りとかほざいてるようじゃ脳味噌足りてないよ ホワイトハット気取りのお前らクズじゃJarlsbergすら解けないんだろうな
130 名前:デフォルトの名無しさん mailto:sage [2012/10/29(月) 12:36:11.29 ] >>128 ですおね^^
131 名前:デフォルトの名無しさん [2012/10/30(火) 11:10:57.70 ] 政治学習
132 名前:デフォルトの名無しさん mailto:sage [2012/10/31(水) 21:36:04.82 ] 噂の『関数プログラミング入門』を買った カバーデザインがポップでありながら品があって良い 組版もプログラミングHaskellと同じものなのですっきりしていて気が散らない Haskellのコードに使われる等幅フォントが縦長窮屈でなく読みやすい 製本は流行りのlay-flatタイプの綴じ込みでこのへんもぬかりない なかみはむつかしくてよくわからなかった
133 名前:デフォルトの名無しさん mailto:sage [2012/10/31(水) 22:45:09.39 ] >>132 > なかみはむつかしくてよくわからなかった 一番感じなところだが・・・
134 名前:デフォルトの名無しさん mailto:sage [2012/10/31(水) 22:46:57.40 ] 肝心なところ
135 名前:デフォルトの名無しさん mailto:sage [2012/10/31(水) 22:58:59.04 ] カバーデザインが非常に洗練されている「関数プログラミングの楽しみ」の前編に相当するとのことなので、 やはりデザインはいいんだな
136 名前:デフォルトの名無しさん mailto:sage [2012/10/31(水) 23:54:48.87 ] この本開きやすいよな フルフラット製本って言うらしいけど
137 名前:デフォルトの名無しさん mailto:sage [2012/11/01(木) 05:42:51.18 ] フルスロットル製本に空目した
138 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 02:24:17.75 ] RWHより簡単かどうかだけ知りたい
139 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 12:11:09.02 ] 諸君、議論がお留守だ
140 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 13:45:46.44 ] >>7 ほんとにjsやpythonってそんなひどいん?
141 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 14:04:31.23 ] >>7 ■Objective-C for (id num in @[@1,@2,@3,@4,@5]) printf("%d\n", [num intValue]); または for (id num in @[@1,@2,@3,@4,@5]) NSLog(@"%@", num);
142 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 14:17:55.79 ] Pythonでリスト内包表記使ってないのは不公平だな ■Python [x*2 for x in range(1,6) if 2<x<5]
143 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 15:31:54.92 ] >>7 て一番酷いのはHaskellだろ こんな阿呆なコード書くやつ居ないよ
144 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 15:33:46.22 ] 畜生、Vectorにnub無いのかよ
145 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 19:20:30.90 ] nub って何?
146 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 19:20:48.30 ] >>7 って [1, 2, 3, 4, 5] みたいなリストを用意するのがルールじゃないの? range とか 1..5 はだめだろ
147 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 20:48:54.42 ] Conal Elliott のブログの写真って、最近変わった? つい最近まで正面を見てなかったっけ まぁ、どうでもいいが この素敵なおっさん、いつになったらブログ更新するんだろ
148 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 00:05:40.15 ] >>138 RWHは泥臭く実例を追う実用主義。BirdのIFPHは、理論的な側面を強調している。 無限リストの挙動がなんでそーなるの的な数学的原理なんかはIFPHが優れてるし 画像を扱ってバーコードリーダー作るぜ⇒大量のボイラープレート⇒それモナドでまとめられるよ なんて話はRWHの優れたところだ。 コンピュータサイエンス(数学寄り)の素養があるならIFPHが簡単だろうし CとかPerlは実戦でつかえるけど理論には興味ないしそれでも関数型使ってみたいならRWHが向いてる。
149 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 00:11:37.14 ] モナド変換子を解説してる日本語書籍がRWHしか無くないかね? 現実的にHaskellを使いこなすにはモナド変換子の理解が必須だと思うのだけど
150 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 00:27:58.18 ] >>149 IFPHの10.4でモナド変換子の説明が載ってますぞ〜 例外の複合、状態の複合を例として説明し、最後にそれらを応用してますぞ〜
151 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 00:38:59.61 ] それならちょっとIFPH立ち読みしてくるかなあ よさそうなら関数プログラミングの楽しみと一緒に買ってしまうか 関数プログラミングの楽しみの方は、いつかじっくり読みたいなとは思ってたんだ
152 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 00:48:45.35 ] 丁度昨日IFPHと関数プログラミングの楽しみ併せて買ってきたわ 読みたい時に手に入らないとかありがちだからなー
153 名前:デフォルトの名無しさん [2012/11/03(土) 04:55:02.03 ] >>145 リストの重複要素を省く
154 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 12:08:13.58 ] >>153 ありがと
155 名前:デフォルトの名無しさん [2012/11/03(土) 18:50:29.18 ] モナドって、IO、継続、Stateなどの副作用系から、LISTや冪集合などの 数学系に至るまで、適用範囲がすごく幅広いのだが、これはどうしてだろうか? これだけ幅広くても、モナドとは何かを言えるものだろうか?
156 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 18:53:32.65 ] またモンゴロイドが疑問を抱いてるようです
157 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 18:57:39.06 ] >>155 関数ほどは幅広くはないよ でも関数とは何かを言えるものだろうかなんて誰も疑問に思わないな
158 名前:デフォルトの名無しさん [2012/11/03(土) 19:22:34.41 ] >>157 関数。たしかにそうだけどね。 モナドは中途半端に幅広い、と言うとどうかな。 関数の場合は、モナドのような分類(IO、State、...)はしないよね。 しかもこの分類はアドホックな分類にも見えるし。
159 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 19:45:48.97 ] >146 >7のClojureはrange使ってるよ
160 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 19:51:21.33 ] >>155 Prologは副作用系と数学系を区別してなかったのだが Haskellはいったん副作用系と数学系を対立させ、再び統一するためにモナドを発明した
161 名前:デフォルトの名無しさん [2012/11/03(土) 20:43:47.80 ] >>160 うん。そのとき、たとえば、IO a とList a における IOとListには、 どちらも型構成子であるという共通性はあるが、それ以外の共通性は 感じ取れないんだ。さらにいうと、List aの方はaの自然な拡張だと すんなり納得できるが、IO aの方は、aとIOの強引な組合せとしか 見えないんだ。
162 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 20:58:35.33 ] >>159 前スレのテンプレを見てもらえばわかるがrangeとか1..5とか使ってないのよ だから元々そういう縛りがあったんだろう
163 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:01:56.52 ] あれはテンプレじゃなく前スレで勝手にぶっこまれただぞ
164 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:09:19.21 ] >>163 それは失敬 でもテンプレ化するならそれなりにルールを決めないとだめだよね
165 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:10:54.68 ] >>161 お前には感じ取れなくてもListとIOには共通性があって その共通性に基づいてるのがモナドなんだな
166 名前:デフォルトの名無しさん [2012/11/03(土) 21:11:34.99 ] え聞こえないとかありがちだからなー
167 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:15:23.85 ] 「感じる」とはまた曖昧で主観的な・・・
168 名前:デフォルトの名無しさん [2012/11/03(土) 21:28:01.97 ] >>165 >ListとIOには共通性があって どういう共通性?
169 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:29:04.57 ] モナドとは、モナド則を満たすような(>>=)とreturnを定義できる型構築子のこと 逆に、ある型構築子に対してモナド則を満たすような(>>=)とreturnを定義できるならそれはモナド
170 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 21:35:43.05 ] IOとかListとかが実際に果たす役割はどうでもよくて、共通する構造によって表現可能ってことだから 関数よりむしろモナドのほうが広いとも言える
171 名前:デフォルトの名無しさん [2012/11/03(土) 21:43:13.59 ] >>169 むしろ、IOとListとが同類にみえるようなモナド則は実はナンセンスなのじゃ ないかという疑問なのだが? >>170 さすがにそんなことはないだろう。
172 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:04:53.50 ] >>169 そのような性質を持つものにモナドという名前を与えた背景の方が興味あるな
173 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:05:36.02 ] >>171 モナド則なんてなくても、Prologでは副作用と非決定性は同類に見えていた
174 名前:デフォルトの名無しさん [2012/11/03(土) 22:15:51.32 ] >>172 お察しの通り、モノイドとの類似性から >>173 非決定性が副作用の一部というなら分かるが、同類というのは分からん。 Prologの何のことを言ってる?
175 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:22:16.53 ] 非決定性と副作用を同類に扱う手法のひとつがモナドだよね?Prologには何かそれに代わる物がある?
176 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:23:16.60 ] >>171 ナンセンスとか言っても現実にリストとIOは同じモナドの概念でまとめられるので、 まとめられる以上それを別のものにする理由が無い
177 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:29:00.77 ] IOはRealWorldを状態に持つStateモナドのようなものだってことは理解してる?
178 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:36:14.23 ] Prolog: 非決定性は副作用の一部 (>>174 ) Haskell: 非決定性はモナドの一部 + 副作用はモナドの一部
179 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:37:13.01 ] まとめられるから、というだけでモナドにまとめている訳でもなさそうだけどな まとめられるのに、諸事情でまとまっていないものもあるし
180 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:40:44.12 ] でも、非決定性、状態、継続、例外、入出力等、 かなり多くのものがまとめられるからモナドを選んだんじゃないのかね?
181 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 22:49:35.35 ] 色々やってるうちに便利なことに気付いたって印象だな IOとか昔はモナドじゃなかったんでしょ
182 名前:デフォルトの名無しさん [2012/11/03(土) 22:54:29.24 ] 流体は非粘性(粘度効果は無視できる)、ポリトロープな状態方程式で記述される熱的な理想気体とし、断熱過程の下で作用する。
183 名前:デフォルトの名無しさん mailto:sage [2012/11/03(土) 23:01:50.05 ] 応用範囲が広くて便利なものを「ナンセンス」と言う意味が分からんな 独自の言葉の使い方をしてるならちゃんと最初に定義してくれ
184 名前:デフォルトの名無しさん mailto:sage [2012/11/04(日) 00:05:52.82 ] >>155 Moggiの論文に説明があるよ。でもまあ確かに判ってる人が 判ってる人向けに書いてる感がある。
185 名前:デフォルトの名無しさん mailto:sage [2012/11/04(日) 00:09:40.59 ] >>171 さすがにそんなことはないだろう、なんてことはないのだ。 恒等関手もモナドなのでモナドによって定まるKleisli圏の中に元の圏も 含まれている。形式的な話ではあるが。勿論モナドごとに一つのKleisli圏があり、異なる モナドをつなぐためにはめんどうな事をしないといけないが (この辺は自分もまだ未把握。モナドトランスファーが関係してるのかなぁ)
186 名前:デフォルトの名無しさん [2012/11/04(日) 00:41:32.78 ] コアンダ効果を通常の翼の速度分布の説明に使うのは不適切であると
187 名前:デフォルトの名無しさん mailto:sage [2012/11/04(日) 04:30:56.21 ] 駄目だ! このスレ頭良い人達でいっぱいだ!
188 名前:デフォルトの名無しさん [2012/11/04(日) 07:59:40.61 ] >>185 そういう言いかたなら、関数は射なのだから,やっぱりそんなことはないのだ。
189 名前:デフォルトの名無しさん mailto:sage [2012/11/04(日) 09:31:56.97 ] >>188 射は関数とは限らないから、それは反論になってないよ(ただ185の議論が強引なのは確か)
190 名前:デフォルトの名無しさん mailto:sage [2012/11/04(日) 09:59:30.19 ] プログラムとは関数では無くKleisli圏の射のことなので、 関数よりモナドの方が広いと言うのはある意味正しい
191 名前:デフォルトの名無しさん [2012/11/04(日) 10:13:46.42 ] >>185 いまここではそもそもそのKleisli圏がどれだけ意味があるのかを聞かれているんじゃないかな
192 名前:デフォルトの名無しさん [2012/11/04(日) 10:22:17.47 ] >>190 米田の補題より、関数=射。 190より、モナド⊂プログラム=Kleisli圏の射⊂射。 したがって、モナド⊂関数。 これでOK?