関数型プログラミング言語Haskell Part28at TECH
関数型プログラミング言語Haskell Part28 - 暇つぶし2ch142:デフォルトの名無しさん
15/04/26 13:05:35.85 fCruzWL4.net
無能というより完全に有害

143:デフォルトの名無しさん
15/04/26 13:07:54.07 Kxjo5Nwd.net
>>139
なんとか健の本を読んだだけで、そいつがバカだと判断するのに十分だと言いたいわけね

144:デフォルトの名無しさん
15/04/26 13:36:15.63 A1wpxgFi.net
教育で得た正しさを使ってその正しさを証明する者と他の正しさを探す者がいる
前者はいかにも知識と教養にあふれているように見えるが
実際はエネルギーを消費するだけで何も生み出さないトートロジーである

145:デフォルトの名無しさん
15/04/26 13:42:11.12 2npT22yp.net
>>142
正しいことと証明できることとは別、という常識からすると、貴様の意見には同意しかねる

146:デフォルトの名無しさん
15/04/26 15:32:45.74 qgRFfbK0.net
岡部健はUCLAを仮にも卒業してるのだから、素養はあるんだろうさ。
C言語も実はできるのでは。

147:デフォルトの名無しさん
15/04/26 15:49:33.72 2npT22yp.net
コードを見ないことにはなんとも

148:デフォルトの名無しさん
15/04/26 16:54:25.20 L5p6tnBd.net
学歴が無いことは何も恥ではない。
恥なのは学歴を偽ることだ。

149:デフォルトの名無しさん
15/04/26 17:38:00.48 YIE+qGwA.net
あの文章でどうやってUCLAを卒業まで持っていけるんだ?

150:デフォルトの名無しさん
15/04/26 17:39:27.89 YIE+qGwA.net
本当にアメリカの大学をCSで卒業してるんなら、一人や二人はFBやTwitterで仲間との交流ぐらいあるだろうよ。
それが無いんだよ。学歴詐称に決まってるだろ。

151:デフォルトの名無しさん
15/04/26 19:34:37.24 JgRuu/Q5.net
駱駝とハムに比べたら岡部氏はもっと格上

152:デフォルトの名無しさん
15/04/26 20:45:41.96 e4tIRRVz.net
バックに何か付いてるのかな

153:デフォルトの名無しさん
15/04/26 20:55:12.20 Ql5jpImz.net
おまえらHaskellの話しろよ

154:デフォルトの名無しさん
15/04/26 21:05:58.90 KkAjQB1e.net
HaskellPlamform更新マダー

155:小保方晴子
15/04/26 22:23:21.53 CWSeILxV.net
まあ、私はちっとも驚きませんけどね。
2ちゃんねるでさんざん自作自演してる彼ですから。

156:デフォルトの名無しさん
15/04/26 22:54:30.08 GWsv7xfi.net
関数合成 (.) に関して一般的に交換法則は成り立ちませんが、
f . g の f や g によっては交換できる場合もあります。
交換法則が成り立つ必要十分条件はありますか?

157:デフォルトの名無しさん
15/04/27 07:49:04.83 wSLTFIGd.net
先ずプログラミング未経験の奴はソースコードをUTF-8で書けと言われても解らない
UTF-8で書くことを覚えてもターミナルの表示をUTF-8対応にできない
Shift-JISで日本語書き込んで詰む
そもそもターミナルなんて嫌でとっととグイアプリ作りたいのになんでターミナルで躓かなきゃならないんだとずぶ濡れの犬のような気持ちになる
もうややこしやといって敬遠する
このことが地味にHaskellへの新規流入を妨げている

158:デフォルトの名無しさん
15/04/27 08:14:27.11 7D8wCJnI.net
webブラウザで動いてjsの代わりになれば人気出るね

159:デフォルトの名無しさん
15/04/27 09:14:07.62 DOff7EOW.net
みんな考えることは同じ
URLリンク(qiita.com)

160:デフォルトの名無しさん
15/04/27 16:49:31.50 4SSIO0jR.net
>>151
するようなネタが全くないわけでして。

161:154
15/04/27 18:00:15.79 bzdehbpG.net
>>154
レスが付かないようなので、もう少し特定の場合に


162:絞ります。 ツリーやリスト、配列など、何らかの構造を持ったデータ型があるとします。 そのデータ型は構造の形と、その内容(ツリーの葉やリストの要素など)との組によって成ると考えられます。 このとき、内容に依存せずに構造の形を変える関数と、 構造の形を変えずに内容を変える関数とは、関数合成において可換です。 直感的には確かにこうなるとは分かるのですが、 なぜこれが成り立つのか、どのような構造のデータ型でも成り立つのか、 と問われると自信がありません。 このようなことに関して論じた論文やWebコンテンツ、書籍などはないでしょうか。



163:デフォルトの名無しさん
15/04/27 18:50:32.65 LJFJeOKy.net
URLリンク(twitter.com)

164:デフォルトの名無しさん
15/04/27 19:31:11.59 VB3BB2rW.net
haskellのはなしされても困る
難しいし

165:デフォルトの名無しさん
15/04/28 02:32:49.94 Vr1PFukf.net
イカ娘という藁人形くんは藁人形過ぎんべ。

166:デフォルトの名無しさん
15/04/28 02:48:39.41 Teqnn2Le.net
>>159
共役(conjugate)という概念が近い気がする
具体例としてはこんなの
URLリンク(ja.wikipedia.org)
今の話に連続性とかは全然要らないからもっと抽象化されたいい定義もあると思うんだけど
詳しくないのでこのくらいしか示せない

167:デフォルトの名無しさん
15/04/28 08:05:09.36 CdNtmvFe.net
177 :名無しさん@ゴーゴーゴーゴー!:2015/04/27(月) 18:37:49.73 ID:0nb1+zzF0
岡部によるMINIX談義
URLリンク(twitter.com)

168:デフォルトの名無しさん
15/04/28 12:09:01.30 xSgyLvy4.net
>>164
くっそwww

169:デフォルトの名無しさん
15/04/28 12:14:10.41 pmMjJKEE.net
ナベくんはやっぱり敵に回すと怖いことを再確認w
一応フォローを一時的に外しておいて良かったわww

170:デフォルトの名無しさん
15/04/28 14:13:57.53 8LxH1Yrp.net
>>159
何をきっかけに考え始めたの?
自然変換や多相関数っていうのは知ってるんだよね?

171:154
15/04/28 18:04:05.29 W3D8VZu+.net
>>163
ありがとうございます。
想像していたのとはちょっと違って抽象度が高そうですが、
がんばって学んでみます。

>>167
考え始めたきっかけは最適化です。
ポイントフリーで記述していた式の中で、たまたま2つの関数が
関数合成に関して可換なのに気づいたので交換してみたら、
交換後に隣同士になった関数同士が融合できて最適化できました。
その時は本当に偶然見つけたのですが、もっと効率よく発見できないかと思い質問しました。
条件が分かれば悩まなくて済み、また勘違いで交換してしまうこともなくなります。
Haskell のデータ値はすべて抽象構文木で表せるので、
その形や変換する部分木の位置などに依るのかなと思っていましたが、
圏論の話が出てくるのは予想外でした。

自然関数は名前だけは知ってます(内容は未学習)。
多相関数は要するに型シグネチャに型変数を含む関数ですよね。

172:デフォルトの名無しさん
15/04/28 18:49:24.22 s9k+iiT5.net
>>168
何らかの多相型をMとおいたとき、f : a -> bなる関数をmapで持ち上げたmap f : M a -> M bというと、
多相性を持ったまま何らかの操作を行う関数tx : forall a. M a -> M aは可換である、ということはなんとなく分かる。
多分、証明もできる。
もっと緩い条件もあるかもしれないけど、型レベルだとこの程度しか言えないんじゃないか?

173:デフォルトの名無しさん
15/04/28 22:38:28.56 8LxH1Yrp.net
>>168
自然関数じゃなくて自然変換だよw 
自然変換はほぼ多相関数と同義で、
あなたのいう「内容に依存せずに構造の形を変える関数」のこと
だから名前だけ知ってるじゃなくてちょっと中身も見てみたら
まあ>>169の言う結果になると思うが

174:デフォルトの名無しさん
15/04/28 23:26:28.54 W3D8VZu+.net
>>169
>>170
すいません、自然関数はただの書き損じです。
ちょっとかじる程度では全く理解できないので自然変換についてちゃんと学びたいのですが、
Wikipedia のような辞書ではなく、ステップアップで学べるようなもので、
おすすめの書籍やサイトはありますか?

175:デフォルトの名無しさん
15/04/30 12:52:33.36 XY0F0CkV.net
>>171
URLリンク(nineties.github.io)
最近見てなかったけどマメに手が入ってる、尊い...拝掌

176:デフォルトの名無しさん
15/04/30 14:12:01.94 XY0F0CkV.net
すいません拝掌は書き損じです><

177:デフォルトの名無しさん
15/04/30 20:39:45.77 Y/GqQ0EE.net
不正なノイズ

178:デフォルトの名無しさん
15/05/01 04:56:54.76 fVuNknYg.net
668 悶絶青年スエナガ ◆nHX7uJrJYv2Z 2015/04/30(木) 22:47:23.36 ID:Z5XSNckF0
皆さん、わかってないでつね( ゚∀゚)
彼は自作自演レビューについて、Twitterやここで騒がれていることについては、
「知らなかった」という筋書きにするつもりなんでつよ・・・・
そう、彼はTwitterや2chなんて見ていない、という「設定」を今、作り上げているのでつ( ゚∀゚)
その証拠に、いつもは瞬間湯沸かし器のようにTwitterに反応する彼が、今回は一切反応してませんwwwww
彼なりに、「必死に、必死に、必死になってガマン・ガマン・ガマン」してるのでつ( ゚∀゚)
反応してしまったら、Twitterをエゴサーチしていることがバレますから、
「アマゾンレビューで自演していた」ことが噂になってることを知らなかったことには出来ませんからねwwwwww
彼は後になって「え?そんなことが話題になってたの?僕は知らない」と言うために必死になって今は耐えているのでつよwwwww

179:不明なデバイスさん
15/05/01 07:51:16.60 bd+SwLlp.net
まじで興味ないんだけど
何で反応する人がいるんだろ

180:デフォルトの名無しさん
15/05/01 08:35:11.62 eutNCxIi.net
興味あるからじゃね?

181:デフォルトの名無しさん
15/05/01 17:47:37.74 F/SXJcEE.net
>>172
スライドを紹介していただいたこと自体には感謝の気持ちはあるのですが、
お礼を言う気分になれません。
このようなタイミングで言い方をそっくり真似されるのは、
小馬鹿にされたようで、あまり気分の良いものではありません。

182:デフォルトの名無しさん
15/05/01 18:32:23.93 bZSKV+U3.net
URLリンク(shindanmaker.com)
毛の壁うらない、おまえらもやれよ

183:デフォルトの名無しさん
15/05/02 02:10:23.61 jinFEowY.net
Haskellの考案者が亡くなったと聞いて駆けつけました

184:デフォルトの名無しさん
15/05/02 09:56:16.48 X3dtRZ+Y.net
どこでそんな情報が出ていたんだ?

185:デフォルトの名無しさん
15/05/02 13:00:24.67 5Y45W3x5.net
>>181
URLリンク(www.reddit.com)

186:デフォルトの名無しさん
15/05/02 20:43:21.60 xs/LOAyd.net
30分くらい喪に服せよ

187:デフォルトの名無しさん
15/05/02 21:47:06.15 R1nes/uM.net
訃報: Haskell設計者Paul Hudak氏
URLリンク(developers.slashdot.jp)
スラドでも取り上げれられてた

188: ◆C93WWgXd.E
15/05/05 07:12:28.31 rJmUZz/a.net
おら、自作自演レビュー失敗野郎
ホモの岡部!かかってこんかい

189:デフォルトの名無しさん
15/05/05 16:26:05.11 NTx27ZOo.net
>>184
コレでこの言語もおしまいだね 

190:デフォルトの名無しさん
15/05/06 13:13:54.56 d4s5gCSo.net
せやろか

191:デフォルトの名無しさん
15/05/06 18:51:40.54 lCIkxTrL.net
しょぼい質問ですまないが、
foldって多相関数?

192:デフォルトの名無しさん
15/05/06 19:02:30.29 x2IHNZjz.net
foldl :: (a -> b -> a) -> a -> [b] -> a
aとbは普遍量化されている。

193:デフォルトの名無しさん
15/05/06 19:15:58.04 lCIkxTrL.net
ということは、foldって自然変換であって自然性条件を満たしている?
foldの自然性条件がどんなものか想像できないんだ

194:デフォルトの名無しさん
15/05/06 19:18:01.71 x2IHNZjz.net
>>190
Foldable型クラスについて考えたら?

195:デフォルトの名無しさん
15/05/06 22:41:12.83 lCIkxTrL.net
>>192
もう少しヒントをくれないか

196:デフォルトの名無しさん
15/05/07 01:26:31.87 LlwVP2OT.net
自己解決キタ━━━(゚∀゚)━━━ !!!!

