関数型プログラミング言語Haskell Part29 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001岡部メモリリーク健
2015/07/14(火) 19:27:09.01ID:jJ1YDtNe,.-―: ̄`ー::::::::::、
/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/ < 毛の壁(岡部健)の話は禁止な
、:::::.. /:::; .,-、 l:::/、
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
haskell.org (公式サイト)
http://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part28
http://peace.2ch.net/test/read.cgi/tech/1428535861/
0263デフォルトの名無しさん
2015/08/10(月) 23:19:26.21ID:08na6m/L0264デフォルトの名無しさん
2015/08/11(火) 00:48:36.91ID:35SQIDRW0265デフォルトの名無しさん
2015/08/11(火) 06:26:59.37ID:hdf2tNQK0266デフォルトの名無しさん
2015/08/11(火) 06:30:12.53ID:hdf2tNQK0267デフォルトの名無しさん
2015/08/11(火) 06:36:13.99ID:l/j/VTng論文や入門書どころか2chのレスすら読めないのか?
0255 デフォルトの名無しさん 2015/08/10 19:27:08
形式化はイントロ以外の本論か、普通の型理論の入門書を読み直そう。
ID:xfbTbnyl(1)
0268デフォルトの名無しさん
2015/08/11(火) 08:39:19.79ID:cH2UxrcDアドホック多相は実体化する前に
["a", "b"] |-> ["a", "b", "b"],
[1, 2] |-> [2, 1]
のような単相のコードを仕込んでおかないと実体化できない
つまり型名だけでなくコードとか色々な情報を注入している
0269デフォルトの名無しさん
2015/08/11(火) 21:39:29.31ID:csNtDDNcそれらに共通の「多相」って何か言ってみろよ
0270デフォルトの名無しさん
2015/08/12(水) 10:32:15.38ID:E9Tw94sD君はなぜ自分より知識や教養が上の相手にタメ口なんだ
0271デフォルトの名無しさん
2015/08/13(木) 12:02:19.75ID:mwGqyG64答えられないのか?
ところで君はこのスレをご主人と崇める番犬なんだな?w
0272デフォルトの名無しさん
2015/08/13(木) 15:16:34.02ID:M3nW2qvPhttps://en.wikipedia.org/wiki/Polymorphism_(computer_science)
0273デフォルトの名無しさん
2015/08/13(木) 15:18:03.14ID:d32APRUA0274デフォルトの名無しさん
2015/08/13(木) 15:24:02.22ID:Po5dRgtj単相は昔からみんな知ってたやつなので分かりやすい
0275デフォルトの名無しさん
2015/08/13(木) 15:52:21.18ID:Gt0qYtbNおまえみたいなダメ学生のレポート代筆を誰が手伝うかってことです。
0276デフォルトの名無しさん
2015/08/13(木) 16:02:02.25ID:Gt0qYtbN自我が肥大してしまっていつしか
「わからなくてもコツコツ勉強するのは大事」
「世の中わからんこともある」
「わからんのは、教え方が悪いからとは限らず、自分の知力の限界かもしれない」
というようなことを認めようとしないまま中途半端な歳まで来ちゃうと限りなくアウトに
近い。
妙に肥大した自我と釣り合いを取るために、「わたしには
知性も教養も欠けてるのでどうか憐れむと思って教えてください」
の一言が出せずに煽ることしかできない、そういう喧嘩腰が
いつまでも通じると思ってる時点で社会知性が低すぎてダメ。
コンビニのバイトですら務まらないレベル。
狭いサークルで褒められまくっていたせいか、妙な自信と
プライドだけは高いんだが中身はスッカスカ。
たまに親切な誰かが丁寧に教えてやっても礼の一言も述べず
「ふーん、なんか結局モナドって合成できないからプログラミングにとって致命的じゃん」
とか、言ってる本人にも意味不明なワードサラダめいたポエムを投げることしかできない。
0277デフォルトの名無しさん
2015/08/13(木) 19:19:34.10ID:mwGqyG64君どうしちゃったんだ?w
本題についてだけ静かに語ればいいんだよ
0278デフォルトの名無しさん
2015/08/13(木) 19:56:35.31ID:Gt0qYtbNまあそんなに落ち込むな。
0279デフォルトの名無しさん
2015/08/13(木) 20:09:47.48ID:kVSCQFgg0280デフォルトの名無しさん
2015/08/13(木) 20:16:46.88ID:cFZHcgXb0281デフォルトの名無しさん
2015/08/13(木) 23:59:10.02ID:/TT2ZElL毛の壁宛なんだろうが、なんとなく流れ弾に中った感がある
0282デフォルトの名無しさん
2015/08/14(金) 06:57:25.05ID:UKR1Ens3ルールがなければ勝ち目のない相手にもルールを守らせれば勝てるからなんだよな
0283デフォルトの名無しさん
2015/08/15(土) 12:23:13.66ID:fL/PzS3/0284デフォルトの名無しさん
2015/08/15(土) 14:50:11.24ID:U2H5mvyM「勝ちたいのならルールを作る側になれ」てよく言うじゃん
そういう意味で体育会系を束ねるのは楽だけどな
0285デフォルトの名無しさん
2015/08/15(土) 16:27:38.46ID:fL/PzS3/0286デフォルトの名無しさん
2015/08/15(土) 19:01:57.66ID:ijksDLQOカモリーマン相手の自称ベテランコンサルタントが言いそうな言葉っすね。
そういうゴミみたいな言葉を頭に突っ込むとゴミみたいな考えしか出てこないゴミ頭になります。
0287デフォルトの名無しさん
2015/08/15(土) 19:48:49.12ID:LE4LycT30288デフォルトの名無しさん
2015/08/15(土) 20:18:09.10ID:R9hEcy+Ehttp://hackage.haskell.org/package/base-4.8.1.0/docs/src/GHC.Base.html#local-1627391929
どうやって作るんだこれ…
0289デフォルトの名無しさん
2015/08/15(土) 21:16:49.43ID:2DqmJ2ZCプロは他人が作る仕様 (変更) を予知するべき
0290デフォルトの名無しさん
2015/08/16(日) 03:11:32.19ID:uK7XPl3A0291デフォルトの名無しさん
2015/08/16(日) 06:31:17.72ID:aYrENx1aすげぇなw
https://dl.dropboxusercontent.com/u/7687891/join_to_Monad/join_to_Monad.html
0292デフォルトの名無しさん
2015/08/16(日) 18:29:05.94ID:Vkg3e5dl若干長いけど良い記事だよね。
0293デフォルトの名無しさん
2015/08/17(月) 23:42:32.36ID:E8Zlkk8dとても素直な気持ちのいい記事だね
0294デフォルトの名無しさん
2015/08/18(火) 17:03:51.11ID:j5KExTo2今だとHaskellの入門書としてお勧めってどれになるんです?
0295デフォルトの名無しさん
2015/08/18(火) 22:53:30.76ID:1H/7a1LXいろいろとか言っても Monad が Applicative になったとかそんな程度じゃないの?
0296デフォルトの名無しさん
2015/08/19(水) 03:34:39.76ID:fY37jaweMonad m => m (m a, m b) -> (m a, m b)
ってできるっけ?
0297デフォルトの名無しさん
2015/08/19(水) 03:58:30.08ID:fY37jawejoin . liftA (uncurry (liftA2 (,)))
0298デフォルトの名無しさん
2015/08/20(木) 02:59:44.72ID:UVdNs5g4> (++) <$> (Sum (42::Int), "apple"::String) <*> (Sum 13,"banana")
(Sum {getSum = 55},"applebanana")
> let flipP (a,b) = (b,a)
> (++) <$> (writer $ flipP (Sum (42::Int), "apple"::String)) <*> (writer $ flipP (Sum 13,"banana")) :: Writer (Sum Int) String
WriterT (Identity ("applebanana",Sum {getSum = 55}))
--
現状、
writer :: Monad m => (a, w) -> WriterT w m a
になってるが、
writer :: Monad m => (w, a) -> WriterT w m a
だったら上記の例のflipPが要らない。
0299デフォルトの名無しさん
2015/08/20(木) 07:37:43.38ID:hMgOl3Olその問いに正解はない
0300デフォルトの名無しさん
2015/08/21(金) 01:40:51.70ID:fXEaGRk/ビッグエンディアン: しばしばリトルエンディアンより優れているとされる
0301デフォルトの名無しさん
2015/08/21(金) 22:08:23.86ID:oak8Xfw5エンディアンを切り替えられるバイエンディアンプロセッサ。
0302デフォルトの名無しさん
2015/08/22(土) 00:31:10.13ID:EXDcUcnUttp://www.amazon.co.jp/圏論-原著第2版-Steve-Awodey/dp/432011115X/
あとこれも、
ttp://www.amazon.co.jp/圏論の歩き方-圏論の歩き方委員会/dp/4535787204/
以前の数学セミナー(だっけ?)の連載のまとめだと思うけど。
{- 間違えて sc の方に書き込んだら、まるっきり反応がなかった。 -}
{- で、.net で再投稿 -}
0303デフォルトの名無しさん
2015/08/22(土) 01:20:33.93ID:OQor0U0W>圏論を初期の学部生に教授することは強い反対にあっている。
にわかに圏論の勉強を始めない方が良い?
0304デフォルトの名無しさん
2015/08/22(土) 01:53:23.77ID:PkWehqCK0305デフォルトの名無しさん
2015/08/22(土) 03:47:42.60ID:N1uhek7+一言で言うと、Haskellのモナドや多相型の関数の概念を理解し使いこなす、つまり関数プログラミングの実務に圏論は全く必要ないし
知っていても何の役にも立たない、つまりは圏論はそのキーワードをひけらかしていい恰好したいだけの単なるファッションの飾りに過ぎない
他方、本当に計算の理論(例えば表示的意味論を展開する数学的構造な枠組みとしてのScottらの領域理論など)を
勉強して理解し将来的にはその分野で学術誌か国際会議に論文の1つでも通したいのならば、圏論の勉強は不可欠
(Scott理論の古典的で基礎的な部分の学習だけならば別に圏論を知らなくとも一応はできるけれどね)
0306デフォルトの名無しさん
2015/08/22(土) 07:42:28.65ID:pHk1lnIKその説明もなんか変なんだよな
いい恰好したいなら金持ちか政治家になればいいのに
なんで批判する側もされる側も学者を標的にするのかさっぱりわからない
0307デフォルトの名無しさん
2015/08/22(土) 10:28:17.35ID:bUf5bCJ1知っていても何の訳にもたたない。つまり熱力学だとかカルノーサイクルを勉強してるやつは
カッコつけたいだけのファッションバカにすぎない。
ブレーキは踏めば止まる、エンジンはなんかガソリン入れときゃ動く、ラジエーターだとか
よくわからんものはガソリンスタンドでチェックしてもらえばいいし、タイヤの空気圧が下がってる
事の意味もガソリンスタンドの人が注意してくれるし、物事が動く原理というのは
全く知る必要がない。
原理厨はなにかとあれこれ勉強しないとわからん言って脅してくるけど、俺達は反知性主義の
旗を掲げて徹底抗戦だ。
0308デフォルトの名無しさん
2015/08/22(土) 10:33:20.58ID:XZXv5ALV0309デフォルトの名無しさん
2015/08/22(土) 10:39:12.14ID:Hb7eGyOr0310デフォルトの名無しさん
2015/08/22(土) 11:04:44.83ID:bUf5bCJ10311デフォルトの名無しさん
2015/08/22(土) 11:07:41.75ID:Hb7eGyOrとか
「〜だけ」
とか
「〜にすぎない」
が多用されてる文章は確かに反知性主義的な感じがする。
0312デフォルトの名無しさん
2015/08/22(土) 12:08:13.94ID:pHk1lnIKミニマリストが反知性の手口を学べばそっくりそのまま応用できる可能性が高い
0313デフォルトの名無しさん
2015/08/23(日) 09:18:45.96ID:bL4DWVex宣伝乙(良い意味で)
0314デフォルトの名無しさん
2015/08/23(日) 09:57:28.55ID:LhCUqlmjどこで違いが出てくるの?
0315デフォルトの名無しさん
2015/08/23(日) 11:44:34.87ID:28kORioTHaskは圏のなかでもやや特殊。型付のラムダ計算なんかを抽象化して得られる
圏と近い。例えば、Hask圏では A, B という対象に対して A->B という対象を作れるが、
このような性質は「一般の圏」にはない。
0316デフォルトの名無しさん
2015/08/24(月) 02:49:24.38ID:UcMD+ccy0317デフォルトの名無しさん
2015/08/24(月) 08:58:11.78ID:kCQmOeKa0318デフォルトの名無しさん
2015/08/24(月) 11:27:43.78ID:/WF09MBN俺達先進国の人間はベトナムの優秀なIT技術者を時給50円で死ぬまで使えば良いからだ。
そもそも何かを学ぶということは人間の自然に反する。言語を捨て、文明を捨て、原始に回帰すること
こそ人類の究極の目標である。
0319デフォルトの名無しさん
2015/08/24(月) 11:43:02.32ID:OjRQ25eS個人の人生のテーマなんぞは、本人にしか関係ないし、他人からしたらどうでもいいこと
お前が知識が要らないと考えるなら、そうすればいいし、俺らには関係ない、お好きにどうぞ
機能性を追及することが、人類の永遠のテーマなのです
分かりやすく言えば、100人の人間が集まって、その100人で、どういう機能を果たすか、ということ
昨今コミュニケーション能力が高らかに叫ばれるのは、そういうこと
ここで、知識は手段に過ぎず、目的になりえない
0320デフォルトの名無しさん
2015/08/24(月) 12:00:06.78ID:kCQmOeKaマイナス60人は1人よりも小さい
0321デフォルトの名無しさん
2015/08/24(月) 12:08:55.77ID:OjRQ25eS0322デフォルトの名無しさん
2015/08/24(月) 13:50:02.35ID:1q9FvsVIhttp://haskellformac.com
0323デフォルトの名無しさん
2015/08/24(月) 13:50:44.81ID:twgtagYC0324デフォルトの名無しさん
2015/08/24(月) 13:51:24.77ID:twgtagYC0325デフォルトの名無しさん
2015/08/24(月) 19:00:25.78ID:pjiRa/zc0326デフォルトの名無しさん
2015/08/24(月) 19:03:26.28ID:/WF09MBN圏論厨を滅ぼすまではダメです
0327デフォルトの名無しさん
2015/08/25(火) 02:06:08.16ID:YISO+qUP0328デフォルトの名無しさん
2015/08/25(火) 02:10:41.85ID:YISO+qUP0329デフォルトの名無しさん
2015/08/25(火) 07:15:28.00ID:oMRqhMXwC++使えよ
マクロじゃなくてテンプレートを使うんだぞ
0330デフォルトの名無しさん
2015/08/25(火) 10:27:27.34ID:Vmm9VscjそれはむしろHaskellをやればCCCがすぐ分かるということだ
Haskellをやっても圏論は分からないという例はないの?
>>316
いやその逆で、圏論の学習の替わりにhaskellが使えるか?ということなんだが
0331デフォルトの名無しさん
2015/08/25(火) 11:52:16.03ID:oMRqhMXwPerlをいくら完璧に学習しても「OOPを正しく理解していない」と見做される
0332デフォルトの名無しさん
2015/08/25(火) 12:14:07.00ID:Vmm9VscjOOPは茫漠とした思想みたいなもんだが圏論は違うだろ?
0333デフォルトの名無しさん
2015/08/25(火) 13:33:39.80ID:oMRqhMXwみんなで共有する知識はそういう怪しいものばかり
なので個人で頑張る
0334デフォルトの名無しさん
2015/08/25(火) 14:11:55.34ID:nys8WXaqHaskellの話に圏論絡めてくる奴は皆殺しにしろとか言い出す
僕みたいな反知性主義者が「答え合わせ」に参加すると結論が歪む。
0335デフォルトの名無しさん
2015/08/25(火) 15:35:47.03ID:YISO+qUP0336デフォルトの名無しさん
2015/08/25(火) 21:13:15.88ID:nys8WXaqつうほうせんといてや〜
0337デフォルトの名無しさん
2015/08/26(水) 01:43:51.18ID:fE8RXalP0338デフォルトの名無しさん
2015/08/26(水) 08:31:04.41ID:NnDRip21そうやな!圏論いらんわ。
だいたいあいつらちょっと数学が得意だからって調子こいてるよな。
0339デフォルトの名無しさん
2015/08/26(水) 12:27:26.78ID:W/3BVY4r圏論だと思って使わなくても圏論の概念は使うことになるし。
逆に言えばわざわざ圏論を学ばんでもどうせ触れるっつー話でもある。
俺ら日本語の文法をわざわざ学んでから喋っとるわけちゃうみたいに、
実用から入っていけばなんとなく自然な使い方もわかるようになるで。
まあ、どっちから入門してもかまへん。
ただ、圏論から入っていくやつをあえてディスるんはやめよで。
0340デフォルトの名無しさん
2015/08/26(水) 13:44:56.04ID:31UMARGP0341デフォルトの名無しさん
2015/08/26(水) 14:45:58.21ID:gQwT5cTuhaskellのモナドを人に教えるときに圏論の話を絡める奴は全く信用できん、という程度の話。
0342デフォルトの名無しさん
2015/08/26(水) 14:54:08.52ID:H1SEqDeZ>>338
>>339
君たち、
「Haskellやモナドを使うのに圏論を知っておく必要は全然ない」てのはよく聞くけど
それって、「そんなの知らなくてもできる仕事は一杯あるからね、下流底辺に。
上流の仕事は圏論が分かる層がやるから気にしなくていいよ。」ってニュアンス?
0343デフォルトの名無しさん
2015/08/26(水) 15:30:11.46ID:W/3BVY4r「最初からハードル上げるな」という話。
Haskell でプログラミングするだけなら圏論を意識することはない。
圏論で言ってることというのは意識せずとも使える程度のものでしかないんだよ。
ただ、そこに明確な定義を与えて名前を付けたのが圏論という学問領域になってるだけ。
言うなれば数学界のデザインパターンが圏論。
先に Haskell を実用している人が圏論みても、
あ〜このパターンってこういう名前がついてんのね〜、ってくらいの感想だろうよ。
0344デフォルトの名無しさん
2015/08/26(水) 15:57:11.19ID:W/3BVY4rそれを学ぶことを無意味と切り捨てることはできない。
圏論として学ばなくても誰かのコードを読んでいるときに知るということもあるだろうから、
圏論という形で学ぶ必要は必ずしも無いけど、
まあほどほどに Haskell を使えるようになった頃に一度くらい斜め読みしてもいいんじゃないのかねとも思う。
上手く使えるようになったつもりでもさー、全然知らなかった概念が頭の中に湧いて出てくるってことはないんだよ。
たとえ話で言えば、字を早く書きたくてペンの性能を目いっぱい追求して満足な結果が出るとするじゃん?
そしたら世の中には実はタイプライターがありました、ワードプロセッサがありました、っていう感じ。
0345デフォルトの名無しさん
2015/08/26(水) 16:14:34.56ID:9WcNfeqJ0346デフォルトの名無しさん
2015/08/26(水) 16:39:39.65ID:U9Ynnj38342のように自由というニュアンスを理解できない人が多い
で、自由ってよくわからんから全部義務にしようということで圏論まで強制されてしまう
0347デフォルトの名無しさん
2015/08/26(水) 16:50:54.29ID:W/3BVY4rほどほどでいいならほどほどの知識でいいっていう当たり前の話だよな。
文章にきちんとまとめて発表しようとすると使う言葉が圏論の世界のものに
なってしまうからどうしてもそういう言葉を目にしてしまうだけで。
0348デフォルトの名無しさん
2015/08/26(水) 21:07:20.44ID:2om2SE560349デフォルトの名無しさん
2015/08/26(水) 21:21:20.27ID:6+xCvXdx0350デフォルトの名無しさん
2015/08/26(水) 22:58:54.24ID:H1SEqDeZ自由とか義務とかの問題じゃないだろw
能力の問題
>>347
やっぱりHaskellより圏論の方が高度wってことね
0351デフォルトの名無しさん
2015/08/26(水) 23:36:27.51ID:NnDRip21「俺は圏論をまったく知らないが、モナドを自由に使えてる。だから圏論は必要ない」
以上です。
0352デフォルトの名無しさん
2015/08/26(水) 23:47:35.06ID:H1SEqDeZ反知性主義者か。ええなあ。がんばってや
0353デフォルトの名無しさん
2015/08/27(木) 05:45:42.82ID:hpMNnVK0その圏論を知らずにモナドを自由に使えているあなたが仮に圏論を学べば、
モナドを人に上手く教えたりもっと
自在にモナドを操れるようになるのかも知れないね。
0354デフォルトの名無しさん
2015/08/27(木) 05:55:16.94ID:V7YRDu0j0355デフォルトの名無しさん
2015/08/27(木) 07:04:42.40ID:gHMFOOrZその例を一つ二つ挙げてみてよ
0356デフォルトの名無しさん
2015/08/27(木) 07:15:24.26ID:MMHzsuN9ただ型推論を使って動的型付け言語のレベルに追いつけるかどうかの問題
0357デフォルトの名無しさん
2015/08/27(木) 07:48:02.01ID:2fn5iyFt0358デフォルトの名無しさん
2015/08/27(木) 07:58:41.43ID:MMHzsuN90359デフォルトの名無しさん
2015/08/27(木) 08:41:46.96ID:TbOH8VLZ0360デフォルトの名無しさん
2015/08/27(木) 08:53:04.69ID:2fn5iyFtffiで各々が呼びだせば解決する程度の話をする頭の悪さ
0361デフォルトの名無しさん
2015/08/27(木) 09:24:03.24ID:MMHzsuN90362デフォルトの名無しさん
2015/08/27(木) 09:57:44.93ID:8/UVeoJ+■ このスレッドは過去ログ倉庫に格納されています