関数型プログラミング言語Haskell Part6
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/07(火) 21:24:26http://www.haskell.org/
日本語サイト
http://www.sampou.org/cgi-bin/haskell.cgi
http://shidot.dyndns.org/hs/
過去ログ
関数型プログラミング言語Haskell
Part1 http://pc.2ch.net/tech/kako/996/996131288.html
Part2 http://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 http://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 http://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/
関連スレは>>2
関連書籍は>>3
・2chの仕様により、行頭の半角スペースは表示されません。
コードをインデントしたいときは、代わりに または全角スペースを使うことができます。
0181デフォルトの名無しさん
2006/12/02(土) 14:32:53インストール時の選択によって違う。
詳しくは>>70のgetRegsを読んでくれ。
0182デフォルトの名無しさん
2006/12/02(土) 16:46:14HKEY_CURRENT_USER hKEY_CURRENT_USER Software\\Haskell
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\WinHugs
hKEY_CLASSES_ROOT hugs_haskell
hKEY_CLASSES_ROOT hugs_haskell
この4つ消してあとはフォルダごとゴミ箱つっこめばOKかな?
0183デフォルトの名無しさん
2006/12/02(土) 18:18:11>HKEY_LOCAL_MACHINE hKEY_LOCAL_MACHINE SOFTWARE\\Haskell
>HKEY_CURRENT_USER hKEY_CURRENT_USER Software\\Haskell
中身がhugsだけでないなら消すとまずい。
0184デフォルトの名無しさん
2006/12/02(土) 18:28:39GHCとかもその下に含まれてるね
その下のHugsってのだけ削除すればいいか
0185デフォルトの名無しさん
2006/12/02(土) 22:13:19逆にその辺の知識を勉強したいと思った場合どこから手を付ければいいんだろう?
高校レベルまでしか数学知識ない状態で。
0186デフォルトの名無しさん
2006/12/03(日) 08:22:320187デフォルトの名無しさん
2006/12/03(日) 21:24:57現実的に言って働いている社会人だとほとんど不可能だと思う。
理由としては。
1.時間が馬鹿みたいに必要。(日常生活に確実に侵食してくる)
2.難しいのでモチベーションが続かない。(理系は視野が狭いというが狭い視野じゃなきゃやってられねぇ。)
3.自己流だと確実に変な方向に行ってしまう(数学基礎論にはまってしまってその考えから抜け出せなくなってしまうのがよくあるオチ。数学は記号論理学じゃない。)
0188デフォルトの名無しさん
2006/12/03(日) 21:26:040189デフォルトの名無しさん
2006/12/03(日) 21:32:09貯金が溜まりますねー
0190171
2006/12/03(日) 23:13:30>>171は
>haskell使うだけなら
という限定つき。
たとえば、チューリングマシン知らなくてもC言語は使えるようになるし。
むしろ、基礎理論をうまく隠蔽できないなら、プログラミング言語の設計としては失敗といえるかも。
0191デフォルトの名無しさん
2006/12/03(日) 23:32:41> 3.自己流だと確実に変な方向に行ってしまう(数学基礎論にはまってしまってその考えから抜け出せなくなってしまうのがよくあるオチ。数学は記号論理学じゃない。)
そんな奴みたことない。
それに、この分野、まだまだみんな自己流じゃないの。
数学や物理のように確立されたカリキュラムもないし。
0192デフォルトの名無しさん
2006/12/04(月) 09:53:06そこからは自己流だがそこまで行くための基礎的な部分までの話。
基礎ができないと応用はできない。
0193デフォルトの名無しさん
2006/12/04(月) 15:20:35haskellソース→Cソース→アセンブラソース・・・
それとも直接アセンブラのソースに行くのでしょうか?
haskellソース→アセンブラソース・・・
0194デフォルトの名無しさん
2006/12/04(月) 16:12:18でも当然読めるようなCじゃない
0195デフォルトの名無しさん
2006/12/04(月) 16:15:200196デフォルトの名無しさん
2006/12/04(月) 16:32:041ヶ月でできるお勧めカリキュラム
1週目 λ計算。とりあえずD∞ modelあたりまでやる
2週目 型理論。ざざっとSystem Fまでやる
3週目 圏論。1,2週目の理解をもとにCCC modelまで。
4週目 記号論理学。LKLJNKNJの規則をながめる。
この後は興味に応じて論文を読み漁ればok
0197デフォルトの名無しさん
2006/12/04(月) 17:42:23こなすのが辛いような気がするんだが。
0198デフォルトの名無しさん
2006/12/04(月) 18:10:44でも、この辺の分野は親切な入門書もたくさんあるし、自己流の罠? にはまることもないと思う。
0199デフォルトの名無しさん
2006/12/04(月) 20:24:18つーか。196は社会人なめとんのかい。
社会人の場合、一日にかけられる勉強時間でせいぜい30分とか
1時間だぞ。その時間をとれないことも多い。
しかも環境も劣悪で電車の中とか、仕事で疲れた状態だとか、あんまり
頭に入るような状況ではない。
こういう話を聞くとまた、過酷な勤務の底辺DQNプログラマか、と思う奴も
いるだろうけど(DQNなのはあっているが)、社会人で9時6時で帰れるような
職場はありません。9時ぐらいまでで帰れる職場でも同じで、それは一般的
には楽な職場と言われている。
しかもカリキュラムがいきなりλ計算。
高校卒業程度の数学力と言っているのにλ計算以前に勉強することが
あるだろうと小一時間...。つーか、記号論理学とかはλ計算以前に
やるべきだと思うがどうか。
むしろ独習の場合、自分のペースで学習が進んでかつ理解度を試される
ことがないので、解った気になって先に行ってしまうのがあらぬ
方向に進んでしまう気がするがどうか。早くカリキュラムを進める
理解力より、ゆっくり物になるまで粘る忍耐力の方が重要な気がするけど、どう。
0200デフォルトの名無しさん
2006/12/04(月) 20:47:03やってみます。お薦めの本を教えてください。洋書でもいいです。
0201デフォルトの名無しさん
2006/12/04(月) 21:14:180202デフォルトの名無しさん
2006/12/05(火) 01:18:01頼むぞホント
高卒でもわかるように説明できないようじゃ価値ねーからな
0203デフォルトの名無しさん
2006/12/05(火) 01:31:58おい、何レス使うつもりだ
0204デフォルトの名無しさん
2006/12/05(火) 02:50:07有り難う。
んじゃ、Cで関数書いて呼び出したり
アセンブラで書いた関数をCで呼び出して
その関数をさらにhaskellで呼び出すことも可能なのでしょうか?
0205デフォルトの名無しさん
2006/12/05(火) 04:12:04もちろんできる。
そもそもForeign Function InterfaceというのがHaskell98の追補にあって、
たぶん全ての実装で利用できる。
http://www.cse.unsw.edu.au/~chak/haskell/ffi/
0206デフォルトの名無しさん
2006/12/05(火) 04:35:51なぜ誰もOSを書こうとしないの?
アセンブラとCが使えるならOS作れそうな気が
するのだけれど。
0207デフォルトの名無しさん
2006/12/05(火) 04:52:36http://programatica.cs.pdx.edu/House/
>House is a demo of software written in Haskell, running in a standalone environment.
0208デフォルトの名無しさん
2006/12/05(火) 14:54:220209デフォルトの名無しさん
2006/12/05(火) 21:13:270210187
2006/12/06(水) 11:24:57>つーか、記号論理学とかはλ計算以前に
>やるべきだと思うがどうか。
やるとしてもかなり初歩の部分だけでいいと思う∀、∃、とかの意味をちゃんと「理解して使える」ようになればいいと思う。
あんまり込み入ったところは使わないしおそらく必要性もないと思う。
というかかなりごちゃごちゃしていてやる気がしないはず。(俺はしなかった)
>むしろ独習の場合、自分のペースで学習が進んでかつ理解度を試される
>ことがないので、解った気になって先に行ってしまうのがあらぬ
>方向に進んでしまう気がするがどうか。早くカリキュラムを進める
>理解力より、ゆっくり物になるまで粘る忍耐力の方が重要な気がするけど、どう。
理解度を試されるというところもそうなのだけれど、根本的に数学を理解するということを勘違いしていることが多い(勘違いしていました。)
数学は語学です。
おそらくもっともいい方法は圏論勉強会に一回だけでも出てしまうのがいいと思う。(ちなみに俺は行った事ない)
なんとなく方向性はつかめるんじゃないかと勝手に思う。
0211デフォルトの名無しさん
2006/12/06(水) 18:31:09察するに、あなたは「自己流」でなんとかなったんじゃないの?
0212199
2006/12/06(水) 20:00:59> というかかなりごちゃごちゃしていてやる気がしないはず。(俺はしなかった)
こういうところで手を抜くと、後々しょうもないところで限界がくる
というか、学習に広がりがなくなると思うのでやった方がいいと思うけど
どうなんでしょう。それこそ独学の罠なんじゃないんでしょうか。
計算機科学の勉強は何も関数型言語だけじゃなく、論理学がつかわれている
データベース、公理的意味論、モデル検査などなど色々面白そうな
トピックスがあるのでこれらを楽しめないのは損...だと思うんだけど。
当然、関数型言語の勉強をするにも論理学はあった方がいいと思うんだけど。
0213デフォルトの名無しさん
2006/12/06(水) 20:07:340214デフォルトの名無しさん
2006/12/06(水) 20:27:500215デフォルトの名無しさん
2006/12/06(水) 20:33:56ここはム板で、Haskellでプログラミングすることに関するスレだ。
関係ない話は情報学板・数学板でやれ
0216デフォルトの名無しさん
2006/12/06(水) 20:46:310217デフォルトの名無しさん
2006/12/06(水) 21:41:410218デフォルトの名無しさん
2006/12/06(水) 21:45:300219デフォルトの名無しさん
2006/12/06(水) 21:46:14┏━━━━━━━━━━━━━━━━━┓
┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0220デフォルトの名無しさん
2006/12/06(水) 22:03:09┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ λ│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0221デフォルトの名無しさん
2006/12/06(水) 22:04:34そんなに固いこといわなくても。
理論よりの話題が多いのは、そっちに興味のある住人が多いからだろう。
そもそも過疎スレで、Haskellでのプログラミングについてだって
盛り上がっているとはいえない(いったいHaskellでコード書いてる奴が
どれくらいいるのか)んだから、無理に話題をしぼってもいいことはないと思う。
もちろん、興味のない議論が長々と続くのは不愉快だと思うが、
その時は自分でネタを出すくらいの勢いで。
0222デフォルトの名無しさん
2006/12/06(水) 22:05:34┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │λ│λ│λ│λ│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0223デフォルトの名無しさん
2006/12/06(水) 22:06:36┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ &│ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │λ│λ│λ│λ│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0224デフォルトの名無しさん
2006/12/06(水) 22:07:36┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │λ│&│λ│λ│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0225デフォルトの名無しさん
2006/12/06(水) 22:11:40┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │λ│●│λ│λ│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│&│ │ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0226デフォルトの名無しさん
2006/12/06(水) 22:14:48┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│ │ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │&│&│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │λ│●│λ│&│ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│&│ │ │&│ │λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0227デフォルトの名無しさん
2006/12/06(水) 22:19:46┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │ │ │λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│&│ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │λ│●│λ│&│ │ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │●│&│ │ │&│λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │ │ │ │ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃ λ...
┗━━━━━━━━━━━━━━━━━┛
0228デフォルトの名無しさん
2006/12/06(水) 22:24:15┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ λ... λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ λ... λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ λ... λ... λ... λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ λ... λ λ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─λ...
λ... λ...λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │ λ... λ... λ...
┃├─┼─┼─┼─┼─┼─┼─┼λ... λ...
┃│ λ... λ... λ...
┃└─┴─┴─┴─┴─┴─┴─λ... λ...
┗━━━━━━━━━━━━━━━━━┛
0229デフォルトの名無しさん
2006/12/06(水) 22:25:07鮫って魚が交尾するから鮫って書くんだぜ
0230デフォルトの名無しさん
2006/12/06(水) 22:25:11結局はλってこったな
0231デフォルトの名無しさん
2006/12/06(水) 22:27:48┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │∃│∃│ │ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│∃│ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│∀│ │ │●│ │∀│ │ │λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │∀│ │●│&│ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │∀│λ│●│λ│&│ │ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │●│&│ │ │&│λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ∀ λ...
┃│∃│ │ │ │∀│ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │∃│ │∃│ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃ λ...
┗━━━━━━━━━━━━━━━━━┛
0232デフォルトの名無しさん
2006/12/06(水) 22:30:32┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │∃│∃│ │ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │∨│∃│ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│∀│ │ │⇒│ │∀│ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │∀│ │∨│&│ │ │ │┃ λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │∀│∧│∀│∧│&│ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │⇒│&│ │ │&│ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│∃│ │ │ │∀│ │ │ │┃λ...
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ λ...
┃│ │ │∃│ │∃│ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃ λ...
┗━━━━━━━━━━━━━━━━━┛
0233デフォルトの名無しさん
2006/12/06(水) 22:40:210234デフォルトの名無しさん
2006/12/06(水) 22:56:57文章書いてる、または、データ入力の仕事している気分で全く面白くない。
0235デフォルトの名無しさん
2006/12/06(水) 23:20:40鬱陶しくなってhappyに戻った。
0236デフォルトの名無しさん
2006/12/08(金) 00:37:39ならなかった。それ気づいたときなんか毎日泣いた。
だからなんか粘着気味にレスしてる。
>>212
記号論理学は(偏見かもしれないが)直感が効かない。
数学でも直感てすごく大事。
あれはほぼ超絶テクニックのアルゴリズムの塊だから
やっても面白くないと思う。
最初から直感の聞かない数学の分野やっちゃうと
それが数学だと思っちゃう。まぁそれも確かに数学
なんだがあれは自分の人生をそれにすべて費や
しているような人がやるもんだ。
たとえば、基礎論とかゼータ関連ね。
煽りとかじゃなく>>212はブルバキって知ってるか?
0237デフォルトの名無しさん
2006/12/08(金) 00:57:14まぁ要するに>>212が必要としている論理学のレベルは
ほかの分野の数学やっていれば自然に身につく。多分。
だったらほかの直感の効くわかりやすい分野から始めた
方がいいんじゃないかと。
あえて記号論理学みたいな諦める可能性90%なやつから
始める必要なんてなかろう。必要性が出てきたときに勉強
すればいいんじゃないかと。
0238デフォルトの名無しさん
2006/12/08(金) 01:11:18いい加減ウザい
0239デフォルトの名無しさん
2006/12/08(金) 01:16:56圏論理解するのにどんくらいかかる?
高卒で数IIもわからんし、基本情報処理もさっぱり
0240デフォルトの名無しさん
2006/12/08(金) 01:22:19どんな分野も一生理解出来るようにはならんよ。
0241デフォルトの名無しさん
2006/12/08(金) 01:25:49くっだらねーレスしてる暇あったら馬鹿にでもわかるような説明考えろよ
0242デフォルトの名無しさん
2006/12/08(金) 02:02:34日本に圏論を理解してると自覚している人が誰もいないのに?
0243デフォルトの名無しさん
2006/12/08(金) 02:03:19人に依るとしか言えない。取りあえず入門の第一歩
http://d.hatena.ne.jp/m-hiyama/20060821/1156120185
を読んでどう思ったか教えてくれ。
0244199
2006/12/08(金) 04:14:43本当に何も知らない人なんじゃないかと思われているような。
たぶん、想像しているレベルの論理学のイメージはそんなに
変わらないはずだよ。
自分もそんなにディープな論理学の知識はいらんと思うが
(それはやぶ蛇)、自然に覚えるのでなく、それ用の入門書
ぐらい嫁というスタンスなんだが。俺もそれ以上はやってない。
> あえて記号論理学みたいな諦める可能性90%なやつから
どこまでやって諦める可能性90%というのか知らないけど。
言われてみればそんなに簡単ではないのは確かにそうだな。
0245デフォルトの名無しさん
2006/12/08(金) 04:41:44記号論理学より入りやすいんじゃないかな。
プログラム言語だし。
わかってみれば浅い話でも、
いきなりシーケント計算とかみると投げ出すでしょフツー
0246デフォルトの名無しさん
2006/12/08(金) 11:29:00>本当に何も知らない人なんじゃないかと思われているような。
名前だけじゃなくてその集団の目指したこととその失敗のことを
言っているんじゃないか。
0247デフォルトの名無しさん
2006/12/08(金) 18:32:550248デフォルトの名無しさん
2006/12/08(金) 20:30:210249デフォルトの名無しさん
2006/12/08(金) 21:02:59そうなの?
圏論勉強会は?
0250デフォルトの名無しさん
2006/12/09(土) 00:12:51ってamazon(us)で批評されてたけど、
実際、Haskellプログラミングや関連論文読む力付ける目的に合ってるの?
結構長いし、ちょっと不安す
0251デフォルトの名無しさん
2006/12/09(土) 00:52:06でも、いまつづいてる連載ってfmapを結構頻繁に使ってない?
0252デフォルトの名無しさん
2006/12/09(土) 01:30:37俺も conceptual mathematics をざっと読んだけど出てくるのは product, sum, exponetial まで。
でも具体例でじっくり書いてあるので足元を固めて自力をつけるのにはよいかもしれない。
理解してたつもりでも実際練習問題解くとむずかしいものも多い。
取りあえず浅く知って(真に理解したという意味ではないよ)早く先に進みたいという人には向かない。
0253252
2006/12/09(土) 01:50:51equalizer も確かでてきてた。
「自力をつける」は「地力をつける」だった。
0254デフォルトの名無しさん
2006/12/09(土) 03:02:44ほとんど説明無い。ほとんど有向グラフの図ばっかり。
あの図だけ見て何が何をやっているのか理解している人いるの?
0256デフォルトの名無しさん
2006/12/09(土) 12:29:51なんでわざわざ洋書にこだわるんだ。
0257デフォルトの名無しさん
2006/12/09(土) 12:32:390258デフォルトの名無しさん
2006/12/09(土) 13:36:44もうこの話し止めほうがいい気がしてきた。
0259デフォルトの名無しさん
2006/12/09(土) 13:37:350260デフォルトの名無しさん
2006/12/09(土) 13:45:07これ以降圏論の話は数学板か情報学板でするように。
0261デフォルトの名無しさん
2006/12/09(土) 15:00:13けんのん?
0262デフォルトの名無しさん
2006/12/09(土) 19:57:47いや。ファンクタだけは理解しておいたほうが良いんだよ。
fmapがちゃんとつかえるのと使えないのとでは結構違いがある。
liftMも同じく。
0263デフォルトの名無しさん
2006/12/09(土) 20:03:31圏論を理解していなくても使える。
0264デフォルトの名無しさん
2006/12/09(土) 20:12:140265デフォルトの名無しさん
2006/12/09(土) 20:20:000266デフォルトの名無しさん
2006/12/09(土) 20:41:36ふおん
0267デフォルトの名無しさん
2006/12/09(土) 20:53:03使い方を間違えるって言うのはおかしかったな、すまん。
0268デフォルトの名無しさん
2006/12/09(土) 21:06:54使ってますって人ってどれくらいいるもんなんかな?
連載では多用しているけど。
0269デフォルトの名無しさん
2006/12/09(土) 21:09:28読みづらい書き方になる、ってことか。
どっちにしても例が欲しい。
>>268
fmapは使わないけどliftMは日常的に使う。
0270デフォルトの名無しさん
2006/12/09(土) 21:20:16`fmap`,`liftM`みたいに中間演算子的に使われると
どういう意図でそれをつかっているのか意味がとれない。
あとは、できるだけ
たとえば
calc :: a -> a
という関数があったらIOモナド用に
calcIO :: IO a -> IO a
calcIO = fmap calc
みたいに使ってもらったほうが構造だけは同一で元となっている
カテゴリーだけが違うということが明確になっていいんじゃないかと
思っている。
うーん。うまく伝わっただろうか・・・。
というかあまりいい方法じゃないのかなとか思ってきた・・・。
0271デフォルトの名無しさん
2006/12/09(土) 21:29:28やってしまって後はカテゴリーごとにfmapするなりliftさせるなり
したほうが再利用できるようになるし。
sample :: a -> IO a
なKleisli射はなるべく作らない方向性でいくべきなんじゃないかって。
モジュール化も損なわれるんじゃないかと。
でもそこまでいってしまうと作れなくなってしまうというジレンマに陥って
しまうから・・・。どうなんだろうねぇ。。
0272デフォルトの名無しさん
2006/12/09(土) 21:47:36レスありがとう。
>`fmap`,`liftM`みたいに中間演算子的に使われると
>どういう意図でそれをつかっているのか意味がとれない。
これは俺も時々やるんだが、気持ち悪いと感じるのはたぶん分かった。
圏論の観点からはfmapは(射に作用する)単項演算であって
二引数関数のように使うのは不自然だ、ということか。(素人なので間違ってたら教えてくれ)
このスタイルを弁護しておくと、Haskellではあらゆる場合について
(g f) x
と
f `g` x
が等しいので、後者を見た読者は前者を見たのと同じように理解することが期待されている。
だから、両者を単純に字面上のおさまりに基づいて使い分けることができる、という考え方が
あり得ると思う。例えば f x の代わりに f `id` xと書くのがそんなに変だろうか。
加えて、それを言い出すと(>>=)だって圏論的には一引数の演算なんじゃないか、とか。
calcの例は理解できなかった。せっかく説明してもらったのにすまん。
0273デフォルトの名無しさん
2006/12/09(土) 22:01:34それは例えば標準入力からCSV形式のデータを読みたいときに、
getCSV :: IO [String]
のようなものをgetChar/getLine/getContentsを使って書くよりも、
parseCSV :: String -> [String]
を用意してユーザ側でfmap parseCSV getContentsとさせた方が良い、
という理解でおk?
それなら多くのHaskellユーザが経験的にやってることだと思うんだが。
0274デフォルトの名無しさん
2006/12/09(土) 22:19:06>圏論の観点からはfmapは(射に作用する)単項演算であって
>二引数関数のように使うのは不自然だ、ということか。(素人なので間違ってたら教えてくれ)
その通り。というかそう自分としては解釈している、というほうが適切かな。
人によっては他の翻訳もありうると思う。
>このスタイルを弁護しておくと...
そういうスタイルがあることは最近知った。
前スレで出てきたLaw and Order in Algorithmicsってpdf内が
そういう流儀だったしおかしくはない。
でも、個人的に同一カテゴリー内の射(a -> a, IO a -> IO a)
なら「有り」だとは思うけど、fmapとliftMの場合そうやっちゃうと
ファンクタとかリフトって概念を持ち出す意味がなくなる。
>加えて、それを言い出すと(>>=)だって圏論的には一引数の演算なんじゃないか、とか。
圏論的には(>>=)は概念的にfmap,liftMの持つ概念と別種。
(といいつつそこらへんはよくわかっていないからどうともいえない
というのが本音。別種であるのは確か)
0275デフォルトの名無しさん
2006/12/09(土) 22:23:20>圏論の観点からはfmapは(射に作用する)単項演算であって
ということなんだけどちょっと例が少なかったか。
(というか勝手な見解だからあんまり惑わされないでくれ)
というわけでもっと例をあげると
calcMaybe :: Maybe a -> Maybe a
calcMaybe = fmap calc
calcList :: [a] -> [a]
calcList = fmap calc
calcF :: F a -> F a
calcF = fmap calc Fは任意のFunctorクラス。
みたいなかんじに使えないかと。
・・・でも、やっぱり適用できる場面はそんなに無いか・・・な。
>>273
そういうこと。そしてそれがファンクタの概念。
経験的にわかっていることならこの際明確にしてしまおう。
0276デフォルトの名無しさん
2006/12/09(土) 22:25:37これはすべて個人的な勝手な解釈だ。
0277デフォルトの名無しさん
2006/12/09(土) 22:41:300278デフォルトの名無しさん
2006/12/09(土) 23:04:44>みたいなかんじに使えないかと。
つまり、IOならIOについて(fmap calc)をひとかたまりとみなすべきであり、
そういうスタイルを奨励するためにcalcIOという名前を付ける、ということか。逆に
do x <- a; b (calc x)
のようにcalcの適用をdo式中に散逸させたりすると、
この構造がわかりにくくなるので良くない、と。
ただ、相変わらずこのように書くことの現実的利益がわからない。
>構造だけは同一で元となっている
>カテゴリーだけが違うということが明確になっていいんじゃないかと
>思っている。
の部分。
>経験的にわかっていることならこの際明確にしてしまおう。
もちろん明確にするのは価値があると思うし、そういうのは
個人的に好きな方向性だけど、もともとの議論に関して
「圏論を知らないとHaskellを使うのにどれくらい支障があるか」という点については、
はっきりさせておきたかった。俺としてはHaskelll(のような言語)が
真に一般に普及してほしいと思っているので、経験だけではカバーできない
重大な困難があるかどうかが気になった。
0279デフォルトの名無しさん
2006/12/09(土) 23:52:51>つまり、IOならIOについて(fmap calc)をひとかたまりとみなすべきであり、
>そういうスタイルを奨励するためにcalcIOという名前を付ける、ということか。
いや、そこまで強くは言っていない。名前付けたのはわかりやすくするためで
>>273みたいな名前付けない使い方が一般的だと思う。
というか経験的にすでにわかってることなんだと思う。
>ただ、相変わらずこのように書くことの現実的利益がわからない。
考えを整理できるとかそういう部類で現実的利益といわれると無いね・・・。
>「圏論を知らないとHaskellを使うのにどれくらい支障があるか」という点については、
>はっきりさせておきたかった。俺としてはHaskelll(のような言語)が
>真に一般に普及してほしいと思っているので、経験だけではカバーできない
>重大な困難があるかどうかが気になった。
Haskell使用するというレベルでは圏論の知識の有無による
困難は表面的には無い。が根源的には結構困難があると思う。
おそらく人のコードを読むという段階であらわに出てくるハズ。
fmapにしたってファンクタの概念をつかって圏論チックな考え方で
使おう思っている人と、そうじゃない人だと使い方が違う。
そういうのが積み重なって人によってはその書き方の意図が
読めないコードというのが出てくると思う。
そういう意味では結構困難がある。
まぁ要するにコーディングスタイルの問題。
圏論的なものを取り入れたHaskellコーディングスタイルを確立する
のかあくまで経験的なコーディングスタイルを確立するのか。
うーむ。なんだかグダグだになってしまった。
とりあえずfmap,liftMは便利じゃね?ということを
最初は説明したかったんだがものすごく言葉足らずでスマン。
0280デフォルトの名無しさん
2006/12/10(日) 00:39:38「現実的利益」なんて嫌らしい言い方をしたが、ようするに
「それで何がうれしいのか」を聞きたかっただけだった。
「考えを整理できる」というので十分。
>考えを整理できるとかそういう部類で現実的利益といわれると無いね・・・。
圏論的な考え方を身につけた人にとって考えを整理しやすい書き方、ということでいいだろうか。
>Haskell使用するというレベルでは圏論の知識の有無による
>困難は表面的には無い。が根源的には結構困難があると思う。
>おそらく人のコードを読むという段階であらわに出てくるハズ。
いいたいことはたぶん分かった。もちろん実感として分かるわけじゃないので
自信を持って理解したとはいえないが。
俺としては、「表面上」支障がなければそれで十分だと思う。
例えばライブラリを提供する/使うだけならスタイルの不一致は問題にならないし。
しかし冷静に考えると、表面上支障がないというのは誰に聞くまでもなく俺が
身を持って知っていることだった。これじゃ何が聞きたかったのか分からん。
結局聞きたかったのは「圏論ってそんなにすごいの?」だったような。
ぐだぐだ
>とりあえずfmap,liftMは便利じゃね?ということを
>最初は説明したかったんだがものすごく言葉足らずでスマン。
とんでもない。言葉の通じない相手に長々付き合ってくれたことに感謝。
■ このスレッドは過去ログ倉庫に格納されています