197:デフォルトの名無しさん
15/05/07 07:42:17.64 lfcx6TTy.net
学歴欄に注目。
3年前は「卒業」という文言があったが、今では無くなっている。

118 :名無しさん@ゴーゴーゴーゴー!:2015/05/07(木) 01:21:47.78 ID:gZ11Gp/P0
みなさん、この画像をダウンロードしてみてください。
URLリンク(twitter.yfrog.com)
(「Download this image」というボタンをクリック)
彼はかつて、Google+ではUCLA卒業と記載していたのが、現在では消えています。

198:デフォルトの名無しさん
15/05/07 23:33:22.66 zMQZR1+Z.net
一度自演してしまうと以降のそれっぽいだけの書き込みまで自演にしか見えなくなる
・・・加勢せざるを得ない人は自演に見えてしまうだけで自演じゃないんだよね?

199:デフォルトの名無しさん
15/05/07 23:44:18.25 SJ9cQ9MA.net
スレチ

200:デフォルトの名無しさん
15/05/08 15:20:28.66 2DPjDbBn.net
毛の壁の顔おもしろすぐる

201:デフォルトの名無しさん
15/05/08 19:12:29.86 Wsgktw33.net
身なりや人格批判ではなく専門分野の知識のみに対して攻撃していこうな

202:デフォルトの名無しさん
15/05/08 19:17:35.45 ZHeXF73S.net
いいえそいつに関する全話題がスレ違いです

203:デフォルトの名無しさん
15/05/08 22:15:32.46 Ewa40zmC.net
身なりや人格批判なんて、全体の何%あるんだ?
大半は記事の批判してると思うが

204:岡部健一
15/05/08 23:50:43.90 Tc9eNMtd.net
fx-toushi.jp/blog-entry-31.html
更新

205:デフォルトの名無しさん
15/05/09 06:13:42.20 R7pPsL7j.net
何年か前にこのスレでお勧めされてたhaskellの教科書のコードが
最近のGHCで動かなかったんだけどhaskellってそういうものなの?

206:デフォルトの名無しさん
15/05/09 08:35:23.33 Bw82nfhw.net
>>202
コード貼ってみ

207:デフォルトの名無しさん
15/05/09 09:03:40.24 v8DO1laq.net
どんなコードが動かないのか言ってくれないと
互換性100%保って開発されてる言語なんてほぼないでしょ
としか言えない

208:デフォルトの名無しさん
15/05/09 10:57:45.25 3DvLgZhI.net
n-kのやつでは?
大概の言語は互換性を可能な限り保存するけど
Haskellは割とバッサリオプション扱いしちゃうよね。

209:デフォルトの名無しさん
15/05/09 11:30:54.68 bNXnXiFr.net
実験言語の宿命ですわ
使うならHaskellと心中する気で使わないと

210:デフォルトの名無しさん
15/05/10 19:54:16.77 vvnbmxfh.net
LXRとかopengrokとかgonzuiとか、cross referencerと言うのでしょか、
ソースコード見る時にタグづけ・リンク付けしてくれる便利なのがあるけど、
Haskellのソースにつかえるものって何かありませんか

211:デフォルトの名無しさん
15/05/11 07:33:17.87 XnQMQgf4.net
URLリンク(qiita.com)
ある種の書籍にみられるAmazonレビューコメント評価の傾向
URLリンク(qiita.com)
『関数型プログラミングに目覚めた!』のレビュー(Day-2)

212:デフォルトの名無しさん
15/05/11 09:40:29.74 OkrNXSSQ.net
査読が機能してない出版業界ってもうダメかもわからんね
we reject kenokabe

213:デフォルトの名無しさん
15/05/11 17:08:39.11 rqU23QV5.net
最近のレビューは商売レビュー屋が書くので当てにならない

214:デフォルトの名無しさん
15/05/11 18:07:53.13 fXdd85Lw.net
本屋にたくさん平積みしていたよ‥世紀末だね‥

215:デフォルトの名無しさん
15/05/11 20:54:00.11 tVwc5MX9.net
毛の壁は張角
IQ本は太平妖術三巻の内の一巻

216:岡部健
15/05/13 13:19:35.89 7n8Agdd+.net
ボレロ、おまえは間違ってる。圏論の理解も間違ってる

217:デフォルトの名無しさん
15/05/13 14:09:57.50 8NL6fUzR.net
cabalバージョン違いのパッケージ共存できないのか
サンドバックって付け焼刃みたいな対応とか、cabalがクソ過ぎる
と思ってぐぐるとcabal hellとか出てくるしorz

218:デフォルトの名無しさん
15/05/13 16:04:09.96 ll6glzrw.net
結局人力でパッケージ管理とか何のためのcabalか分からなくなってくる

219:デフォルトの名無しさん
15/05/13 18:24:31.35 ONEyRCsc.net
DRYとかいう不気味の谷
全然違うパッケージの共存は許すが殆ど同じものは許さない

220:デフォルトの名無しさん
15/05/13 18:42:00.16 L4VSJ4+X.net
ボレロ有名だったのか。Twitterでフォローしてたけど

221:デフォルトの名無しさん
15/05/13 19:02:14.28 TGVGO327.net
つまらん揚げ足取りで岡部さんのエネルギを浪費させるのはやめてくれ。
あんな話をしてくれる人は他にいないんだから。
仙台のなんとか先生の話はもういいよ。つまらんから。

222:デフォルトの名無しさん
15/05/13 19:30:03.41 1/KrX9dS.net
ボレロって何?

223:デフォルトの名無しさん
15/05/13 23:09:50.99 4wfpqqcc.net
>>219
厨二じゃない人だと思います。

224:デフォルトの名無しさん
15/05/14 07:35:02.35 YnCF7Vuv.net
862 :名無しさん@ゴーゴーゴーゴー!:2015/05/14(木) 07:07:10.96 ID:SRiT9Cuo0
勘違いしてる奴が非常に多いが、岡部がQiitaを除名されたのは、
言説の怪しさではない。
個人情報の暴露を含んだ誹謗中傷をしたから。
これが全て。
直ぐに消されたから、知らないんだろうな。
863 :名無しさん@ゴーゴーゴーゴー!:2015/05/14(木) 07:09:53.94 ID:SRiT9Cuo0
「記事を丸ごと消してコメントを削除」するということを繰り返していたことは、
運営に睨まれる要因ではあったが、除名されたのは、
「誹謗中傷行為を繰り返したがら」。

これ、大事なことなので忘れないように。

225:デフォルトの名無しさん
15/05/14 18:54:37.99 PqTHUvj6.net
kenokabeは爬虫類

226:デフォルトの名無しさん
15/05/14 23:48:35.62 PU6/Ufkb.net
粘着軍は黒光りする昆虫

227:デフォルトの名無しさん
15/05/16 05:26:51.08 f/6HmmLw.net
岡部が言ってるだけなのに、なんであんなに関数業界の人は必死になってんの?
関数業界の人は一般的なニーズと乖離した所ばかり掘ってるよ。
一般的なニーズは、関数型プログラミングでは、どういう成果物が効率よく作れるのか
という実用部分であって、瑣末な部分の理論の正否なんて気にしてないんだよ。
岡部の本に間違いがあるかどうかはともかく、大枠で方向性を示したことは評価できると
思うんだけどな。その辺がわかってないよな。

228:デフォルトの名無しさん
15/05/16 11:10:08.35 m17hPiVk.net
オブジェクト指向が衰退したんじゃないかな
今ならOOを倒せるっぽいしその中心にいる人物は英雄になれる
OO全盛期には必死に逆張りしても骨折り損だったが今は違う

229:デフォルトの名無しさん
15/05/16 11:15:10.46 BDaO4G29.net
40台でもう後がない岡部にとってはワンチャンなんでしょ
OO叩きはいい看板なんだよ

230:デフォルトの名無しさん
15/05/16 11:47:43.20 SD2VGHuN.net
ぶっちゃけHaskellもLispと一緒で主流にはなれないでしょ

231:デフォルトの名無しさん
15/05/16 13:17:28.79 cTE7t72a.net
スピノザならあるいは・・・・。

232:デフォルトの名無しさん
15/05/16 13:35:34.95 ucBctojg.net
>>224 >>225
その通り

233:デフォルトの名無しさん
15/05/16 15:58:34.07 Lio5eCYO.net
いくらなんでも自演バレバレだろうがよ
バレてないとでも思ってんのかね

234:デフォルトの名無しさん
15/05/16 17:29:33.32 1wcuMTJn.net
関数型 vs OOという対立図式の方が売り込みやすい。マーケティングの
事がわかってない連中だけが騒いでる。ま、炎上して注目されるという
意味では悪い話ではないんだが。

235:デフォルトの名無しさん
15/05/16 20:47:21.57 m17hPiVk.net
多くの人にとって重要なのは対立することではなく簡単に勝てること
つまり逆張りしないことだ

236:デフォルトの名無しさん
15/05/16 20:52:20.70 SD2VGHuN.net
基地外が基地外理論喚いてるならほっとけばいいのに
コミュニティ(笑)の為にとか
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>

237:デフォルトの名無しさん
15/05/16 21:25:10.08 m8m9+RQQ.net
実際にQiitaとgoogle検索結果が汚染されたのは事実。
ここでkenokabe擁護?のような真似事している奴も中身について何も言及しないのも事実(>>224)。大枠って何?
日に何度か、書き捨てのようなレスをして荒らしている奴がいるのは事実。
物理板の荒れ方とよく似ているので、よく似た症状の患者がいるのだと推測。

238:デフォルトの名無しさん
15/05/16 22:53:41.06 1wcuMTJn.net
汚染厨来たなw
検索結果に文句があるなら、グーグルをdisるしかねぇだろ。
実は、グーグル先生のアルゴリズムでは、騒げば騒ぐほど検索上位になるんだぜ。
あと、qiitaの勝手管理者みたいな真似せず、君らが、独自にブログサービスでも
百科事典でも何でも作ればいいんだよ。人気が全く出ないだろうけど。
それに、無料で使わせてもらってるんだから、管理会社に迷惑かけるなよ。君ら
何様のつもりみたいな傲慢な人が関数界隈には多すぎる。
君らみたいなのが、初心者を遠ざけてしまい、イマイチ人気出ないんだよね。
ちょっとでも間違いがあると、人格まで全否定みたいな極端な奴が多い印象。

239:デフォルトの名無しさん
15/05/16 23:05:15.74 SD2VGHuN.net
まあGoogleが汚れるのはGoogleの責任だしQiitaが汚れるのはQiitaの責任だよな
例のアレが基地外なのは疑い様のない事実ではあるけども自称関数型コミュニティの識者()も勘弁してくれって感じ

240:デフォルトの名無しさん
15/05/16 23:19:10.31 ws39nzeu.net
いくら自演したって誰もまともに相手になんかしねーよ
自分のブログにでもひっこんでろ

241:デフォルトの名無しさん
15/05/16 23:42:59.03 5WGKvptr.net
騒動の収穫としては、岡部だけじゃなく、仙台の先生も同じく教祖タイプという
ことがわかったことだな。取巻きとしては、仙台の先生を祭上げておかないと
食扶持を失いかねないし、熱心な理由もわかる気がわかる気はする。
両者とも論理を越えたところで戦っているのだ。
一方、ビジネスとして見ると、マーケティング的には岡部は天才的なものを
持っている。キャッチーな用語を上手く編み出すのは天性のものだよ。

242:デフォルトの名無しさん
15/05/16 23:51:25.61 Xo5bM6FI.net
もしそうならこんなことにはなってないんじゃないか

243:デフォルトの名無しさん
15/05/17 00:09:05.06 vxP+UTbZ.net
仙台の先生って誰?

244:デフォルトの名無しさん
15/05/17 02:22:27.46 I4gH+GcU.net
bristle wall は火消し部隊を雇ったのか?急に書込が増えたな

245:デフォルトの名無しさん
15/05/17 03:46:18.69 KOELu0yT.net
別スレでやれ

246:デフォルトの名無しさん
15/05/17 09:52:55.38 XD8qkQRv.net
Haskellは難しいがC++も難しい
争いが絶えないとかいう問題ではなく統一したら難易度が倍になるから分離してるだけだ

247:デフォルトの名無しさん
15/05/17 09:57:22.35 ORYJ+N7V.net
> 仙台の先生も同じく教祖タイプ
仙台は教祖なんかじゃないよ。群れたがる三流学徒


248:だと確認できたよ



249:デフォルトの名無しさん
15/05/17 12:28:39.34 bObx+CyQ.net
すごいハスキル中の初学者です。
型クラスについて教えてください
Eq とか Ord とかの指定を習いましたが、これは言語処理系で組み込まれているものでしょうか?
それとも、実は自由に設定できる、あるいは自分流型クラスを設定できるように(学習が進めば)なるのでしょうか?

250:デフォルトの名無しさん
15/05/17 16:38:23.79 yjYevIhU.net
型クラスは自分で作れますが、クラスにはインスタンスが2個以上なければ無意味
なので同じ性質を持つ型を2個以上作るのですがそれはDRYの原則に矛盾する可能性があり
初学者にはおすすめ出来ません

251:デフォルトの名無しさん
15/05/17 20:30:26.93 /1M7kTbP.net
学習してる人にDon't Repeat Yourselfて…
既存の型を自作の型クラスのインスタンスにすることも、
自作の型を既存の型クラスのインスタンスにすることも、
既存の型を既存の型クラスのインスタンスにすることも、できる。
既にインスタンス化されている型と型クラスを書き換えるのは少し手間がかかる。

252:デフォルトの名無しさん
15/05/17 22:10:04.28 7pPi0iqf.net
> 既にインスタンス化されている型と型クラスを書き換えるのは少し手間がかかる。
えっそんなのできるの? くわしく
data Foobar = ... deriving Hoge
でHogeを自作するのは可能?

253:デフォルトの名無しさん
15/05/18 02:24:26.93 85kr6JxX.net
>>243
C++は簡単だろ。

254:デフォルトの名無しさん
15/05/18 03:09:26.48 eEjXu/P7.net
>>248 語弊を与えてしまったと思う。申し訳ない。
newtype MyFoo = MyFoo Fooとかやって、instance C MyFoo where ... みたいにすれば、
オレオレ定義のインスタンス化はできるよっていうだけ。
既にあるインスタンスと、それを使っているコードの動作は変えられないよもちろん。
個人的には>>247の3番目が通るのはどうかと思う。
下手糞が作ったライブラリを使わないといけなくなったら地獄が待ってる。
まだそんな事例には出くわしたことがないけど、塞げる穴じゃないのかこれは。

255:デフォルトの名無しさん
15/05/18 08:33:14.68 PFYZF6oW.net
                              ,.-―: ̄`ー::::::::::、
                            /::::::::::::.::::::::::::::::::::::::::::`::、、
                           /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
                           l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
                           l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
                          l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
                          l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
                          ヽ:::: ´、ひ> ;:  l .<ひ>'  、::::::::/
                         ヽ:::::    ̄ .)::;  l  ̄   l::::/    
                          、:::::..   /:::; .,-、     l:::/、
                         ,―::::::::  ゝヽ- ー' 、    l::/,、ヽ
                          l,、,、,,:、:: / ,--、,-.、_ l    /::::::,、,、l
                        l,、,、,、,、,、::、 `ー ̄-'   /:::::::::::,、,、l
                        l,、,、,、,、,、,、::ヽ      /::::::::、,、,、,、,ノ:\

256:デフォルトの名無しさん
15/05/18 11:41:43.76 1sYrNLv/.net
>>250
もし関数型が自然科学なら価値判断より事実が争点になる
「インスタンスになったら地獄」といくら主張しても
「インスタンスである」と事実を宣言されたら勝てない

257:デフォルトの名無しさん
15/05/18 14:08:32.13 J+DllwNy.net
>>252
健ちゃ、こんなところまできて自演?

258:デフォルトの名無しさん
15/05/18 14:33:22.46 NV1bgdqX.net
岡部は関数型でどんなアプリ作ったのか見せてくれよ。
自分は作ったことがないのに、「私の本を読めば作れるようになる」じゃ、詐欺だぞ

259:デフォルトの名無しさん
15/05/18 14:34:36.88 NV1bgdqX.net
あと岡部よ。アマゾンでてめぇの本をてめぇで高い評価しくさった事についても弁明しろや。

260:デフォルトの名無しさん
15/05/18 14:36:07.03 NV1bgdqX.net
おら、365日返金保証の教材野郎。逃げてんじゃねーぞ

261:デフォルトの名無しさん
15/05/18 14:41:12.33 aBJ9oZwQ.net
kenokabeもkenokabeアンチも氏ね
トンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが

262:デフォルトの名無しさん
15/05/18 14:48:21.07 J+DllwNy.net
>>257
>トンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが
意味わがんね

263:デフォルトの名無しさん
15/05/18 17:09:27.48 1sYrNLv/.net
同族嫌悪というか単純に名無しを嫌悪しているから実名を特定したくなるんだろう
正しいか誤りかという以前に名前が分からないのと意味が分からないのを嫌悪している

264:デフォルトの名無しさん
15/05/18 21:42:18.84 Za9DOvVn.net
>>249
糞むずいだろ
haskellとは別方向の難しさ

265:デフォルトの名無しさん
15/05/18 22:41:26.79 gkB/bqS0.net
C++が難しいとしたら、逆に何が簡単なんだよ。
C#やJavaも同程度には難しいだろ。
プロが使う実用言語で、それで飯食っているやつが居るんだから、
ある程度難しいのは大前提で、この程度で難しいといっていたら何も出来ないよ。
少なくとも、家を建てたり、自動車作るよりは、覚えることも少ないし、ずっと簡単だと思うが。
どこまで甘えるんだよ。

266:248
15/05/18 22:52:25.55 Se0XfJ+o.net
>> 250
なるほど。
instance定義だけをimportしない、って方法はないんだね。知らなかった。

267:デフォルトの名無しさん
15/05/18 23:17:47.47 Za9DOvVn.net
>>261
いや例えばcoders at work に出てくるような有名なプログラマでも
「難しすぎ」 「書ける気がしない」 「複雑すぎて何か間違っている」
とか言ってるぞ
Erlang作者「C++は満足に読めも書けもしません。C++は嫌いなんです。何か間違っているように感じます。複雑すぎます」
つかc++を簡単だって言ってる人の方が珍しくないか?

268:デフォルトの名無しさん
15/05/18 23:20:04.82 wsHCJh20.net
C++簡単とかいう大きすぎる釣り針にかかってやろうかと思ったがスレチではないかと心配になった

269:デフォルトの名無しさん
15/05/18 23:55:18.12 gkB/bqS0.net
だったら何が難しいか具体的に書いてみろよ。
比較対象はC#とJAVAでいいよ。

270:デフォルトの名無しさん
15/05/19 00:18:36.13 JW8ZA2Yc.net
constexpr

271:デフォルトの名無しさん
15/05/19 00:21:56.02 jGcxlJfu.net
逆にc++の何が簡単なんだw

272:デフォルトの名無しさん
15/05/19 00:24:26.22 F2BOffyE.net
難しいというかデザパタを使わなければならない不自由さが面倒

273:デフォルトの名無しさん
15/05/19 00:27:32.08 NL6C5oh4.net
CよりC++の方が簡単になった。
全ての状態に対してテストを行うことは所詮不可能なので、型が厳格なのが
多くのスクリプト言語に対してメリットになってると思う。

274:デフォルトの名無しさん
15/05/19 00:28:32.22 Ri/mEtfG.net
TIOBEで申し訳ないが、C++は3位。
URLリンク(www.tiobe.com)
みんな普通に使っているということ。
普通の人が普通に仕事で使う、普通の実用言語。
F#やHaskellみたいに難しくて人が寄り付かないような言語ではないということ。
そりゃ、BASICなんかのお子ちゃま言語と比べれは難しいかもしれないが、
プロフェッショナルの使う実用言語なんだからある程度は当たり前だろう。

275:デフォルトの名無しさん
15/05/19 00:41:45.17 jGcxlJfu.net
使ってる人多いから簡単とはならなくね
難しいから使わない 簡単だから使うとはならんし 
広く使われる言語って 別に言語が優れてるからとか簡単だからって理由で使われるわけではないし
c++はcとの互換性から使われてるし
後 実用言語って何よ
ocamlだってhaskellだってscalaだって実用言語だよ
「簡単」とはみなされないだけで

276:デフォルトの名無しさん
15/05/19 02:04:40.28 Ri/mEtfG.net
道具において、
使っている人が少ないから難しいとはならないが、
使っている人が多いなら簡単は、真だ。
だって、実際多くの人が挫折せずに使えているのだから。
その程度には簡単ということ。理解できないレベルではないということ。
たくさんの関数型言語が有り、そうでない言語より優れているのは
明白なのに、いまいち普及しないのは何故だと考える?
答えは、難しいからだ。
多くの人がCからC++にステップアップした。
今はそうでもないが、その昔は猫も杓子もC++を使っていた。
C++が簡単だったから問題なくステップアップできたわけ。
同じ事が関数型言語でも起こると思う?
Java→Scala、C#→F#にみんな移行出来ると思う?

277:デフォルトの名無しさん
15/05/19 02:09:03.78 JW8ZA2Yc.net
ないわーwww

278:デフォルトの名無しさん
15/05/19 02:11:36.89 Ri/mEtfG.net
>難しいから使わない 簡単だから使うとはならんし
ここが違うんだよね。
難しいから「使えない」 簡単だから「使える」 が正解。
C++はTIOBEで第三位。多くの人が「使える」言語。
多くの人が理解できない関数型言語と違って。
こんなに誰でも使ってるC++を難しいといってしまってよいの?
世の中には家を建てたり自動車を作ったり心臓移植までしている
人たちが居るというのに。ハードル低すぎじゃね?

279:デフォルトの名無しさん
15/05/19 02:30:37.22 JW8ZA2Yc.net
宣言文の文法がそもそもあんだけトチ狂ってんのに「簡単」とか言われましてもw

280:デフォルトの名無しさん
15/05/19 02:35:55.87 ZmlYhIi9.net
std::function<bool(int)> callback = [&](int n)->bool{
  return assign(n);
};
大変読みやすいです。

281:デフォルトの名無しさん
15/05/19 02:45:13.52 ZmlYhIi9.net
関数型の欠点は、従来の言語より優れていると言われる割に、優れている部分を
示せないことではないでしょうか。
偉大なる◯◯で使われているという話はよく聞くのですが、BASICもCも偉大なる◯◯で
使われているのは変わりありません。
マップ・リデュースで一万コア・・・なんて話も良く聞かされるのですが、そもそも
一万コアのマシンを持っていませんし、C++にもそういったライブラリはあるのですが、
今のところ使いどころはありません。
ですから全く使いたいと思えないのです。

282:デフォルトの名無しさん
15/05/19 02:53:32.65 JW8ZA2Yc.net
使いドコロがない世界で生きてるんなら使わなきゃいいじゃん。終了。

283:デフォルトの名無しさん
15/05/19 03:22:45.75 zSes0jIt.net
C++の機能のそれぞれの背景は多様で、グランドデザインは無いと言っていい。
一貫しているのは「C++が提供している機能を使わないプログラムは、それに伴うコストを負わない」っていう箇所くらいだ。
これに反しない限りはどんな仕様にもなっていく。文法もアドホックな部分が多い。
以下反駁:
>使っている人が少ないから難しいとはならないが、
と言った口で
>答えは、難しいからだ。
と言う論理の無さに震える。
多くの人が使えるなら簡単っていうことは、中国語が簡単だと言いたいんだろうな。

284:デフォルトの名無しさん
15/05/19 03:25:32.55 T8F04qpp.net
>>268
そんな宗教じみたもん無視するのがよろし
問題と向きあえば、最適な設計は自ずと導かれるもんよ

285:デフォルトの名無しさん
15/05/19 03:25:54.73 Ri/mEtfG.net
関係ないね。
モナドが難しすぎるから。
これに尽きる。
工学部出てても、圏論なんて聞いたこともねぇってやつがほとんど。
Wikiからして抽象的でそうとうの数学センスを要求される。
URLリンク(ja.wikipedia.org)
しかもC++のマイナー機能やSFINIEをつかった複雑なテンプレートと違って、
関数型言語においてモナドは必須事項。
慣れてきたらそのうち・・・というわけにはいかない。

286:デフォルトの名無しさん
15/05/19 03:29:07.25 sK241CbT.net
ま、一般大衆はC++のサブセットで満足していて、それは彼らが「使える」程度には簡単、ということなんだろうね。
>>272さんの言う通り、使っている人が少ないからって難しいとは限らないが、果たしてHaskellはどうだろう。
個人的には普及の障害になるくらい難しいとは思わないけど…

287:デフォルトの名無しさん
15/05/19 03:32:47.88 ZmlYhIi9.net
難しくてもメリットが上回れば使われると思います。
メリットが示されないので使われないのですよ。

288:デフォルトの名無しさん
15/05/19 03:45:36.89 sK241CbT.net
うーんそうかなあ、モナド難しいかあ。
初学者だった頃に引っかかった記憶はあんまりないけどなあ(むしろ(.)と($)にハマった。発狂しそうになった)。
だけど小学生の姪っ子をリストモナド使えるように教習しろって言われたら… 出来る自信ないわ。

ZmlYhIi9さんの意見にはぐうの音もでない。一般人がHaskell使って直接的に嬉しいことって、特にない気がするよ。
でもHaskellのスローガンは「可能なかぎり成功を避けろ」だからね。
人気ないのはむしろいいんだ。

289:デフォルトの名無しさん
15/05/19 03:56:54.04 Ri/mEtfG.net
>多くの人が使えるなら簡単っていうことは、中国語が簡単だと言いたいんだろうな。
偏差値40の中国人でも中国語をつかえることを考えると、中国語は簡単なんだろう。
中国語が本当に難しくて偏差値60無いと理解できない言語というなら、中国は滅亡するだろ。
た・だ・し、通訳は難しい。
だから中国語を通訳できる人は少ないし、それだけで飯が食える。
そして、プログラミング言語がネイティブな人は居ない。
しかしこんなことは言葉遊びだ。
TIOBE第三位の多くの人が日々普通に使ってる言語を「難しい」「理解できない」と感じるなら、
単にその人の能力が標準以下なだけ。
多くの人が理解できないほど難しいのであればTIOBE第三位になるのは無理。
関数型言語がまさにそれ。多くの人が理解できない。TIOBE第三位なんて絶対無理。

290:デフォルトの名無しさん
15/05/19 03:58:58.68 T8F04qpp.net
圏論がどうのといって悦に入ってる連中が障害じゃないの
手続き型言語のプログラマで有限オートマトンがどうのという連中はいないもの
Haskellには妙ちくりんな尾びれがついちゃってる感じ

291:デフォルトの名無しさん
15/05/19 04:13:41.82 ZmlYhIi9.net
C++は非常に簡単で、簡単であることそのものがメリットになっています。
ですからよく使われるのです。

292:デフォルトの名無しさん
15/05/19 04:31:48.32 F2BOffyE.net
池沼は病院から出すなよ鬱陶しい

293:デフォルトの名無しさん
15/05/19 07:19:11.46 GUw3UG1p.net
関数型言語にモナドは必須ってアホか
必須なのhaskelくらいだろ
そもそもwikiは糞だから参考になんねーよ
それにモナド使うのに圏論いらんし 型クラスの定義見ろ

294:デフォルトの名無しさん
15/05/19 09:13:31.09 WmVvlWKU.net
>>284
6年前のSPJ発言か、良い引用だ
しょうもない格付け君は wall of bristle に断絶されてればいいよw

295:デフォルトの名無しさん
15/05/19 09:17:44.17 MzsPfgik.net
理論上は抜けだらけだが実用上問題ないプログラムを書けるかどうか

296:デフォルトの名無しさん
15/05/19 09:45:45.16 JTaO2nL4.net
>>285
中国語が難しいか=C言語が難しいか
通訳が難しいか=C++が難しいか
ですね、わかります。

297:デフォルトの名無しさん
15/05/19 10:45:34.91 0SacHJgX.net
C++が難しいって発言をそのまま捉えてるアホ初めて見た

298:デフォルトの名無しさん
15/05/19 11:35:26.14 ZsRP29y3.net
C++コンパイラの保守が難しい
そこまで考えてるやつはC++は難しいと言う
そんなの想定外だとか未来の技術で簡単になるとかいう無責任なやつがC++は簡単と言う
このアンチパターンが半永久的に繰り返されるだろう

299:デフォルトの名無しさん
15/05/19 12:48:04.34 AXTyPS+t.net
言語選定レベルで悩んでいるようじゃ初級プログラマだと言わざるをえない

300:デフォルトの名無しさん
15/05/19 12:59:10.60 AXTyPS+t.net
言語は目標を達成するための道具だろ。
各々好きな言語でプログラミングして、最後に結合する作業が簡単にできるプラットフォームがあれば良いね。
単なるリンカではないぞ。
誰か作ってよ。

301:デフォルトの名無しさん
15/05/19 12:59:54.89 AXTyPS+t.net
てか未踏ソフトで応募して見ようかな

302:デフォルトの名無しさん
15/05/19 13:14:35.76 D1tZIuIK.net
F# は3月のTIOBE11位 (関数型トップ) です...

303:デフォルトの名無しさん
15/05/19 13:15:13.92 db2F8MVh.net
                  ,.-―: ̄`ー::::::::::、
                /::::::::::::.::::::::::::::::::::::::::::`::、、
               /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
               l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
               l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
              l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
              l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
              ヽ:::: ´、ひ> ;:  l .<ひ>'  、::::::::/
             ヽ:::::    ̄ .)::;  l  ̄   l::::/
              、:::::..   /:::; .,-、     l:::/、
               ::::::::  ゝヽ- ー' 、     l::/,    < 結城氏はリスペクトせよ
                ,:、:: / ,--、,-.、_ l     /
    ,.:':'゙'゙'゙:゙'゙':';.        、::、 `ー ̄-'    /
   r゙ ,.: :;;;:: : : :           、::ヽ      /:
   | : ::::~';::--ー'ー-----ーー;;:'゙ .: :` ‐- 、  |
  ,i    ::::::::::::::::::::::::::::::: ::: :ヾ        i
  r'     ::::::::::::::::: : : :::::: :::::  ::::. .      /
  |      :::::::::: : : : : ::: ::  ::         イ
  i      : : ::::::::::: : : ::::::: :         |
  |      ,.;イ-- .,           ,... -' i
   i      ,.;':/   ゙'ー-.,_ i    ,.イ::  /
  .i::::   /:/        ̄i   / ゙i   |
  │::  ノ::/         |   i   |  |
 r':: イ:::::i゙            |  |   i   |
 |:: | ヽ '-.,         ヽ 〈    ヽ ヽ.,
 i, , '-, ゙'ー'ー'          ヽ、`,ー、  `'ー'ー

304:デフォルトの名無しさん
15/05/19 13:21:14.57 TOz5556s.net
URLリンク(twitter.com)
岡部事件、
可能であれば、お仲間にもご周知を!

305:デフォルトの名無しさん
15/05/19 20:17:28.97 JXMeaZgm.net
たとえば皆、Haskellで各自思い思いに「倉庫番」を作ってみてくれ。
「パックマン」や「スターソルジャー」でもいい。
完成させるのに果たして圏論のどのような理解が必須だろうか?
あるいは、圏論の何を理解していればより効率的に作れる、
またはより効率的なものが作れるだろうか?
モナドはどこまで深く理解していなければならないのだろうか?
実際にやってみれば分かるが、思ってたよりも浅いモナドの理解で作れるはずだ。
恐らく入門書に書かれている程度の理解で十分。
圏論にいたっては意識すらしなくても良いはず(知らずに使ってる事はあるかも知れん)。
今時のマシンで普通に動くこの程度のアプリケーションで良ければ、
モナドが難しすぎるから作れないなんてことは絶対にない。
それなのに、声のでかい一部のバカが無責任に難しいと連呼するから、
門の前で中をうかがっている入門予備軍を怖じ気付かせる。

306:デフォルトの名無しさん
15/05/19 20:30:46.38 JW8ZA2Yc.net
描画の話してんの? SDLバインディング使うなら単なる手続き型のプログラミング(嬉しくない)。
盤面上のデータ操作でもまあLearn you Haskellくらいを読んでれば十分だろ。
実際のところモナド変換子程度まで理解してれば困ることなんて殆どない。
Haskell難しいと連呼するのはHaskell触ってないやつ(いや確かに難しいけど)。
Haskellerが初心者に向かって圏論が~なんてわけのわからん
威嚇をする実例はなど別にないと思うのだが。

307:デフォルトの名無しさん
15/05/19 21:15:19.01 Ri/mEtfG.net
現時点でHaskellが難しくないことを証明するのは無理。いくら何言っても無理。
Haskellが普及して、TIOBE第三位になるぐらいに広く使われるようになって初めて、
Haskellは多くの人が理解できる程度に難しくない、ということが、
統計的に証明できる。

308:デフォルトの名無しさん
15/05/19 21:27:02.56 SB6c5oWN.net
>>302
圏がどう射がどうとか語り始めるモナドチュートリアルは見たことある
モナドは何であるかじゃなくてどう使うかに絞った解説があればいいのに
Stateモナドもスタック実装して終わりで え?こっからどうやって実用するの!?とか思った記憶

309:デフォルトの名無しさん
15/05/19 21:30:12.17 jGcxlJfu.net
だから言語の普及度は言語の難易度で決まるわけじゃないだろ
haskell難しいけど難しいから流行ってないわけじゃない
とういうかhaskellがたとえこの世で最も簡単な言語であったとしても
TIOBE第三位になる事はないから

310:デフォルトの名無しさん
15/05/19 21:31:23.95 1/0u9cTV.net
偏差値40だろうが30だろうが日本人なら日本語使えるから日本語って簡単なんだね

311:デフォルトの名無しさん
15/05/19 21:44:28.21 JW8ZA2Yc.net
>>304
様々な層に向けたそれぞれのチュートリアルがあるだけだろ。
数学的指向があったら最初に圏や関手の話から導入された方がわかる。
それに各モナドごとの個別チュートリアルは際限がなくなるからなあ。
モナドはなんというか見よう見まねで書き続けてると
ある時ふっ、とわかるんだよね。まあそういうもんだと思うしかない。

312:デフォルトの名無しさん
15/05/19 21:55:23.18 Ri/mEtfG.net
>>305
お前は本当に頭が悪いな。
Haskellが普及してTIOBE第三位になれば、
Haskellは多くの人が理解できる程度に難しくない、ことが
統計的に証明できるんだ。
逆は知らん。
もし、Haskellが難しくなかったらTIOBE第三位になれるはず、とは誰も言ってない。
逆裏対偶ぐらい、習っただろ。

313:デフォルトの名無しさん
15/05/19 22:03:44.54 1/0u9cTV.net
誰かHaskellが難しくないって言ってる人いるの?
誰と戦ってるの?

314:デフォルトの名無しさん
15/05/19 22:29:33.06 Db21bduT.net
モナド変換子難しいよお。。。

315:デフォルトの名無しさん
15/05/19 22:46


316::21.27 ID:sK241CbT.net



317:デフォルトの名無しさん
15/05/19 22:53:16.69 0SacHJgX.net
モナドの実用例ならhackageにゴロゴロ転がってるじゃん
それだけじゃ入門者に優しくないって事ならその通りだけど。

318:デフォルトの名無しさん
15/05/19 22:57:09.05 jGcxlJfu.net
>>308
だからTIOBEの順位と難しさは無関係だっつーの
言語の普及度は言語の難易度で決まるわけじゃない
つかhaskell難しくないなんていってねーし

319:デフォルトの名無しさん
15/05/19 23:04:59.38 jGcxlJfu.net
第一 TIOBE()の順位なんかより
高名なプログラマの意見の方がずっと参考になるだろ
例えば coders at workとかさ
難しいところを挙げろというが逆に簡単なところを挙げてほしいくらい

320:デフォルトの名無しさん
15/05/19 23:06:55.74 sK241CbT.net
>>312
言われて探してみたんだけど、たとえばリストのdoの例は見当たらなかったよ。
初めのころ、確か、すごいH本で解説を読んで、感動した記憶がある。
あとはParsecの解説サイトでApplicative、Monadの用例を見て、雰囲気をつかんだ(気になった)。

321:デフォルトの名無しさん
15/05/19 23:17:27.46 JXMeaZgm.net
>>315
気になっただけで、実際は雰囲気すら掴めなかったのはなんで?
そこの解説になにか問題があったの?

322:デフォルトの名無しさん
15/05/19 23:17:59.37 0SacHJgX.net
>>315
リストのdo記法は考えてなかったわ。
モナドを自作するとこんな事が出来るとか、そういう事を指して実用って言ってるのかと思ってた。すまん。

323:デフォルトの名無しさん
15/05/19 23:50:39.22 Ri/mEtfG.net
>>313
>だからTIOBEの順位と難しさは無関係だっつーの
関係あるっつーの。
少なくともシェアの大きい言語は、多くの人が理解できてるんだから、
その程度には難しくないことが統計的に証明されるだろ。
変な話、凡人でも理解できてるんだから。
難しくて一部のエリートしか理解できないってことは無いんだよ。

324:デフォルトの名無しさん
15/05/20 00:01:02.66 xG2YivgY.net
>>318
>少なくともシェアの大きい言語は、多くの人が理解できてるんだから
使っているかといって理解できいるとは限らなくね?
>変な話、凡人でも理解できてるんだから
>難しくて一部のエリートしか
なお一部のエリートや天才レベルでも難しいと感じている模様
日本でも某ocaml使いとか愚痴ってたような
ていうか俺も仕事でc++を使うときあるけどc++を理解しないで使ってる連中の頭をかち割りたいね

325:デフォルトの名無しさん
15/05/20 00:02:05.71 j7/9a0p9.net
ここにいる諸兄にはおわかりでしょうがこの荒らしはプレステを手に入れてスーファミをこき下ろしてる連中と同じメンタリティの奴です
弱い自分が強いと思いこめる武器を手に入れて暴れてるだけです
どうぞ生温かくても冷たくてもいいので見捨ててやってください

326:デフォルトの名無しさん
15/05/20 00:06:06.64 xG2YivgY.net
つか理解されてるから使うんじゃくて仕事があるから使うんだろ
javaやjavascriptだって全然分かってない人が使ってたりしますし
ていうかtiobeって話題になってる言語を選定するサイトじゃなかったっけ?

327:デフォルトの名無しさん
15/05/20 00:39:39.55 hcXMT3AI.net
"language programming" でググってヒットした件数らしい。
使ってる人口じゃなくて、使っててこれどう書くのーってネットに書いてる人口を反映してるよね。
前者が多ければ当然後者も増えるが、難度が増しても後者は増える。

328:デフォルトの名無しさん
15/05/20 00:47:54.79 tyUici8H.net
>>316
や、書き方が悪かったよ。今でもモナドの使い方を淀みなく完璧に理解してるか? って自問したら、そこまでの自信は無いなあ。と思ってさ。そのサイトの解説はグッドでした。
>>317
いやいや俺なんてHaskell歴5年くらいになるけど、未だにMonadインスタンス自作したこと無いぜ… (deriving除く)

329:デフォルトの名無しさん
15/05/20 01:06:36.36 sW1Q6d6X.net
>>323
俺もHaskell歴そのくらいだけど、自作Monadは2個だけだよ。
ほとんどの事は既にあるモナドで足りるよね

330:デフォルトの名無しさん
15/05/20 13:10:54.59 1z9LSkg7.net
「モナドというものは作ろうと思って作るのではなく、
作った型が実はモナドだったということが多いのです」
みたいなことをすごいH本か何かで読んだ

331:デフォルトの名無しさん
15/05/20 14:32:34.25 XsmEqg/3.net
それは、Monadってそんなに自然なものなんだよって言ってるんだと思うが、
オレは、FunctorやApplicativeに比べるとえらく不自然だなって思う

332:デフォルトの名無しさん
15/05/20 16:10:01.72 2N8UJ/7p.net
ラムダ計算で作れるデータ構造は大体 (->) で出来ている
(->) で作れる型はあれもこれもモナドだったから大半の型はモナドになる
モナドクラスは表向きは個々のインスタンスに依存しないふりをしているが
本当は (->) の力が無ければ何も出来ない

333:デフォルトの名無しさん
15/05/20 19:36:47.33 dadGQyQV.net
>>323
モナドを完璧に理解することが目的(目標)なら、がんばれとしか言いようがない。
でも、何かを作ることが目的で、その手段としてモナドの完璧な理解が必要だと考えているのなら、
落ち着いて、完璧な理解までは必要としない方法を模索してみることを勧める。

334:デフォルトの名無しさん
15/05/20 19:48:41.11 XsmEqg/3.net
>>327
> ラムダ計算で作れるデータ構造は大体 (->) で出来ている
> (->) で作れる型はあれもこれもモナドだった
これはどういうことを言ってるの?

335:デフォルトの名無しさん
15/05/20 21:00:24.87 +UYg+JjB.net
>>329
関数に型を付けたら実はそれは>>=と同じ構造を持ってました

336:デフォルトの名無しさん
15/05/20 22:24:23.25 2N8UJ/7p.net
newtype Foo a b = Foo (a -> b)
newtype Bar a b = Bar ((b -> a) -> a)
の二つが基本
他に類似品みたいなのがいっぱいあってみんなモナド
b -> (c -> a) -> a
b -> (b -> c -> a) -> a
(b -> a) -> (c -> a) -> a

337:デフォルトの名無しさん
15/05/20 22:38:43.62 XsmEqg/3.net
>>331
どれもモナドにはみえないんだが、
どう見たらモナドになるんだ?

338:デフォルトの名無しさん
15/05/20 23:45:21.62 tyUici8H.net
>>328
ありがとう。俺自身は、使う分には不自由してないんだ。初心者向けにモナドクックブック書いたら売れるかなあ、って思ってさ。
>>331
Fooがリーダーモナドで、Barが継続モナドですよね。
下のもモナドになるの?

339:デフォルトの名無しさん
15/05/21 00:00:34.02 de5tZE8e.net
CがHaskellのコード中に直接書けるようになったと聞いて駆けつけました

340:デフォルトの名無しさん
15/05/21 00:36:31.12 CoyRjUjS.net
そのまま帰っていいぞ

341:デフォルトの名無しさん
15/05/21 08:06:45.42 8IjR4TZr.net
*Hask圏のなかにいる*

342:デフォルトの名無しさん
15/05/22 16:33:13.83 rEwHo9Uc.net
週末 inline-c で遊べるように haskell-platform-2014.2.0.0 用意できた
build環境には debootstrap + schroot が便利という知見を得た

343:デフォルトの名無しさん
15/05/22 21:31:26.16 ISp/Va/9.net
わぁい知見 あかり知見大好き

344:デフォルトの名無しさん
15/05/23 11:21:43.20 0SRxUMd7.net
知見(環境構築で苦しみたくないという気持ち)

345:デフォルトの名無しさん
15/05/23 14:14:24.76 UgSbq8g0.net
誰だって論理に集中したい筈だ

346:デフォルトの名無しさん
15/05/23 16:41:37.34 lgd4dVFx.net
環境構築ってクソつまらんのに大抵の言語でハマりどころ盛り沢山だからな

347:デフォルトの名無しさん
15/05/23 18:06:20.76 BXmR/qwL.net
このツール使えねえと思ったら正直に全否定すれば苦しまなくてすむし
その方が建設的かもしれない
LinusがCVSやSubversionを全否定したみたいに

348:デフォルトの名無しさん
15/05/23 18:35:43.05 JvMC0aIf.net
インストーラと別にコマンド叩いてDevkit入れる必要があるうえ手作業で証明書入れないとパッケージ管理システム使えない国産言語が初心者向けなくらいですし
ほんと余計な苦労させられる

349:デフォルトの名無しさん
15/05/23 20:15:12.23 fe/IYzrE.net
LinusはC++も扱き下ろしてる

350:デフォルトの名無しさん
15/05/24 09:43:51.03 cgfZawIe.net
StroustrupもC++はジョークだったと言ってる

351:デフォルトの名無しさん
15/05/24 19:42:49.77 3b2NjmUt.net
cabal installしようとしたらbaseのバージョンが今のより古くないとダメだと言われた。
さすがにbaseの衝突回避は無理か

352:デフォルトの名無しさん
15/05/24 20:15:13.71 XsNzee8o.net
>>346
俺なら、そのインストールしようとしているパッケージがアップデートされるまで、
下記の方法でしのぐ。
そのパッケージの .cabal ファイル内の build-depends の項にある
base のバージョン指定を高くする。
cabal configure
cabal install
コンパイルエラーが出たらその箇所を修正し再度インストール。
エラーが出なくなるまで繰り返す。
テストが用意されているパッケージならテストもしておいた方がいい。

353:デフォルトの名無しさん
15/05/24 21:27:46.60 +ZfT5bPb.net
目的のパッケージが更新されたら通知してくれるソフトくれ

354:デフォルトの名無しさん
15/05/24 22:55:26.97 XsNzee8o.net
>>348
せっかく Haskell があるのだから、試しに作ってみてはどうだ?
いろいろ勉強になるかも知れん。
俺は特に必要とはしていないから取りあえず興味ないが。

355:デフォルトの名無しさん
15/05/24 23:21:49.16 vsIUw6N4.net
>>348
#!/usr/local/bin/zsh
local PACKAGE=$1
cabal list --simple-output --installed $PACKAGE | tail -n 1 | read CURRENT
cabal list --simple-output $PACKAGE | egrep "^$PACKAGE " | tail -n 1 | read LATEST
test $CURRENT = $LATEST
を package-is-latest.sh とでもしてファイルにしておいて、パスを通しておく。
で、
cd yourproject; zsh package-is-latest.sh hogehoge || echo UPDATEEEEEEEEEDDDDD
をcronに登録するなりして適当なタイミングで実行するようにしておく。
echoのメッセージをsendmailにするなり、cabal install hogehogeにするなり、好きにしろ。

356:デフォルトの名無しさん
15/05/24 23:36:19.30 vsIUw6N4.net
なんか最近のcabalはいろいろ便利になってるらしいよ。
Before
alias ghci="ghci -package-db .cabal-sandbox/*-packages.conf.d"
After
alias ghci="cabal exec ghci"

他にも
cabal exec runhaskell でsandbox考慮してコンパイル実行とか、
cabal exec ghc-pkg list でsandbox内のパッケージ列挙とか。

357:デフォルトの名無しさん
15/05/24 23:52:10.59 vsIUw6N4.net
すまん間違えた、
alias ghci="cabal exec -- ghci"
の方がベター。cabal repl と比べて、hsファイルを渡して実行できるとこがよい。らしい。
おまえらも haskellマメ知識 晒してけ。

358:デフォルトの名無しさん
15/05/25 00:01:02.95 2thWXfeV.net
そんなのマメ知識とか言われても困る

359:デフォルトの名無しさん
15/05/25 08:21:00.05 GzRiv4UP.net
#知識for糞ザコHaskeller

360:デフォルトの名無しさん
15/05/25 11:39:32.92 qzlNoXZk.net
>>346
あきらめてGHCのバージョン上げましょう

361:デフォルトの名無しさん
15/05/25 22:26:35.18 gWg9G8z2.net
>>355
インストールしたいパッケージが想定しているより、
今のGHCのバージョンが高いから base が新しすぎると言われているのでは?

362:デフォルトの名無しさん
15/05/26 07:43:43.97 shSvTWy+.net
C/C++なら依存するライブラリを#ifで切りかえるね
プリプロセッサを捨てて一本道になった言語は依存関係が一つ壊れるだけで致命傷になる

363:デフォルトの名無しさん
15/05/26 12:56:29.60 Y4vROO87.net
Cのプリプロセッサ(笑)

364:デフォルトの名無しさん
15/05/26 13:07:38.46 xYtlptqc.net
>>357
>プリプロセッサを捨てて
とりあえずGHCのことじゃないことだけはわかった

365:デフォルトの名無しさん
15/05/26 13:52:36.05 nTvEmyje.net
プリプロセッサが悪用されるのは意識が高い人間が使った時だから
嘲笑することで意識を低下させるのはある意味正しい

366:デフォルトの名無しさん
15/05/26 19:09:40.90 XXhPjawb.net
意識が高い連中は隔離してやろう
彼らが楽しく砂遊びできる環境

367:デフォルトの名無しさん
15/05/26 21:26:37.23 8xzkswfT.net
こうどなあおりあい

368:デフォルトの名無しさん
15/05/27 08:11:39.10 tHNT180U.net
[クェィザィ.クォート]

369:デフォルトの名無しさん
15/05/27 14:47:53.27 IRVvjMC1.net
URLリンク(kenokabe-techwriting.blogspot.jp)

おい、岡部が住井先生を相手に公開スキル対決したいと言ってるぞ!
会場どこにする?

370:デフォルトの名無しさん
15/05/27 16:37:40.89 j/Edc2+c.net
>>364
うぜえからここに引用されてるドーキンスの文章でも暗誦してろよ
URLリンク(d.hatena.ne.jp)

371:デフォルトの名無しさん
15/05/27 19:47:09.26 NxdwWN3a.net
>>364
とにかくまず「先生」つけるのやめろ
お前は家来でも俺たちは違う
話はそれからだ

372:デフォルトの名無しさん
15/05/27 19:58:53.76 dwpwEnF2.net
みんな時間を守らせるのが好きだから
もうずっと未解決の問題に対しても
制限時間を設定してやれば時間内に成果が出るんじゃないかと錯覚してしまう

373:デフォルトの名無しさん
15/05/27 20:22:08.94 yzh13mxX.net
こうあおどなりあい

374:デフォルトの名無しさん
15/05/27 20:22:49.61 iCUdlE3X.net
てか毛の壁ってなんでこんなに粘着発狂してるの?
現実世界に友達が居ないから、ネットで相手してもらえるのがうれしいの?
仕事無いから暇なの?炎上マーケティング?
それとも、ネットであやふやなことを適当に言いまくって、
誰かに指摘させることで自分がスキルアップできる戦略?

375:デフォルトの名無しさん
15/05/27 20:27:57.54 B0g6EoUC.net
 発 者 同         . 。_   ____           争 
 生 同 .じ     .    /´ |  (ゝ___)          い 
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、 
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j      
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´ 
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\ 
             /   ..:.:.}   /   |∨ ` ̄ 
            /   ..:.:./    |   丶 
           / _、 ..:.:.:.{    .{.:.:.   \ 
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ 
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ 
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:} 
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:} 
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X 
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y 
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\ 
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄> 

376:デフォルトの名無しさん
15/05/27 22:10:38.46 3uTYMaQf.net
争いっつーたって 反論に対して発狂してるだけやん
どうしろと

377:デフォルトの名無しさん
15/05/27 22:23:47.94 UvDWsdEw.net
NGしろ

378:デフォルトの名無しさん
15/05/27 22:39:08.49 j/Edc2+c.net
諸君、議論するのをやめたまえ

379:デフォルトの名無しさん
15/05/27 22:52:27.13 CaKPB6kG.net
こうどな、おどりあい

380:デフォルトの名無しさん
15/05/28 03:03:31.40 gCuhL1rI.net
でもあんな調子じゃ人と関わる仕事は無理だよね。どうでもいいけど。

381:デフォルトの名無しさん
15/05/28 07:50:15.34 oT6P6+n+.net
反論してる時点で同じ土俵に乗ってる
基地外(特に構ってちゃん系)は一切反応せずまるで存在しないかのように振る舞うのが一番効くと思うけど

382:デフォルトの名無しさん
15/05/28 08:58:11.27 clFLgS2F.net
>>373
おいwwwwwwww

383:デフォルトの名無しさん
15/05/28 12:15:04.59 hQk09exV.net
結城さんが面白がって彼を弄るから余計に彼が暴れるんだよな・・・・

384:デフォルトの名無しさん
15/05/28 12:57:16.48 q7N6UgpT.net
これが積極的に弄る平和主義なんだよな
いやなら積極的代案を出せ
消極的異論は認めない

385:デフォルトの名無しさん
15/05/28 15:27:38.42 4gR+9k9M.net
インテリ層の娯楽はいつの世も残忍よな
コロシアエ-

386:デフォルトの名無しさん
15/05/28 19:32:48.07 TqklPbnT.net
>>378
えっ、結城さんそんなことしてるの?
あの人だけはバカなことに関わらないと思ってたのに。

387:デフォルトの名無しさん
15/05/28 20:47:10.51 q7N6UgpT.net
一切誓いを立ててはならないんだよな
バカなことに関わらないという義務はない
どうするかは自由

388:デフォルトの名無しさん
15/05/28 21:58:53.30 gCuhL1rI.net
俺の想像だけど、毛の壁は東洋哲学全快なんだと思う。
でも数学もソフトウェアも西洋の物だから。
それを変に東洋風に解釈しなおして可笑しくなっているんじゃないかと予想。

389:デフォルトの名無しさん
15/05/28 23:05:28.91 gCuhL1rI.net
そんで何かあったなって考えてたんだけど、ハンプティーダンプティーだ。
URLリンク(ja.wikipedia.org)
「「名誉」という言葉をあなたがどういう意味で使っているのか、よくわからないわ」アリスが言いました。
するとハンプティ・ダンプティは馬鹿にしたような笑いを顔に浮かべました。
「もちろんわからないだろうさ、僕が説明しないかぎりね。僕は「もっともだと言って君が降参するような素敵な理由がある」という意味で「名誉だ」と言ったんだよ!」
「でも、「名誉」という言葉に「もっともだと言って君が降参するような素敵な理由がある」なんて意味はないわ」アリスは抗議しました。
「僕が言葉を使うときはね」とハンプティ・ダンプティはあざけるように言いました
「その言葉は、僕がその言葉のために選んだ意味を持つようになるんだよ。僕が選んだものとぴったり、同じ意味にね」

390:デフォルトの名無しさん
15/05/29 11:33:50.58 UvEliUlK.net
ハンプティダンプティの言葉はウソというより秘密という方が近い
詐欺は犯罪だが秘密は犯罪ではない

391:デフォルトの名無しさん
15/05/29 14:59:20.11 QoqBsPX0.net
賢者は相手が無知なら相手の解る言葉の組合せで話してやるもの。
上から衒学的単語を浴びせかけるのではなく、自ら同じ知識水準まで降りていって話すものだ

392:デフォルトの名無しさん
15/05/29 17:40:28.18 2KSZyB2Q.net
>>383
件の人物はどうでもいいが、それにかこつけて東洋哲学や数学をdisるのはやめてほしいw
近代、既に井上円了や西田幾多郎をはじめ、優れた哲学思想者がいたし、近世にさかのぼっても、
和算は優れた数学の体系とみなしうる。先人が件の人物の主張を聞けば、へそで茶を沸かすだろうw

393:デフォルトの名無しさん
15/05/29 17:54:20.08 2KSZyB2Q.net
>>386
まったくその通りです。>>387に絡めて言えば、東洋思想や仏教全般に不案内な人々に対して、
相手の解りやすい論理の枠組みで対話し、西洋哲学だけが思考の最高峰に立つのではないことを、
米国や西欧で知らしめたのが、鈴木大拙。鈴木が伝えた"禅"は以後、世界的な影響を保っている。

394:デフォルトの名無しさん
15/05/29 18:41:37.14 UvEliUlK.net
でもそういう偉い人自身より「もしドラ」みたいに便乗してる人の方が「解りやすい」
と評価されるパターンが多い
だから解りやすさという基準は使いたくない

395:デフォルトの名無しさん
15/05/29 18:50:35.89 rC7lKM23.net
スレ違い氏ね
Haskellerってこんな胡散臭い似非哲学者ばっかなの?

396:デフォルトの名無しさん
15/05/29 20:11:55.35 eyi3DmdL.net
>>378
「面白がって」ってのは全然あたってないと思うけど。

397:デフォルトの名無しさん
15/05/29 20:57:19.41 5MhrblBL.net
また変なのが沸いたもんだな。禅がどうとか。関数型はこういうやつの集まりなのか?
技術者ならありのまま受け入れろよ。空想に浸ってんじゃねーよ。禅も糞もあるかよ。
再解釈や独自の世界観も要らん。そういうことがしたければエヴァンゲリオンの監督でもしてろ。

398:デフォルトの名無しさん
15/05/29 21:32:12.05 CaA5FwTY.net
雑談。Haskell のコメントの -- って何かから受け継いだの?

399:デフォルトの名無しさん
15/05/29 21:59:14.56 6mGsQHLK.net
>>390 >>392
ただのあおりだと思うけど、長く続ける話でもないので、一応、一度だけ返答を。
Haskellどころかプログラムコード全般を書くのに、禅や、井上・西田・鈴木の思想に触れる必要なんて、
まったくなく、主張もしてません。そういう類のことをやって悦に入っているのは、件の人物です。
>>387>>383への、>>388>>386への話に対する"例示"として出しただけです。
いわば、プログラムでいうところの、特定の箇所�


400:フみ有効な、ローカル変数としての扱いの話題で、 Haskellスレ全体に及ぶグローバル変数的な話題ではありません、お間違いなく。 なお、Haskellは意図せずに変数がグローバルに扱われることを防ぐ手立てが、独特かつ学びがいも あるので、興味があるのなら、各種情報をあたってください。



401:デフォルトの名無しさん
15/05/29 22:24:42.09 UvEliUlK.net
ありのままを受け入れることと
意図しないことを防ぐことは
両立しないと思うがどうするんだ

402:デフォルトの名無しさん
15/05/29 22:28:07.67 1bdHe0ko.net
>>395
時々ありのままを受け入れて
時々意図しないことを防げば良いだけだと思うが

403:デフォルトの名無しさん
15/05/29 23:00:38.74 5MhrblBL.net
ありのまま受け入れた上で、
意図しないことを防げばよい。
相手の言うことをよく聞いて、十分理解したうえで、
それを否定的に考えるかどうかは当然自由だわな。
それを相手の言っていることが、理解できないからといって、
自分の辞書で再解釈し始めると、
会話が通じなくなってきて、あの人みたいになる。
これは最も相手をイラつかせる方法だろうな。
はっきり言ってケンカになる。

404:デフォルトの名無しさん
15/05/30 00:06:51.02 y2xM1Hhu.net
おれは両立しないと思うから意図は無視する
意図的に作ったものと自然にできたものを区別しない

405:デフォルトの名無しさん
15/05/30 01:53:48.06 /LSFXZZf.net
そろそろHaskellの話してくれませんかね

406:デフォルトの名無しさん
15/05/30 08:55:45.75 I7OEXYWz.net
>>390
岡部健(毛の壁)のような最先端が不在だよね

407:デフォルトの名無しさん
15/05/30 11:19:25.28 99bpmAVW.net
芸人の話はもういい

408:デフォルトの名無しさん
15/05/31 07:54:58.92 tRtL6h/C.net
>>381
>えっ、結城さんそんなことしてるの?
>あの人だけはバカなことに関わらないと思ってたのに。
キリスト教徒は愛とか善とか押し売りするクズばっかりで嫌い

409:デフォルトの名無しさん
15/05/31 09:07:02.06 6v3o16Hx.net
結城さんに手出しできなくてプルプルしとるな

410:デフォルトの名無しさん
15/05/31 09:52:05.60 y0vichKB.net
数学ガール、どうなんだろう、チラ見ではめんどくさそうであきらめたんだが

411:デフォルトの名無しさん
15/05/31 10:22:25.59 /wZ7j18U.net
cabal configure && cabal build && cabal sdistすると、Main.hsしか梱包されないんだけど、ソースを全部梱包するにはどうしたらいいですか?
実際のソース
src/Main.hs
src/Util.hs
src/Hoge.hs
梱包されたソース
dist/hoge-0.1.0.0/src/Main.hs
hoge.cabal
―――――
name: hoge
version: 0.1.0.0
synopsis: hoge
...
build-type: Simple
extra-source-files: README.md
cabal-version: >=1.10
executable hoge
main-is: Main.hs
other-extensions: FlexibleInstances
build-depends: base >=4.8 && <4.9
hs-source-dirs: src
default-language: Haskell2010

412:デフォルトの名無しさん
15/05/31 10:28:49.84 Z+YrU6Ep.net
エセ哲学で煙に巻く、というと青木淳を思い出す

413:デフォルトの名無しさん
15/05/31 11:16:11.11 Y5Q5hqkx.net
>>405
other-modules

414:デフォルトの名無しさん
15/05/31 11:23:47.90 /wZ7j18U.net
>>407
ありがとうございます
other-modules: Util, Hoge
としたら出来ました。.hsつけちゃダメなんですね

415:10人に一人はカルトか外国人
15/05/31 12:47:30.55 gFQ+S0pm.net
★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト
10人に一人はカルトか外国人
「ガスライティング」で検索を!

416:デフォルトの名無しさん
15/05/31 23:07:34.36 bhwHs6Kp.net
すみません、分からないので教えて下さい。
MyData型というのがあるとして、
次のような感じの再帰的なデータ構造を
作りたいのですがどうやって
宣言したらいいのでしょうか?
MyData = [A | B | C | MyData]

417:デフォルトの名無しさん
15/06/01 00:37:34.71 7t5thP4d.net
newtype MyData = MyData [MyValue]
data MyValue = A | B | C | D MyData

418:デフォルトの名無しさん
15/06/01 07:49:51.08 2iXePbMK.net
>>402
憎しみと悪が世の中に満ちて欲しい我らとしては目障りよのう^^;

419:デフォルトの名無しさん
15/06/01 08:39:30.47 E7FyS8+c.net
URLリンク(twitter.com)
岡部氏の本、売れているようだが、これでもまだおまえらは否定するか?

420:デフォルトの名無しさん
15/06/01 10:31:20.23 hNOdkfuP.net
URLリンク(i.imgur.com)
金返せだとw
返金保障はしてないの?
FX本で揉め事起こしておいてよくやるぜ

421:デフォルトの名無しさん
15/06/01 15:23:30.31 Z2VsugfR.net
オアゾの丸善行ったら平積みでベストセラーになってからうっかりして『関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間』買っちゃった。
あの厚さにしては安いし。

422:デフォルトの名無しさん
15/06/01 21:41:48.25 AkSsBG07.net
*釣り中

423:デフォルトの名無しさん
15/06/01 22:06:25.83 K67NswvK.net
@tanakhよ、速やかに岡部健の記事を抹消しろ
最終警告。なめんな

424:デフォルトの名無しさん
15/06/01 23:47:52.81 Y6nutYnE.net
>>417
直接言えよ

425:デフォルトの名無しさん
15/06/02 06:11:38.24 rgUwgwJK.net
タナコフ、kenokabeに関する記事なんて書いてたっけ?

426:デフォルトの名無しさん
15/06/02 06:33:33.99 /sF+2pLL.net
これは私見ですが、田中氏のAskに誰かが昨日、毛の壁関連のリンク付きで質問をしたのに対して、>>417がクレーム付けてるのではと思います
というのは、田中氏はAskとTwitterを同期させているからです。よって(どこかの誰かがした質問に含まれる)毛の壁リンクも田中氏(のアカウントから自動的)に呟かれることになります。

427:デフォルトの名無しさん
15/06/02 10:16:26.38 Tk2gIrJG.net
sandboxのあるディレクトリは移動するとマズい。ってことに気づいた。
$ cd xxx
$ cabal sandbox init
$ cd ../
$ mv xxx yyy
$ cd yyy
$ cabal install hoge
cabal: No sandbox exists at /.../xxx/.cabal-sandbox

428:デフォルトの名無しさん
15/06/03 08:39:22.30 aJoKJBXt.net
誰か岡部健のMMD作ってくれよ

429:デフォルトの名無しさん
15/06/03 10:26:36.81 I/rtMDUu.net
モナド3則って圏論的にはどうやって出てくるの?

430:デフォルトの名無しさん
15/06/03 10:53:49.25 lNaMRMgL.net
順番が逆じゃないか?圏論で言うところのモナドってのは<T,η,μ>の3つ組が
µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。
Haskellのモナドクラスってのは単にμとηに相当する関数を持っていることを要請するだけで、
上の式を満たすようにインスタンスを定義しないと圏論で言うモナドにはならない。
Haskellのモナド3則は、上の式をKlisli starを使って書き直すと出てくるんじゃなかったっけな。
一度やったが、ここだけやっても面白くなかった記憶がある。

431:デフォルトの名無しさん
15/06/03 14:12:43.98 I/rtMDUu.net
>>424
> 圏論で言うところのモナドってのは<T,η,μ>の3つ組が
> µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。
なぜそんな3つ組を考えてなぜそういう条件をつけるのかというのは、
ここでは聞いちゃいけなかったのかな?w
圏論の本では天下りに書いてあるだけなので教えてくれるとうれしい

432:デフォルトの名無しさん
15/06/03 17:22:57.96 lNaMRMgL.net
>>425 単位元の存在と結合則だから。
Haskellで何故モナド則が必要かは↓を見れば分かる。
URLリンク(wiki.haskell.org)
モナド則を満たさないインスタンスは取り回しが悪い。モナドにする必要性が無い。
f : (Monad m) => ...なジェネリックな関数の振る舞いに何も期待できなくなる。
圏論の話をしたいなら他所でやってくれ。単芝生やす前に>>423>>425の意図が読めるか拙い頭で自省しとけ。

433:デフォルトの名無しさん
15/06/03 18:36:14.98 nbbdPdbj.net
草が自生するわهههههههههههههههههههههه

434:デフォルトの名無しさん
15/06/03 20:40:35.99 o4gP2WaR.net
継続
foo x = ($ x)
bar m f = \ g -> m (flip f g)
おまじない
encode = ($ return)
decode = (>>=)
モナド則
decode (return x) = foo x
encode (decode m) = m
decode (m >>= f) = (decode m) `bar` (\ x -> decode (f x))

435:デフォルトの名無しさん
15/06/04 11:03:34.20 TEKHUXbi.net
>>425
関手圏における対象(元の圏での自己関手)Fたちの「べき乗」 FF, FFF, FFFF, ... たちを
Fにまとめるための積に相当するものとしてμが、そしてそのような「積」が結合法則を
満たすことの要請として
μ(Fμ)=μ(μF)
が,そしてFの「ゼロ乗」に相当するものとしてηが与えられる。ηが「積の単位元」
に該当するための要請が、μ(Fη)=id F =μ(ηF) となる。
半群の代数法則を集合と写像の図式で書き表してみると上のような法則がどのように
して導かれるかわかる。
このような意味でモナドは「一般化された半群」だと言える。
一度モナドFが与えられたとき、Fを利用して X -> F Y 型の射を「合成」する手段が得られることが
わかる。KleisliにちなんでKleisli射などと呼ばれる。
詳しいことはマクレーン「圏論の基礎」を読んで欲しい。例がいちいち高尚なので読みづらいが
どのみちあの全ての例を理解できるひとなどいないと思っておけばいい。

436:デフォルトの名無しさん
15/06/04 12:14:47.63 6HPpoO/k.net
>>429
サンクス
要するに、まず、μはモナド領域における積演算であり、それは結合法則を満たす、でいいよね。
そしてηはその積演算についての単位元、と言いたいが、ηはモナド領域の元ではないので
そうは言えないよね?

437:デフォルトの名無しさん
15/06/04 17:28:26.87 TEKHUXbi.net
>>430
「モナド領域」で何を言いたいのかわからない。
#言葉はなるべく正確に使おう
>>429の補足
モナドと半群Gの類似性を捉えるためには「単位元」を「ゼロ項演算」とみなすとよい:
e : * --> G
ここで、* は単元集合ならなんでもよいのだが、何か一つ決めておく。そして任意の集合Sに対して
  * × S と S
が 1-1 かつontoな写像で結ばれているので同じと「みなす」ことにより、* は「デカルト積における単位元」
とみなせる。(集合A,Bの共通部分 A ∩B を「積集合」と呼ぶ場合があるが、全然違う「積」であることに注意)。
半群Gの「積をとる演算」m はもちろん
m : G×G --> G
となる。
(つづく)

438:デフォルトの名無しさん
15/06/04 17:30:36.75 TEKHUXbi.net
>>431
(つづき)
こうやって考えてみると半群Gの結合法則は、G×(G×G)と(G×G)×Gを(当然の如く)同一視したうえで
  m ○ (idG×m) = m ○ (m×idG)
のように表せる。ただし、○は写像の合成を表すものとする。また、
idG×m : G×(G×G) --------------> G×G
<x, <y,z>> |---> <x, m(y,z)>
など。そして単位元については
   
   m ○ (idG×e) = idG = m ○ (e×idG)
となる。ここで、
 idG×e:G ---------> G×G
g |-------> <g,1>
など。半群というものをこのような視点で捉えて初めてモナドとの関係が見えてくるわけです。
抽象的に見て初めて見えてくるのであってそれを乱暴に「モナドは半群である」と言い切ると、
色々誤解を招くわけです。

439:デフォルトの名無しさん
15/06/04 17:33:45.51 TEKHUXbi.net
(全角スペースの連続って無視されるのか。失敗した)

440:デフォルトの名無しさん
15/06/04 17:52:43.81 6HPpoO/k.net
μとηを普通に(自然に)定義すればモナド則は自ずと満たすようになるのではないの?
むしろモナド則を満たさないように定義する方が難しいのでは?

441:デフォルトの名無しさん
15/06/04 18:10:46.82 OGWHpt3Y.net
Haskell入門の中間テストって
リストはモナドであることを証明せよとか
このデータ型はモナドか? 理由と共に答えよ
とか
必要な関数を足して、このデータ型をモナドにせよ
とか出るんでしょ!ひえぇ

442:デフォルトの名無しさん
15/06/04 21:25:30.08 yrg33OPn.net
>Fの「ゼロ乗」に相当するものとしてηが与えられる。
ηと恒等関手の違いがさっぱりわからない
こんなの絶対おかしいよ

443:デフォルトの名無しさん
15/06/04 22:57:11.06 yrg33OPn.net
ηは単位元
恒等関手も単位元
F^n ⇔ F ってことは F も単位元かな
1^n = 1 と同じように

444:デフォルトの名無しさん
15/06/04 23:01:33.99 TEKHUXbi.net
>>436
ηはControl.Monad では return と呼ばれてる。FをモナドとしたときHaskell風に言えば
η :: a -> F a
だよ。ηは「Hask圏における自己関手を結ぶ自然変換」であることを理解しよう。
Haskellとモナドだけに関連しても、
1.Hask圏 (これが議論の基礎となる)
2.Hask圏の自己関手の圏  EndoFunct(Hask)
3.Hask圏のモナド(Hask上の自己関手の一種)Fが作り出す Kleisli圏
という最低でも3つの「圏論的視点」がある。視点を変えると名前が変わったりするので要注意。
たとえば、Hask圏での「自己関手」は EndoFunct(Hask) という圏では「対象」となる。
また、「Hask圏における自己関手を結ぶ自然変換」は EndoFunct(Hask) では「射」となる。
マクレーンの本は「あれも書かなきゃこれも書かなきゃ」って感じでどんどん話が進むし
証明は読者に任せたwwwってノリの箇所も結構あるので一度きちんと自分で整理してみることを
勧める。

445:デフォルトの名無しさん
15/06/05 16:27:16.31 oA4lY9uS.net
Amazonの岡部健氏のレビュー、ようやくまともな力学がはたらくようになったな。
おまえら【自称】関数型コミュニティーのしょーもない組織票も、所詮はごくごく一部の小さな力に過ぎない
「正しさ」ってどんなにおまえらがわめいてもねじ曲げられないのさ

446:デフォルトの名無しさん
15/06/05 16:27:52.01 oA4lY9uS.net
田中もボレロもしょーもないことやってるようだが、騒ぐなら「コード書け」。

447:デフォルトの名無しさん
15/06/05 16:56:46.59 NH+N2vxp.net
>>439
正しい力学w
☆☆☆☆☆ 4 人中、0人の方が、「このレビューが参考になった」と投票しています。
☆☆☆☆☆ 55 人中、7人の方が、「このレビューが参考になった」と投票しています。
☆☆☆ 30 人中、2人の方が、「このレビューが参考になった」と投票しています。
☆☆☆☆☆ 85 人中、9人の方が、「このレビューが参考になった」と投票しています。
☆ 106 人中、97人の方が、「このレビューが参考になった」と投票しています。

448:デフォルトの名無しさん
15/06/05 19:45:34.72 wKAWiqlA.net
URLリンク(www.kenokabe.com)
問い合わせ:05/03/15 04:44:35
1) レビューに対する投票について御社社内で不正な操作があったのか?
2) 不正なユーザによる複数投票があったのか?
3) 外部からの不正アクセスによる投票操作があったのか?
4) なぜ★5のレビューが2件も削除されているのか?
という4点について御社の公式な見解を教えていただけませんでしょうか。
回答:2015年5月3日 8:19
お客様からお問い合わせいただいた「1)」、「2)」、「3)」の件につき
まして、当サイトでは、カスタマーレビューについて、より正確な投票数をカ
ウントするため、投票の傾向をシステムによって監視しています。特定のお客
様が投稿したレビュー、または特定の商品に関するレビューに対して集中的に
投票が行われているなど、不適切な投票とみなされた場合は、自動的に投票が
削除されます。また同一カスタマーや同一カスタマーの複数アカウントからの
投票など不正と認められた場合、自動的に投票数が削除されます。
なお「4)」の件につきまして、当サイトのレビューが非掲載となる場合、投
稿者ご自身でレビューを削除された場合と当サイトのレビューガイドラインに
抵触していると判断したため削除された場合がございます。上記のどちらかで
非掲載となりますが、詳細については、投稿者の個人情報およびプライバシー
を保護の観点から、ご案内できませんことをご了承ください。
参考:URLリンク(twitter.com)
kenokabe 本に好意的なレビューをしている coolio 氏のレビューページ
URLリンク(www.amazon.co.jp) の google
キャッシュを見たらユーザ名が kenokabe で吹き出しそうになった
URLリンク(f.hatena.ne.jp)

449:岡部健
15/06/06 07:00:48.03 /qvfFI9e.net
そんなレビューなんて知らないね
えー加減にせーよ

450:デフォルトの名無しさん
15/06/06 07:04:20.42 EMdVS6mw.net
はいはいなかったことなかったこと
アホか

451:デフォルトの名無しさん
15/06/06 14:03:45.58 /qvfFI9e.net
岡部氏の本を精神病のコーナーに並べて置いたのはおまえだろ?

452:デフォルトの名無しさん
15/06/06 14:04:41.32 /qvfFI9e.net
田中、おまえも共謀とみなす

453:デフォルトの名無しさん
15/06/06 15:09:56.77 EMdVS6mw.net
はいはい、勝手に田中認定すれよ
どアホが

454:デフォルトの名無しさん
15/06/06 16:17:49.33 G0vvOPfV.net
岡部さん、田中と村上に牙を剥くならご一緒に江添もいかがですか?

455:デフォルトの名無しさん
15/06/06 17:04:05.29 QYGhKlvX.net
URLリンク(kenokabe-techwriting.blogspot.jp)
おまえらが国際的にみて異端だとするこの記事について論理的に反論してみて?ほれ?
村上、いつも遠くから吠えるだけだな?たまには立論してみろやクソアマ

456:デフォルトの名無しさん
15/06/06 17:04:35.64 QYGhKlvX.net
マイクロソフトを否定できるか?
これは権威主義のおまえらの試金石だ

457:デフォルトの名無しさん
15/06/06 17:27:34.64 ZV6D40F6.net
否定ならいくらでもできるが、依存を断ち切る行動には結びつかない
前提である【自称】関数型コミュニティが横暴に振る舞っているのかどうかさえ判断はできないのだから反論する必要すらない
マイクロソフトの定義は正しいだろう
しかしそのことが【自称】関数型コミュニティが横暴に振る舞っていることの証拠にはならないのだから
つまり
そもそもこの記事に論点が存在するのかどうかすら怪しい
誰かソースを出してはくれないだろうか

458:デフォルトの名無しさん
15/06/06 17:34:13.60 EMdVS6mw.net
毛は根っからの嘘つき
終わり

459:デフォルトの名無しさん
15/06/06 18:20:24.88 sdR7Jr6e.net
岡部氏の国際的評価
スレリンク(prog板:635-636番)
「全く意味不明」
「完全に不可解」

460:デフォルトの名無しさん
15/06/06 18:59:18.59 GcGbQkec.net
単なる毛の嘘。Microsoftの記事は「命令型」と「関数型」を対比してるだけ。
タイトルからして「関数型プログラミングと命令型プログラミング」。
URLリンク(msdn.microsoft.com)
「一方、C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む
ほとんどの主流言語は、主に命令型 (手続き型) プログラミングをサポートするために作成されています。」
「C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む」
「ほとんどの主流言語は、主に」「命令型 (手続き型) プログラミングをサポートするために作成」
誰もオブジェクト指向と関数型を対比してない(毛を除く)。毛の読解力が小学


461:生レベルで欠如してるだけ。 そもそもSchemeやHaskellでオブジェクト指向プログラミングしたり、 C++やJavaScriptで関数型プログラミングできるんだから、対立してるわけがない。



462:デフォルトの名無しさん
15/06/06 19:36:56.78 IblTw25F.net
むかしむかしOOPを普及させようとした人達は
「C言語でもOOPできる」みたいな話に全力で反論してたんだぜ
古本屋で買った「オブジェクト指向入門」に
「混血によるアプローチは混血なりの品質しかもたらさない」って書いてある
いま確認したから間違いない

463:デフォルトの名無しさん
15/06/06 19:51:13.31 GcGbQkec.net
確かに「C++やJavaScriptで関数型プログラミング」とかも、
Haskellみたいな専用の関数型言語に比べて不自然な面があるのは
否定はしない。逆に然り。両方ともサポートした言語もあるにはあるが。

464:デフォルトの名無しさん
15/06/06 19:53:20.38 GcGbQkec.net
>>456
× 逆に然り
○ 逆も然り

465:デフォルトの名無しさん
15/06/06 20:03:34.07 0M3+/TFN.net
Ocamlがあるじゃねえか

466:デフォルトの名無しさん
15/06/06 20:19:35.99 uv2S2fjH.net
田中の返答は反論になってない。マイクロソフトの主張は明らかだ。
特権意識・差別意識まみれの根腐れたおまえらが「見たくないものはみえないふり」して小さな島国のごく一部の界隈で、
国際的潮流に乗ってる有識者を【村八分】にしたい、してるだけ。
チョン同然、あるいはチョンそのもので構成されていても別段驚かないし、その傾向がある

467:デフォルトの名無しさん
15/06/06 20:25:57.60 KMNvqcU5.net
>>456
不自然というか、C++とかでも頑張れば関数型プログラミングも可能。
ただしそれは「関数型プログラミング言語をC++で実装」するようなもん。
実際、初期の関数型言語はCで実装されていたりしたしね。
だから今時は最初からHaskellなり使えばいいというレベルの話。

468:デフォルトの名無しさん
15/06/06 20:43:39.24 sdR7Jr6e.net
毛が批判してる「国内」コミュニティの奴らは
フランス情報学研究所で博士号取得して欧米外資銀で関数型プログラマやってたり
米計算機科学会や国連情報処理学会の関数型プログラミング委員とか委員長だからなw

469:デフォルトの名無しさん
15/06/06 20:46:43.22 24cQnkdA.net
岡部関連は他でやってくれ
【茶道モテ】毛の壁ファンクラブ57【孤立無援】 [転載禁止]&amp;#169;2ch.net
スレリンク(net板)
土曜・日曜は岡部健のブログを読み解こう!★2 [転載禁止]&amp;#169;2ch.net
スレリンク(prog板)

470:デフォルトの名無しさん
15/06/06 20:48:26.12 0M3+/TFN.net
いつまで阿呆の相手してるんだ?
もっと有意義な話をしてくれ

471:デフォルトの名無しさん
15/06/06 20:57:41.59 GcGbQkec.net
正直スマンカッタ
どこぞで話題になってたones=1:onesのonesが(1:)の最小不動点(実際には唯一の不動点)という件、
Haskellでも再帰的定義は常に最小不動点という解釈で合ってる? もちろん:とか関数はlazyだとして。

472:デフォルトの名無しさん
15/06/06 22:10:30.32 h/G/zDwf.net
>>460
もっとふざけたことしてるやつもいるからな。VBAで関数型プログラミングとか。

473:デフォルトの名無しさん
15/06/07 05:28:41.31 MhTDgKGm.net
竹塩壁なの?本名

474:デフォルトの名無しさん
15/06/07 12:56:36.19 jVcLNsk7.net
そういや、昔O'Haskellなんてものがあったな
結局あれ流行らなかったね

475:デフォルトの名無しさん
15/06/07 13:37:10.71 lpscvJOy.net
>>467
割と早期にTimberに移行したから。
URLリンク(timber-lang.org)
そもそもサブタイピング便利か? というのもあり。
OlegのHListとか見るとねえ……

476:デフォルトの名無しさん
15/06/08 08:10:38.52 rqAfod0u.net
おまえらは岡部健のポテンシャルに嫉妬してるだけ

477:デフォルトの名無しさん
15/06/08 13:32:32.63 ZD5oJ+MT.net
559 仕様書無しさん 2015/06/08(月) 12:23:22.32
岡部健、チマチマとメールでこっそり罵倒ww
URLリンク(b.hatena.ne.jp)

478:デフォルトの名無しさん
15/06/08 14:13:06.97 pkFJsD/2.net
URLリンク(t.co)
kenokabe こと 岡部健 #毛の壁 のブログにてコメントを出すと、もれなくメールにて毛の壁による罵倒、ならびにヘア告訴されるかもしれない権利が付与されるそうに御座いまする。 桑原桑原。

479:デフォルトの名無しさん
15/06/08 19:10:07.57 dWqRejTW.net
毛の壁先生、お願いですから掲示板荒らすのやめて下さい
2chだけじゃないですよ?

480:デフォルトの名無しさん
15/06/08 20:21:54.95 cjhIgMXy.net
OCamlerはいい加減、荒らすのをやめて欲しい。
MLスレは閑古鳥が鳴いているのに、マ板の岡部スレでは月曜の朝からOCamlerで大賑わい。
少しは自分たちの異常さを認識したほうがいい。

481:デフォルトの名無しさん
15/06/08 21:03:59.90 wHGZFrsF.net
843 :名無しさん@ゴーゴーゴーゴー!:2015/06/08(月) 19:50:18.31 ID:1muq0MvU0
mapからreduceを作るとか、普段どれだけゆるい感じで物事考えているかよく分かるね
こんなの質問する前に1秒でも思考実験していれば分かることだ
844 :名無しさん@ゴーゴーゴーゴー!:2015/06/08(月) 20:13:41.12 ID:1muq0MvU0
reduce :: (a -> b -> a) -> a -> [b] -> a
reduce f z xs = let y = z : map (\(i, x) -> f (y !! i) x) (zip [0..] xs) in last y
試しに挑戦してみたら案外いけましたすみません><
847 :名無しさん@ゴーゴーゴーゴー!:2015/06/08(月) 21:02:29.22 ID:asgdcTzL0
ちょwwHaskellスレが毛の話題で荒れてるからswapしろよwww 👀
Rock54: Caution(BBR-MD5:405b7f1af0f5a85b432d79fa769e9aeb)


482:デフォルトの名無しさん
15/06/08 21:31:31.35 zzT0ePpx.net
なるほどこれ頭いいな。scanlを
scanl z f xs = ys
 where ys = z:(zipWith f xs ys)
と書いてから、zipWith xs ys をmapで書き直せば
確かにこうなるな。最後の要素を取ればfoldlになるわけだ。

483:デフォルトの名無しさん
15/06/09 05:59:45.81 keQMp1Zr.net
858 :名無しさん@ゴーゴーゴーゴー!:2015/06/09(火) 05:58:57.73 ID:FmWR9u6b0
>>852-853
インデックス使わないバージョン(zipは使う)
reduce :: (a -> b -> a) -> a -> [b] -> a
reduce f z xs = f lasty lastx
 where
  (lastx, lasty) = last xys
  xys = zip xs ys
  ys = z : map (\(x, y) -> f y x) xys
っていうかHaskellスレ行けw

484:デフォルトの名無しさん
15/06/09 14:28:52.87 keQMp1Zr.net
まずscanlに相当するものをmyScanl f r xs = ys where ys = r: zipWith f ys xsとして作ります。
zipWith f ys xsをmapを使って書き換えればmap (\(x,y) -> f y x) (zip xs ys)となりますから、
myScanl f r xs = ys where ys = r: map (\(x,y) -> f y x) (zip xs ys)となります。
scanlで得られたリストの最後の要素がfoldlつまりreduceの結果になりますから、
reduce f r xs = last ys where ys = r: map (\(x,y) -> f y x) (zip xs ys)で望みのものが得られます(reduce (+) 0 [1..9] → 45)。
もちろん再帰をこのようにまわりくどく用いた定義をせずに簡明な普通の再帰で書くべきです

485:デフォルトの名無しさん
15/06/09 15:29:01.79 Wpjwmkjs.net
毛の壁ネタは専用スレで。
そこからの転載も不要。

486:デフォルトの名無しさん
15/06/09 16:22:18.33 AVtZDhrR.net
OCaml病人の隔離スレが必要かもしれんな。

487:デフォルトの名無しさん
15/06/09 16:28:45.86 GtnmaKAw.net
関数型隔離病棟はよ

488:デフォルトの名無しさん
15/06/09 17:31:06.57 keQMp1Zr.net
マ板の岡部スレでOCamlerにコテンパンに論破された松沢がこっちに来たな。
Haskellプログラミング以外の話はよそでやれ

489:デフォルトの名無しさん
15/06/09 18:12:13.77 s+m3IBNO.net
reduce f r xs = last ys where ys = r : map (\(x,y) -> f y x) (zip xs ys)
は面白いと思う

490:デフォルトの名無しさん
15/06/09 18:36:24.03 Wpjwmkjs.net
 
しばしば目にするパターンではあるんだよな。
余再帰を巧く使いこなせるようになりたいとは思う。

491:デフォルトの名無しさん
15/06/09 19:37:05.34 YMX6lY//.net
初心者スレが見当たらないのでここに書き込ませてください。
「$演算子による関数適用の区切り」と「.演算子による関数合成」
この違いというか使い分けって
$演算子は括弧対応を沢山省略できて便利
例: sin $ cos $ tan $ x + 1
.演算子は関数合成で変数に束縛可能になるから便利
例: fun = sin . cos . tan . (+ 1)
くらいかなと思ったのですが、後者は
fun x = sin $ cos $ tan $ x + 1
別にこれでも構わないわけですよね。
.演算子の利点って他に何があるんでしょうか?

492:デフォルトの名無しさん
15/06/09 19:46:28.21 Wpjwmkjs.net
>>484
ポイントフリー教信者が使うため。
ってのはともかく、mapみたいな高階関数に関数を
渡さなきゃいけないところで、
map (¥x -> f $ g x) xs
map (f . g) xs
を見比べれば意味がわかるのでは。
なにかに関数を連鎖して適用した結果ではなくあくまで
連鎖した関数そのものが欲しい時には ( . ) が便利。

493:デフォルトの名無しさん
15/06/09 20:00:13.95 YMX6lY//.net
「関数そのものが欲しい時」って
fun x = sin $ cos $ tan $ x + 1
一応これでも目当ての関数 fun が得られてると思うのですが、要は「引数って邪魔だよね」的な感覚?
美的感覚だけでなく実行効率も違ってくるのでしょうか。

494:デフォルトの名無しさん
15/06/09 20:10:23.23 Wpjwmkjs.net
実行効率は一緒。
(f . g) を普通に「gしてfする」とか読むのになれると引数の方がじゃまになる。
「¥x -> f $ g $ x +1 」 より 「 f . g . (+1)」の方が、
「1足してgしてfする」と読みやすいし明瞭でしょ。
そのうちmapの引数にいちいちラムダ式書いてられるかって気になるよ。
よく使うものの構文は軽くなくてはいけない、というだけ(美的感覚とは少し違う)。

495:デフォルトの名無しさん
15/06/09 20:13:23.65 YMX6lY//.net
ポイントフリーでググってみましたが...
例えば
fact :: Integer -> Integer
fact n = product [1..n]
よりも
fact = foldl (*) 1 . enumFromTo 1
のほうがスマートで好まれるのでしょうか。
実行効率同じなのになんだか可読性を犠牲にしすぎのように思えるのですが。

496:デフォルトの名無しさん
15/06/09 20:21:06.13 Wpjwmkjs.net
>>488
ポイントフリー教に入信する理由は全然ない(本当にやめてほしい)。
簡単に「~して…して~する」みたいに読める時だけ使えば十分。
いちいち名前をつける必要のない(むしろ使い捨てなので名前をつけるべきでない)ような
関数のチェインをラムダ式よりも軽い構文で書ける、というのがまずは利点。
もう少し慣れてくると今度は Control.Lensパッケージが 関数合成演算子( . )を
あたかもオブジェクト指向言語のメソッド呼び出しであるかのように見せる
芸当を見せてくれるけど、それはまだ先の話。

497:デフォルトの名無しさん
15/06/09 20:39:29.39 YMX6lY//.net
ありがとうございます。ちょっとだけ感覚が分かってきました。

498:デフォルトの名無しさん
15/06/09 22:00:18.96 On8D0YSk.net
ポイントフリーの理由は、読む能力を上げることだろうね
人間が書いたものは読めないならクレームをつけて書き直させることができるが
自然現象のようなものを読む場合は読む人の能力に全てがかかっている

499:デフォルトの名無しさん
15/06/09 22:31:32.15 lp6qdJfP.net
あまりに自然現象のようなレスなのでびっくりしている

500:デフォルトの名無しさん
15/06/09 23:05:53.18 On8D0YSk.net
驚き最小の法則ってあったけど
なんで驚いた側ではなく驚かせた側を改善しようとするのかね
両方改善した方がいいのに

501:デフォルトの名無しさん
15/06/09 23:31:39.42 nX857Zqc.net
とても自然現象です。すごく。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch