1 名前:デフォルトの名無しさん [2015/04/09(木) 08:31:01.42 ID:4yjREsCN.net] 関数型プログラミング言語 Haskell について語るスレです。 ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ < 毛の壁(岡部健)の話は禁止な 、:::::.. /:::; .,-、 l:::/、 ,―:::::::: ゝヽ- ー' 、 l::/,、ヽ l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\ haskell.org (公式サイト) www.haskell.org/ 前スレ 関数型プログラミング言語Haskell Part27 peace.2ch.net/test/read.cgi/tech/1420718555/
84 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 13:22:59.36 ID:H3Beje5C.net] プログラミング初心者向けのhaskell本で 「はじめてのH」って本だれか書いて?
85 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 13:25:07.77 ID:PzasXWb4.net] 権威に泥を塗られたスピノザという被害者への憐憫は見過ごされがちだ
86 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 15:31:40.71 ID:HcT4Z6BJ.net] >>79 「単なる〜」とか「ただの〜」みたいな意味では ejje.weblio.jp/content/It 's+just+a
87 名前:デフォルトの名無しさん [2015/04/17(金) 16:31:48.10 ID:nxIB1yc7.net] 395 名無しさん@ゴーゴーゴーゴー! 2015/04/17(金) 07:14:27.41 ID:9SxWDYYT0 毛の壁初心者の方へ 現役の弁護士によるツイートをご覧ください そしてRTを https://twitter.com/motoken_tw/status/452009450313097216 https://twitter.com/motoken_tw/status/453696338489016321
88 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 17:31:36.64 ID:1Smloeqb.net] >>84 もしかしたら〜 から まさに〜 になるんだろ
89 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 18:19:06.44 ID:s+nJaO1V.net] Just Systems May-Be SOFT
90 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 20:44:35.19 ID:PLmfZzGD.net] >>72 >>73 私の理解は全くの見当はずれでしたね。 本ではことさら indexing との対比が書かれていたので勘違いしてしまいました。 おかげさまで納得できました。 ありがとうございました。
91 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 01:23:36.46 ID:cIanB9vz.net] 他言語のdata Option a= Some a | None の方が馴染んでいるのは秘密
92 名前:デフォルトの名無しさん [2015/04/18(土) 20:00:24.92 ID:zBL4xnwg.net] 417 名無しさん@ゴーゴーゴーゴー! 2015/04/18(土) 19:59:37.86 ID:LNSLKYsZ0 岡部ちゃんのブログ更新 kenokabe-techwriting.blogspot.jp/2015/04/lispspinoza.html?m=1 あらら、手抜きコピペの再利用ですね。 一つ前の記事に後悔しちゃって、消すことも出来ないので「目立たなくするように」するためかな? 岡部ちゃんさ、「すでに【脱アルゴリズム宣言】シリーズで述べたように、」 ってあるけど、それはどこを参照すれば良いのかな?(爆笑) コピペリサイクル記事でもさ、せめて、この程度の修正はしようぜ?
93 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 12:21:14.03 ID:BDx+P9mq.net] 原発コピペが去ったと思ったら入れ替わりで毛の壁が来たな
94 名前:79 mailto:sage [2015/04/19(日) 14:41:18.79 ID:pB/4TY1x.net] >>84 反応ありがとうございます。なんか「なんにもない」と「単に5!!!」がやっぱりしっくりこないんですよねえ… もう少し訓練をつんでみます
95 名前:デフォルトの名無しさん [2015/04/19(日) 19:25:20.36 ID:TqE05fjB.net] >>92 Intが入っているかもしれない箱を渡されて、開けたら中身が 「なんにもない」 「ちょうど5」 なだけだろ。なんでそれがしっくりこないのかこそがわからんわ。
96 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 19:44:35.88 ID:g7ko6rYD.net] Justって言葉がしっくりくるかこないかは人の感覚次第だろう 自分もHaskellの文法だからってのを忘れたとすると Maybeの中身がNothingかJust xだというのはいいとして xをMaybeにするためにJust xってするのはもやっとする
97 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 19:47:51.06 ID:HUQoVR+2.net] 紛れもない
98 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 19:49:46.90 ID:HUQoVR+2.net] 分かった。Obvios a に変えよう
99 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 19:56:54.50 ID:bs5hwhjS.net] >>93 そこで「ちょうど」と言うのがしっくりこないのかと。 日本人ならその状況で「ちょうど5」とは言わず、単に「5」と言う。 「ちょうど5」と言うと、では、ちょうどではない曖昧な5もあるのか、 という事になりかねない。 まぁ、Haskell だと何らかの値構築子が必要なわけで、 Just 以外ならどんな名前にするかと訊かれると、返答に困るが・・・ >>96 は冗談だろ
100 名前:デフォルトの名無しさん [2015/04/19(日) 20:33:51.59 ID:TqE05fjB.net] >>97 Maybeが曖昧で、それを無曖昧化した結果がNothingかJust xなんだから、 まさにJustでいいんだ、というのが命名者の発想だろ。 Justの代わりにSomeの方が日本人にはわかんないんじゃないの? 「なし None」と「なんらかの・ある Some」って語感がわかるならいいけど。
101 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 21:03:30.47 ID:bs5hwhjS.net] >>98 なるほどね。 ちょうどなんて言うからヘンなんだよな。 まさにって言えば俺もしっくりきた。 って >>86 でもう出てたんだね、ごめんよ。
102 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 01:17:23.81 ID:6TQJBTny.net] Boostライブラリのプログレスバーの存在意義を論ずるような真似をいつまで続ける気だ
103 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 01:58:55.74 ID:pO1ymbwK.net] 本筋でないつまらないことで盛り上がって何かした気になる よくある
104 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 09:54:07.62 ID:HQWDK9Be.net] cf. 自転車置き場の議論
105 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 13:03:15.78 ID:u7LO/gCX.net] Parsecとかでも時々ん?ってなるネーミングはある Haskellだと関数だけじゃなくて型コンストラクタたったりフィールドだったり識別するものが増えるからネーミングが余計に気になるのかも
106 名前:デフォルトの名無しさん [2015/04/20(月) 14:38:09.34 ID:2eevj3Zk.net] Spinozaは確かに使える。可能性を感じた。
107 名前:デフォルトの名無しさん [2015/04/20(月) 16:43:11.52 ID:0hSvk0Oi.net] 緑の害虫には一生つきまとってやる。
108 名前:デフォルトの名無しさん [2015/04/22(水) 08:19:49.68 ID:GJyQGfm3.net] 毛の壁の過去 netbmari.seesaa.net/article/81337651.html
109 名前:デフォルトの名無しさん [2015/04/22(水) 20:54:17.76 ID:NZ8QzlQ5.net] ☆ 日本の核ブ装は絶対に必須ですわ。☆ www.soumu.go.jp/senkyo/kokumin_touhyou/index.html ☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が 3分の2以上を超えると改憲が実現します。皆様方、必ず投票に自ら足を運んでください。 私たちの『日本国憲法』を絶対に改正しましょう。☆
110 名前:デフォルトの名無しさん [2015/04/23(木) 07:36:47.21 ID:6rGfWaSo.net] 毛の壁本 今日本屋に並ぶらしいですよ
111 名前:デフォルトの名無しさん [2015/04/23(木) 08:24:55.14 ID:/Z6TrNg2.net] どんどん広まって、UCLAを卒業したという学歴詐称も広まってほしい
112 名前:デフォルトの名無しさん [2015/04/23(木) 09:10:23.02 ID:sxaJ1zhu.net] 増田の岡部関連の書き込み、かなり削除されてるなww 岡部もやることが小さいなww
113 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 21:20:22.01 ID:LeResooG.net] 何が始まるんです?
114 名前:デフォルトの名無しさん [2015/04/24(金) 12:58:05.70 ID:v3IT9RWU.net] おいこら、らくだの卯之助よ。 岡部健氏とスキルで勝てるんか?勝負しろや。逃げんな
115 名前:デフォルトの名無しさん [2015/04/24(金) 13:02:06.09 ID:/IU9j/kd.net] コンパイラもマトモに書けない健チャソが OCamlの文法とコンパイラ拡張してラベル付き 引数持ちこんだ駱駝にどうやって勝てるんだwww
116 名前:デフォルトの名無しさん [2015/04/24(金) 15:02:59.72 ID:sR1g6M3b.net] 粘着軍はこんなスレまで立てたのか(呆)
117 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 10:17:48.89 ID:zFI89MHg.net] アプリカティブうんちしてくる
118 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 14:48:52.43 ID:/My2uXcp.net] www.amazon.co.jp/gp/product/4798043761/ Amazonでベストセラー1位じゃん 実は人気あるんだな
119 名前:デフォルトの名無しさん [2015/04/25(土) 14:56:53.67 ID:IIQtsCT+.net] 彼はiOSの出来損ないアプリに、当然のようについた低評価のレビューを片っ端から削除した前科がある。 だから、アマゾンの書評も「これは誹謗中傷目的の不当な評価である」と逃げを打つのは既定路線。
120 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 16:05:32.13 ID:iXjJJv3p.net] スレチ状態が続きすぎて諦めてるけど お前らもしレビューを書くならあくまで真面目にな 中途半端に絡むなよ
121 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 16:32:38.19 ID:K9QmTshb.net] わろ
122 名前:デフォルトの名無しさん [2015/04/25(土) 19:00:18.52 ID:1G6YdpRM.net] App Storeで「青空文庫を読む」というバグだらけのアプリに低評価なコメントされて逆切れし、 「これは誹謗中傷目的だから削除します」とのたまって本当に削除した岡部健だから、 今回のアマゾンとかの低評価も「陰謀だ」と言い出すのはわかりきってる。 過去にはこんなことをやってた。 u1sokuhou .ldblog.jp/archives/50346264.html
123 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 21:32:07.54 ID:gdfW3sMF.net] レビューはどうでもいいからこのスレで絡まないでくれ バカが自分の通用する場だと勘違いする
124 名前:デフォルトの名無しさん [2015/04/25(土) 21:49:40.65 ID:pGkm3L04.net] 粘着軍どもが岡部氏を中傷する目的で立てたスレだから言っても無駄ですよ。
125 名前:デフォルトの名無しさん [2015/04/25(土) 22:03:21.14 ID:QkVyrL7g.net] 岡部、今度はAmazonで演説し始めたぞ twitter.com/SE_O_T/status/591932284967591936
126 名前:デフォルトの名無しさん mailto:sage [2015/04/25(土) 22:50:49.29 ID:UUGDuW98.net] 岡部健っていう奴、どういう経歴なの? 数学系や情報工学系の由緒正しい経歴じゃないっぽい雰囲気。 文系から来たタイプか?
127 名前:デフォルトの名無しさん [2015/04/25(土) 23:52:39.20 ID:eYc1bK/z.net] 毛の壁10連ガチャとか作った奴誰だよ
128 名前:デフォルトの名無しさん [2015/04/25(土) 23:53:42.91 ID:/Lz62wVI.net] >>124 GOOGLE+のプロフィール参照な。
129 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 00:03:48.04 ID:Kxjo5Nwd.net] そういえば古賀潤一郎がカリフォルニア大学ロサンゼルス校出身と自己紹介していたが、後に学歴詐称だと分かった事件があったね。
130 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 00:04:26.53 ID:Kxjo5Nwd.net] そもそも岡部健という人物は本当にいるの?
131 名前:デフォルトの名無しさん [2015/04/26(日) 03:03:37.91 ID:ous7Nrql.net] Haskell界隈の閉鎖性を良く現している書き込みばっかりだな 別にいいじゃん、初学者が興味持ってくれて知名度上がれば >数学系や情報工学系の由緒正しい経歴じゃないっぽい雰囲気。 こういう難癖ってなんだろうね? 「数学ガール」の人気みて結城浩は数学科じゃない、論文書いてない、 博士号持ってない、とか難癖付けてる数学板の野良博士みたい。 出る杭は打たないと気がすまない。 そんなに岡部健に嫉妬するなら自分で良い入門書の一つも書けばいいのに
132 名前:デフォルトの名無しさん [2015/04/26(日) 03:38:52.12 ID:oJFxipXn.net] 確かに、由緒正しい経歴である必要なんて全くない。 そんなこと言う奴は一人か二人では。 学歴なんか、どうでもいい。博士号なんて無くてもいい。 ただし、それは卒業してもいない学校を卒業したとフカシこくことを肯定するものではないことは、ハッキリさせておこうぜ。
133 名前:デフォルトの名無しさん [2015/04/26(日) 03:40:16.55 ID:oJFxipXn.net] というか、Haskell界隈であろうがなかろうが一匹や二匹は学歴至上主義みたいな奴は居るだろうよ
134 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 05:57:02.15 ID:A1wpxgFi.net] 荒らしの立てたスレ使ってるから調子に乗って荒らしが尽きない こっちに移ろう peace.2ch.net/test/read.cgi/tech/1428597032/
135 名前:デフォルトの名無しさん [2015/04/26(日) 05:59:50.39 ID:3IjwcVse.net] それは2ちゃんねるのローカルルール的よろしくないな。
136 名前:デフォルトの名無しさん [2015/04/26(日) 09:08:11.44 ID:fRwOzUF5.net] ヲチスレでやれ、としか言い様がない。 1.kenokabeはJavaScriptしか書けないんだし、 2.関数プログラミングができないのもGithubみりゃ明らか。 Haskellスレでやる理由がどこにもない。
137 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 12:16:02.26 ID:Kxjo5Nwd.net] >>131 学歴は重要じゃないよ。 しかし、基礎が分かっているかどうかを重視する上で、 独学で基礎が学べるかどうか考えたら、 なかなか難しいんじゃないかと考えるわけで・・・
138 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 12:17:32.56 ID:Kxjo5Nwd.net] 大学や大学院で受ける指導っていうのは、決して興味がある内容ばかりではないよ。 しかし、後にそれが基礎として重要だということに気づくわけ。 独学では興味が湧いたことしか勉強しないでしょ? だから、独学はダメなんだよ。
139 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 12:33:02.08 ID:YzZ8BmuQ.net] 学問上の隠語を習得するには大学へ行くしかないが そんな隠語で学問を囲って利権化したまま放置する態度が学者失格だとも言える
140 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 12:58:53.94 ID:Kxjo5Nwd.net] 隠語というか、専門用語は重要だよ。 概念の検索性を高める。
141 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:03:30.55 ID:EksjvuLr.net] >>135 >しかし、基礎が分かっているかどうかを重視する上で、 >独学で基礎が学べるかどうか考えたら、 >なかなか難しいんじゃないかと考えるわけで・・・ 学歴がある種のシグナリングになることは同意する また学歴によるフィルターが結構実社会で有効と感じることが多い 大学や(高校でも)学んだ基礎ことは重要だと思う でもさあ、相手が「わかってる」かどうか相手の学歴を見ないと判断できない、 って特にこの業界では役に立たないというか、結構無能じゃね(笑)
142 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:05:35.85 ID:fCruzWL4.net] 無能というより完全に有害
143 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:07:54.07 ID:Kxjo5Nwd.net] >>139 なんとか健の本を読んだだけで、そいつがバカだと判断するのに十分だと言いたいわけね
144 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:36:15.63 ID:A1wpxgFi.net] 教育で得た正しさを使ってその正しさを証明する者と他の正しさを探す者がいる 前者はいかにも知識と教養にあふれているように見えるが 実際はエネルギーを消費するだけで何も生み出さないトートロジーである
145 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:42:11.12 ID:2npT22yp.net] >>142 正しいことと証明できることとは別、という常識からすると、貴様の意見には同意しかねる
146 名前:デフォルトの名無しさん [2015/04/26(日) 15:32:45.74 ID:qgRFfbK0.net] 岡部健はUCLAを仮にも卒業してるのだから、素養はあるんだろうさ。 C言語も実はできるのでは。
147 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 15:49:33.72 ID:2npT22yp.net] コードを見ないことにはなんとも
148 名前:デフォルトの名無しさん [2015/04/26(日) 16:54:25.20 ID:L5p6tnBd.net] 学歴が無いことは何も恥ではない。 恥なのは学歴を偽ることだ。
149 名前:デフォルトの名無しさん [2015/04/26(日) 17:38:00.48 ID:YIE+qGwA.net] あの文章でどうやってUCLAを卒業まで持っていけるんだ?
150 名前:デフォルトの名無しさん [2015/04/26(日) 17:39:27.89 ID:YIE+qGwA.net] 本当にアメリカの大学をCSで卒業してるんなら、一人や二人はFBやTwitterで仲間との交流ぐらいあるだろうよ。 それが無いんだよ。学歴詐称に決まってるだろ。
151 名前:デフォルトの名無しさん [2015/04/26(日) 19:34:37.24 ID:JgRuu/Q5.net] 駱駝とハムに比べたら岡部氏はもっと格上
152 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 20:45:41.96 ID:e4tIRRVz.net] バックに何か付いてるのかな
153 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 20:55:12.20 ID:Ql5jpImz.net] おまえらHaskellの話しろよ
154 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 21:05:58.90 ID:KkAjQB1e.net] HaskellPlamform更新マダー
155 名前:小保方晴子 [2015/04/26(日) 22:23:21.53 ID:CWSeILxV.net] まあ、私はちっとも驚きませんけどね。 2ちゃんねるでさんざん自作自演してる彼ですから。
156 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 22:54:30.08 ID:GWsv7xfi.net] 関数合成 (.) に関して一般的に交換法則は成り立ちませんが、 f . g の f や g によっては交換できる場合もあります。 交換法則が成り立つ必要十分条件はありますか?
157 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 07:49:04.83 ID:wSLTFIGd.net] 先ずプログラミング未経験の奴はソースコードをUTF-8で書けと言われても解らない UTF-8で書くことを覚えてもターミナルの表示をUTF-8対応にできない Shift-JISで日本語書き込んで詰む そもそもターミナルなんて嫌でとっととグイアプリ作りたいのになんでターミナルで躓かなきゃならないんだとずぶ濡れの犬のような気持ちになる もうややこしやといって敬遠する このことが地味にHaskellへの新規流入を妨げている
158 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 08:14:27.11 ID:7D8wCJnI.net] webブラウザで動いてjsの代わりになれば人気出るね
159 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 09:14:07.62 ID:DOff7EOW.net] みんな考えることは同じ qiita.com/philopon/items/1451f6b8c5ccec41479d
160 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 16:49:31.50 ID:4SSIO0jR.net] >>151 するようなネタが全くないわけでして。
161 名前:154 mailto:sage [2015/04/27(月) 18:00:15.79 ID:bzdehbpG.net] >>154 レスが付かないようなので、もう少し特定の場合に
162 名前:絞ります。 ツリーやリスト、配列など、何らかの構造を持ったデータ型があるとします。 そのデータ型は構造の形と、その内容(ツリーの葉やリストの要素など)との組によって成ると考えられます。 このとき、内容に依存せずに構造の形を変える関数と、 構造の形を変えずに内容を変える関数とは、関数合成において可換です。 直感的には確かにこうなるとは分かるのですが、 なぜこれが成り立つのか、どのような構造のデータ型でも成り立つのか、 と問われると自信がありません。 このようなことに関して論じた論文やWebコンテンツ、書籍などはないでしょうか。 [] [ここ壊れてます]
163 名前:デフォルトの名無しさん [2015/04/27(月) 18:50:32.65 ID:LJFJeOKy.net] https://twitter.com/mutamac/status/322518309570498560
164 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 19:31:11.59 ID:VB3BB2rW.net] haskellのはなしされても困る 難しいし
165 名前:デフォルトの名無しさん [2015/04/28(火) 02:32:49.94 ID:Vr1PFukf.net] イカ娘という藁人形くんは藁人形過ぎんべ。
166 名前:デフォルトの名無しさん mailto:sage [2015/04/28(火) 02:48:39.41 ID:Teqnn2Le.net] >>159 共役(conjugate)という概念が近い気がする 具体例としてはこんなの ja.wikipedia.org/wiki/%E4%BD%8D%E7%9B%B8%E5%85%B1%E5%BD%B9%E6%80%A7 今の話に連続性とかは全然要らないからもっと抽象化されたいい定義もあると思うんだけど 詳しくないのでこのくらいしか示せない
167 名前:デフォルトの名無しさん [2015/04/28(火) 08:05:09.36 ID:CdNtmvFe.net] 177 :名無しさん@ゴーゴーゴーゴー!:2015/04/27(月) 18:37:49.73 ID:0nb1+zzF0 岡部によるMINIX談義 https://twitter.com/mutamac/status/322518309570498560
168 名前:デフォルトの名無しさん [2015/04/28(火) 12:09:01.30 ID:xSgyLvy4.net] >>164 くっそwww
169 名前:デフォルトの名無しさん [2015/04/28(火) 12:14:10.41 ID:pmMjJKEE.net] ナベくんはやっぱり敵に回すと怖いことを再確認w 一応フォローを一時的に外しておいて良かったわww
170 名前:デフォルトの名無しさん mailto:sage [2015/04/28(火) 14:13:57.53 ID:8LxH1Yrp.net] >>159 何をきっかけに考え始めたの? 自然変換や多相関数っていうのは知ってるんだよね?
171 名前:154 mailto:sage [2015/04/28(火) 18:04:05.29 ID:W3D8VZu+.net] >>163 ありがとうございます。 想像していたのとはちょっと違って抽象度が高そうですが、 がんばって学んでみます。 >>167 考え始めたきっかけは最適化です。 ポイントフリーで記述していた式の中で、たまたま2つの関数が 関数合成に関して可換なのに気づいたので交換してみたら、 交換後に隣同士になった関数同士が融合できて最適化できました。 その時は本当に偶然見つけたのですが、もっと効率よく発見できないかと思い質問しました。 条件が分かれば悩まなくて済み、また勘違いで交換してしまうこともなくなります。 Haskell のデータ値はすべて抽象構文木で表せるので、 その形や変換する部分木の位置などに依るのかなと思っていましたが、 圏論の話が出てくるのは予想外でした。 自然関数は名前だけは知ってます(内容は未学習)。 多相関数は要するに型シグネチャに型変数を含む関数ですよね。
172 名前:デフォルトの名無しさん mailto:sage [2015/04/28(火) 18:49:24.22 ID:s9k+iiT5.net] >>168 何らかの多相型をMとおいたとき、f : a -> bなる関数をmapで持ち上げたmap f : M a -> M bというと、 多相性を持ったまま何らかの操作を行う関数tx : forall a. M a -> M aは可換である、ということはなんとなく分かる。 多分、証明もできる。 もっと緩い条件もあるかもしれないけど、型レベルだとこの程度しか言えないんじゃないか?
173 名前:デフォルトの名無しさん mailto:sage [2015/04/28(火) 22:38:28.56 ID:8LxH1Yrp.net] >>168 自然関数じゃなくて自然変換だよw 自然変換はほぼ多相関数と同義で、 あなたのいう「内容に依存せずに構造の形を変える関数」のこと だから名前だけ知ってるじゃなくてちょっと中身も見てみたら まあ>>169 の言う結果になると思うが
174 名前:デフォルトの名無しさん mailto:sage [2015/04/28(火) 23:26:28.54 ID:W3D8VZu+.net] >>169 >>170 すいません、自然関数はただの書き損じです。 ちょっとかじる程度では全く理解できないので自然変換についてちゃんと学びたいのですが、 Wikipedia のような辞書ではなく、ステップアップで学べるようなもので、 おすすめの書籍やサイトはありますか?
175 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 12:52:33.36 ID:XY0F0CkV.net] >>171 nineties.github.io/category-seminar/1.html#/92 最近見てなかったけどマメに手が入ってる、尊い...拝掌
176 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 14:12:01.94 ID:XY0F0CkV.net] すいません拝掌は書き損じです><
177 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 20:39:45.77 ID:Y/GqQ0EE.net] 不正なノイズ
178 名前:デフォルトの名無しさん [2015/05/01(金) 04:56:54.76 ID:fVuNknYg.net] 668 悶絶青年スエナガ ◆nHX7uJrJYv2Z 2015/04/30(木) 22:47:23.36 ID:Z5XSNckF0 皆さん、わかってないでつね( ゚∀゚) 彼は自作自演レビューについて、Twitterやここで騒がれていることについては、 「知らなかった」という筋書きにするつもりなんでつよ・・・・ そう、彼はTwitterや2chなんて見ていない、という「設定」を今、作り上げているのでつ( ゚∀゚) その証拠に、いつもは瞬間湯沸かし器のようにTwitterに反応する彼が、今回は一切反応してませんwwwww 彼なりに、「必死に、必死に、必死になってガマン・ガマン・ガマン」してるのでつ( ゚∀゚) 反応してしまったら、Twitterをエゴサーチしていることがバレますから、 「アマゾンレビューで自演していた」ことが噂になってることを知らなかったことには出来ませんからねwwwwww 彼は後になって「え?そんなことが話題になってたの?僕は知らない」と言うために必死になって今は耐えているのでつよwwwww
179 名前:不明なデバイスさん mailto:sage [2015/05/01(金) 07:51:16.60 ID:bd+SwLlp.net] まじで興味ないんだけど 何で反応する人がいるんだろ
180 名前:デフォルトの名無しさん mailto:sage [2015/05/01(金) 08:35:11.62 ID:eutNCxIi.net] 興味あるからじゃね?
181 名前:デフォルトの名無しさん mailto:sage [2015/05/01(金) 17:47:37.74 ID:F/SXJcEE.net] >>172 スライドを紹介していただいたこと自体には感謝の気持ちはあるのですが、 お礼を言う気分になれません。 このようなタイミングで言い方をそっくり真似されるのは、 小馬鹿にされたようで、あまり気分の良いものではありません。
182 名前:デフォルトの名無しさん [2015/05/01(金) 18:32:23.93 ID:bZSKV+U3.net] shindanmaker.com/529918 毛の壁うらない、おまえらもやれよ
183 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 02:10:23.61 ID:jinFEowY.net] Haskellの考案者が亡くなったと聞いて駆けつけました
184 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 09:56:16.48 ID:X3dtRZ+Y.net] どこでそんな情報が出ていたんだ?
185 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 13:00:24.67 ID:5Y45W3x5.net] >>181 www.reddit.com/r/programming/comments/34f19q/paul_hudak_creator_of_haskell_has_died/
186 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 20:43:21.60 ID:xs/LOAyd.net] 30分くらい喪に服せよ
187 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 21:47:06.15 ID:R1nes/uM.net] 訃報: Haskell設計者Paul Hudak氏 developers.slashdot.jp/story/15/05/01/2154234/ スラドでも取り上げれられてた
188 名前: ◆C93WWgXd.E [2015/05/05(火) 07:12:28.31 ID:rJmUZz/a.net] おら、自作自演レビュー失敗野郎 ホモの岡部!かかってこんかい
189 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 16:26:05.11 ID:NTx27ZOo.net] >>184 コレでこの言語もおしまいだね
190 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 13:13:54.56 ID:d4s5gCSo.net] せやろか
191 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 18:51:40.54 ID:lCIkxTrL.net] しょぼい質問ですまないが、 foldって多相関数?
192 名前:デフォルトの名無しさん [2015/05/06(水) 19:02:30.29 ID:x2IHNZjz.net] foldl :: (a -> b -> a) -> a -> [b] -> a aとbは普遍量化されている。
193 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 19:15:58.04 ID:lCIkxTrL.net] ということは、foldって自然変換であって自然性条件を満たしている? foldの自然性条件がどんなものか想像できないんだ
194 名前:デフォルトの名無しさん [2015/05/06(水) 19:18:01.71 ID:x2IHNZjz.net] >>190 Foldable型クラスについて考えたら?
195 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 22:41:12.83 ID:lCIkxTrL.net] >>192 もう少しヒントをくれないか
196 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 01:26:31.87 ID:LlwVP2OT.net] 自己解決キタ━━━━━━(゚∀゚)━━━━━━ !!!!
197 名前:デフォルトの名無しさん [2015/05/07(木) 07:42:17.64 ID:lfcx6TTy.net] 学歴欄に注目。 3年前は「卒業」という文言があったが、今では無くなっている。 118 :名無しさん@ゴーゴーゴーゴー!:2015/05/07(木) 01:21:47.78 ID:gZ11Gp/P0 みなさん、この画像をダウンロードしてみてください。 twitter.yfrog.com/n19xup?sa=0 (「Download this image」というボタンをクリック) 彼はかつて、Google+ではUCLA卒業と記載していたのが、現在では消えています。
198 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:33:22.66 ID:zMQZR1+Z.net] 一度自演してしまうと以降のそれっぽいだけの書き込みまで自演にしか見えなくなる ・・・加勢せざるを得ない人は自演に見えてしまうだけで自演じゃないんだよね?
199 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:44:18.25 ID:SJ9cQ9MA.net] スレチ
200 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 15:20:28.66 ID:2DPjDbBn.net] 毛の壁の顔おもしろすぐる
201 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 19:12:29.86 ID:Wsgktw33.net] 身なりや人格批判ではなく専門分野の知識のみに対して攻撃していこうな
202 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 19:17:35.45 ID:ZHeXF73S.net] いいえそいつに関する全話題がスレ違いです
203 名前:デフォルトの名無しさん [2015/05/08(金) 22:15:32.46 ID:Ewa40zmC.net] 身なりや人格批判なんて、全体の何%あるんだ? 大半は記事の批判してると思うが
204 名前:岡部健一 [2015/05/08(金) 23:50:43.90 ID:Tc9eNMtd.net] fx-toushi.jp/blog-entry-31.html 更新
205 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 06:13:42.20 ID:R7pPsL7j.net] 何年か前にこのスレでお勧めされてたhaskellの教科書のコードが 最近のGHCで動かなかったんだけどhaskellってそういうものなの?
206 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 08:35:23.33 ID:Bw82nfhw.net] >>202 コード貼ってみ
207 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 09:03:40.24 ID:v8DO1laq.net] どんなコードが動かないのか言ってくれないと 互換性100%保って開発されてる言語なんてほぼないでしょ としか言えない
208 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 10:57:45.25 ID:3DvLgZhI.net] n-kのやつでは? 大概の言語は互換性を可能な限り保存するけど Haskellは割とバッサリオプション扱いしちゃうよね。
209 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 11:30:54.68 ID:bNXnXiFr.net] 実験言語の宿命ですわ 使うならHaskellと心中する気で使わないと
210 名前:デフォルトの名無しさん mailto:sage [2015/05/10(日) 19:54:16.77 ID:vvnbmxfh.net] LXRとかopengrokとかgonzuiとか、cross referencerと言うのでしょか、 ソースコード見る時にタグづけ・リンク付けしてくれる便利なのがあるけど、 Haskellのソースにつかえるものって何かありませんか
211 名前:デフォルトの名無しさん [2015/05/11(月) 07:33:17.87 ID:XnQMQgf4.net] qiita.com/iiojun/items/5f63d1cf485cec442ff3 ある種の書籍にみられるAmazonレビューコメント評価の傾向 qiita.com/nonstarter/items/fb5fc7582821d7f98297 『関数型プログラミングに目覚めた!』のレビュー(Day-2)
212 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 09:40:29.74 ID:OkrNXSSQ.net] 査読が機能してない出版業界ってもうダメかもわからんね we reject kenokabe
213 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 17:08:39.11 ID:rqU23QV5.net] 最近のレビューは商売レビュー屋が書くので当てにならない
214 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 18:07:53.13 ID:fXdd85Lw.net] 本屋にたくさん平積みしていたよ‥世紀末だね‥
215 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 20:54:00.11 ID:tVwc5MX9.net] 毛の壁は張角 IQ本は太平妖術三巻の内の一巻
216 名前:岡部健 [2015/05/13(水) 13:19:35.89 ID:7n8Agdd+.net] ボレロ、おまえは間違ってる。圏論の理解も間違ってる
217 名前:デフォルトの名無しさん [2015/05/13(水) 14:09:57.50 ID:8NL6fUzR.net] cabalバージョン違いのパッケージ共存できないのか サンドバックって付け焼刃みたいな対応とか、cabalがクソ過ぎる と思ってぐぐるとcabal hellとか出てくるしorz
218 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 16:04:09.96 ID:ll6glzrw.net] 結局人力でパッケージ管理とか何のためのcabalか分からなくなってくる
219 名前:デフォルトの名無しさん [2015/05/13(水) 18:24:31.35 ID:ONEyRCsc.net] DRYとかいう不気味の谷 全然違うパッケージの共存は許すが殆ど同じものは許さない
220 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 18:42:00.16 ID:L4VSJ4+X.net] ボレロ有名だったのか。Twitterでフォローしてたけど
221 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 19:02:14.28 ID:TGVGO327.net] つまらん揚げ足取りで岡部さんのエネルギを浪費させるのはやめてくれ。 あんな話をしてくれる人は他にいないんだから。 仙台のなんとか先生の話はもういいよ。つまらんから。
222 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 19:30:03.41 ID:1/KrX9dS.net] ボレロって何?
223 名前:デフォルトの名無しさん [2015/05/13(水) 23:09:50.99 ID:4wfpqqcc.net] >>219 厨二じゃない人だと思います。
224 名前:デフォルトの名無しさん [2015/05/14(木) 07:35:02.35 ID:YnCF7Vuv.net] 862 :名無しさん@ゴーゴーゴーゴー!:2015/05/14(木) 07:07:10.96 ID:SRiT9Cuo0 勘違いしてる奴が非常に多いが、岡部がQiitaを除名されたのは、 言説の怪しさではない。 個人情報の暴露を含んだ誹謗中傷をしたから。 これが全て。 直ぐに消されたから、知らないんだろうな。 863 :名無しさん@ゴーゴーゴーゴー!:2015/05/14(木) 07:09:53.94 ID:SRiT9Cuo0 「記事を丸ごと消してコメントを削除」するということを繰り返していたことは、 運営に睨まれる要因ではあったが、除名されたのは、 「誹謗中傷行為を繰り返したがら」。 これ、大事なことなので忘れないように。
225 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 18:54:37.99 ID:PqTHUvj6.net] kenokabeは爬虫類
226 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 23:48:35.62 ID:PU6/Ufkb.net] 粘着軍は黒光りする昆虫
227 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 05:26:51.08 ID:f/6HmmLw.net] 岡部が言ってるだけなのに、なんであんなに関数業界の人は必死になってんの? 関数業界の人は一般的なニーズと乖離した所ばかり掘ってるよ。 一般的なニーズは、関数型プログラミングでは、どういう成果物が効率よく作れるのか という実用部分であって、瑣末な部分の理論の正否なんて気にしてないんだよ。 岡部の本に間違いがあるかどうかはともかく、大枠で方向性を示したことは評価できると 思うんだけどな。その辺がわかってないよな。
228 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 11:10:08.35 ID:m17hPiVk.net] オブジェクト指向が衰退したんじゃないかな 今ならOOを倒せるっぽいしその中心にいる人物は英雄になれる OO全盛期には必死に逆張りしても骨折り損だったが今は違う
229 名前:デフォルトの名無しさん [2015/05/16(土) 11:15:10.46 ID:BDaO4G29.net] 40台でもう後がない岡部にとってはワンチャンなんでしょ OO叩きはいい看板なんだよ
230 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 11:47:43.20 ID:SD2VGHuN.net] ぶっちゃけHaskellもLispと一緒で主流にはなれないでしょ
231 名前:デフォルトの名無しさん [2015/05/16(土) 13:17:28.79 ID:cTE7t72a.net] スピノザならあるいは・・・・。
232 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 13:35:34.95 ID:ucBctojg.net] >>224 >>225 その通り
233 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:58:34.07 ID:Lio5eCYO.net] いくらなんでも自演バレバレだろうがよ バレてないとでも思ってんのかね
234 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 17:29:33.32 ID:1wcuMTJn.net] 関数型 vs OOという対立図式の方が売り込みやすい。マーケティングの 事がわかってない連中だけが騒いでる。ま、炎上して注目されるという 意味では悪い話ではないんだが。
235 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 20:47:21.57 ID:m17hPiVk.net] 多くの人にとって重要なのは対立することではなく簡単に勝てること つまり逆張りしないことだ
236 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 20:52:20.70 ID:SD2VGHuN.net] 基地外が基地外理論喚いてるならほっとけばいいのに コミュニティ(笑)の為にとか 発 者 同 . 。_ ____ 争 生 同 .じ . /´ | (ゝ___) い .し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、 .な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j .い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´ .! ! か の / ´..:.} >、、___, .r、 ソ、`\ / ..:.:.} / |∨ ` ̄ / ..:.:./ | 丶 / _、 ..:.:.:.{ .{.:.:. \ { ..:Y .ゝ、 {.:.:.:.:. ヽ |、 ..:/ 丿 .:〉 >.- ⌒ . ヽ / {. ..:./ ソ ..:./ .( ..:.:.:` ..:} ./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:} ./..:.:/|.:/ {.:./ X.:.:}.} X X /..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y . __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\ /.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
237 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 21:25:10.08 ID:m8m9+RQQ.net] 実際にQiitaとgoogle検索結果が汚染されたのは事実。 ここでkenokabe擁護?のような真似事している奴も中身について何も言及しないのも事実(>>224 )。大枠って何? 日に何度か、書き捨てのようなレスをして荒らしている奴がいるのは事実。 物理板の荒れ方とよく似ているので、よく似た症状の患者がいるのだと推測。
238 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 22:53:41.06 ID:1wcuMTJn.net] 汚染厨来たなw 検索結果に文句があるなら、グーグルをdisるしかねぇだろ。 実は、グーグル先生のアルゴリズムでは、騒げば騒ぐほど検索上位になるんだぜ。 あと、qiitaの勝手管理者みたいな真似せず、君らが、独自にブログサービスでも 百科事典でも何でも作ればいいんだよ。人気が全く出ないだろうけど。 それに、無料で使わせてもらってるんだから、管理会社に迷惑かけるなよ。君ら 何様のつもりみたいな傲慢な人が関数界隈には多すぎる。 君らみたいなのが、初心者を遠ざけてしまい、イマイチ人気出ないんだよね。 ちょっとでも間違いがあると、人格まで全否定みたいな極端な奴が多い印象。
239 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:05:15.74 ID:SD2VGHuN.net] まあGoogleが汚れるのはGoogleの責任だしQiitaが汚れるのはQiitaの責任だよな 例のアレが基地外なのは疑い様のない事実ではあるけども自称関数型コミュニティの識者()も勘弁してくれって感じ
240 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:19:10.31 ID:ws39nzeu.net] いくら自演したって誰もまともに相手になんかしねーよ 自分のブログにでもひっこんでろ
241 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:42:59.03 ID:5WGKvptr.net] 騒動の収穫としては、岡部だけじゃなく、仙台の先生も同じく教祖タイプという ことがわかったことだな。取巻きとしては、仙台の先生を祭上げておかないと 食扶持を失いかねないし、熱心な理由もわかる気がわかる気はする。 両者とも論理を越えたところで戦っているのだ。 一方、ビジネスとして見ると、マーケティング的には岡部は天才的なものを 持っている。キャッチーな用語を上手く編み出すのは天性のものだよ。
242 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:51:25.61 ID:Xo5bM6FI.net] もしそうならこんなことにはなってないんじゃないか
243 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 00:09:05.06 ID:vxP+UTbZ.net] 仙台の先生って誰?
244 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 02:22:27.46 ID:I4gH+GcU.net] bristle wall は火消し部隊を雇ったのか?急に書込が増えたな
245 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 03:46:18.69 ID:KOELu0yT.net] 別スレでやれ
246 名前:デフォルトの名無しさん [2015/05/17(日) 09:52:55.38 ID:XD8qkQRv.net] Haskellは難しいがC++も難しい 争いが絶えないとかいう問題ではなく統一したら難易度が倍になるから分離してるだけだ
247 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 09:57:22.35 ID:ORYJ+N7V.net] > 仙台の先生も同じく教祖タイプ 仙台は教祖なんかじゃないよ。群れたがる三流学徒
248 名前:だと確認できたよ [] [ここ壊れてます]
249 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:28:39.34 ID:bObx+CyQ.net] すごいハスキル中の初学者です。 型クラスについて教えてください Eq とか Ord とかの指定を習いましたが、これは言語処理系で組み込まれているものでしょうか? それとも、実は自由に設定できる、あるいは自分流型クラスを設定できるように(学習が進めば)なるのでしょうか?
250 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 16:38:23.79 ID:yjYevIhU.net] 型クラスは自分で作れますが、クラスにはインスタンスが2個以上なければ無意味 なので同じ性質を持つ型を2個以上作るのですがそれはDRYの原則に矛盾する可能性があり 初学者にはおすすめ出来ません
251 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:30:26.93 ID:/1M7kTbP.net] 学習してる人にDon't Repeat Yourselfて… 既存の型を自作の型クラスのインスタンスにすることも、 自作の型を既存の型クラスのインスタンスにすることも、 既存の型を既存の型クラスのインスタンスにすることも、できる。 既にインスタンス化されている型と型クラスを書き換えるのは少し手間がかかる。
252 名前:デフォルトの名無しさん [2015/05/17(日) 22:10:04.28 ID:7pPi0iqf.net] > 既にインスタンス化されている型と型クラスを書き換えるのは少し手間がかかる。 えっそんなのできるの? くわしく data Foobar = ... deriving Hoge でHogeを自作するのは可能?
253 名前:デフォルトの名無しさん [2015/05/18(月) 02:24:26.93 ID:85kr6JxX.net] >>243 C++は簡単だろ。
254 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 03:09:26.48 ID:eEjXu/P7.net] >>248 語弊を与えてしまったと思う。申し訳ない。 newtype MyFoo = MyFoo Fooとかやって、instance C MyFoo where ... みたいにすれば、 オレオレ定義のインスタンス化はできるよっていうだけ。 既にあるインスタンスと、それを使っているコードの動作は変えられないよもちろん。 個人的には>>247 の3番目が通るのはどうかと思う。 下手糞が作ったライブラリを使わないといけなくなったら地獄が待ってる。 まだそんな事例には出くわしたことがないけど、塞げる穴じゃないのかこれは。
255 名前:デフォルトの名無しさん [2015/05/18(月) 08:33:14.68 ID:PFYZF6oW.net] ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ 、:::::.. /:::; .,-、 l:::/、 ,―:::::::: ゝヽ- ー' 、 l::/,、ヽ l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
256 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 11:41:43.76 ID:1sYrNLv/.net] >>250 もし関数型が自然科学なら価値判断より事実が争点になる 「インスタンスになったら地獄」といくら主張しても 「インスタンスである」と事実を宣言されたら勝てない
257 名前:デフォルトの名無しさん [2015/05/18(月) 14:08:32.13 ID:J+DllwNy.net] >>252 健ちゃ、こんなところまできて自演?
258 名前:デフォルトの名無しさん [2015/05/18(月) 14:33:22.46 ID:NV1bgdqX.net] 岡部は関数型でどんなアプリ作ったのか見せてくれよ。 自分は作ったことがないのに、「私の本を読めば作れるようになる」じゃ、詐欺だぞ
259 名前:デフォルトの名無しさん [2015/05/18(月) 14:34:36.88 ID:NV1bgdqX.net] あと岡部よ。アマゾンでてめぇの本をてめぇで高い評価しくさった事についても弁明しろや。
260 名前:デフォルトの名無しさん [2015/05/18(月) 14:36:07.03 ID:NV1bgdqX.net] おら、365日返金保証の教材野郎。逃げてんじゃねーぞ
261 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 14:41:12.33 ID:aBJ9oZwQ.net] kenokabeもkenokabeアンチも氏ね トンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが
262 名前:デフォルトの名無しさん [2015/05/18(月) 14:48:21.07 ID:J+DllwNy.net] >>257 >トンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが 意味わがんね
263 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 17:09:27.48 ID:1sYrNLv/.net] 同族嫌悪というか単純に名無しを嫌悪しているから実名を特定したくなるんだろう 正しいか誤りかという以前に名前が分からないのと意味が分からないのを嫌悪している
264 名前:デフォルトの名無しさん [2015/05/18(月) 21:42:18.84 ID:Za9DOvVn.net] >>249 糞むずいだろ haskellとは別方向の難しさ
265 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 22:41:26.79 ID:gkB/bqS0.net] C++が難しいとしたら、逆に何が簡単なんだよ。 C#やJavaも同程度には難しいだろ。 プロが使う実用言語で、それで飯食っているやつが居るんだから、 ある程度難しいのは大前提で、この程度で難しいといっていたら何も出来ないよ。 少なくとも、家を建てたり、自動車作るよりは、覚えることも少ないし、ずっと簡単だと思うが。 どこまで甘えるんだよ。
266 名前:248 mailto:sage [2015/05/18(月) 22:52:25.55 ID:Se0XfJ+o.net] >> 250 なるほど。 instance定義だけをimportしない、って方法はないんだね。知らなかった。
267 名前:デフォルトの名無しさん [2015/05/18(月) 23:17:47.47 ID:Za9DOvVn.net] >>261 いや例えばcoders at work に出てくるような有名なプログラマでも 「難しすぎ」 「書ける気がしない」 「複雑すぎて何か間違っている」 とか言ってるぞ Erlang作者「C++は満足に読めも書けもしません。C++は嫌いなんです。何か間違っているように感じます。複雑すぎます」 つかc++を簡単だって言ってる人の方が珍しくないか?
268 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 23:20:04.82 ID:wsHCJh20.net] C++簡単とかいう大きすぎる釣り針にかかってやろうかと思ったがスレチではないかと心配になった
269 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 23:55:18.12 ID:gkB/bqS0.net] だったら何が難しいか具体的に書いてみろよ。 比較対象はC#とJAVAでいいよ。
270 名前:デフォルトの名無しさん [2015/05/19(火) 00:18:36.13 ID:JW8ZA2Yc.net] constexpr
271 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 00:21:56.02 ID:jGcxlJfu.net] 逆にc++の何が簡単なんだw
272 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 00:24:26.22 ID:F2BOffyE.net] 難しいというかデザパタを使わなければならない不自由さが面倒
273 名前:デフォルトの名無しさん [2015/05/19(火) 00:27:32.08 ID:NL6C5oh4.net] CよりC++の方が簡単になった。 全ての状態に対してテストを行うことは所詮不可能なので、型が厳格なのが 多くのスクリプト言語に対してメリットになってると思う。
274 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 00:28:32.22 ID:Ri/mEtfG.net] TIOBEで申し訳ないが、C++は3位。 www.tiobe.com/index.php/content/paperinfo/tpci/index.html みんな普通に使っているということ。 普通の人が普通に仕事で使う、普通の実用言語。 F#やHaskellみたいに難しくて人が寄り付かないような言語ではないということ。 そりゃ、BASICなんかのお子ちゃま言語と比べれは難しいかもしれないが、 プロフェッショナルの使う実用言語なんだからある程度は当たり前だろう。
275 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 00:41:45.17 ID:jGcxlJfu.net] 使ってる人多いから簡単とはならなくね 難しいから使わない 簡単だから使うとはならんし 広く使われる言語って 別に言語が優れてるからとか簡単だからって理由で使われるわけではないし c++はcとの互換性から使われてるし 後 実用言語って何よ ocamlだってhaskellだってscalaだって実用言語だよ 「簡単」とはみなされないだけで
276 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 02:04:40.28 ID:Ri/mEtfG.net] 道具において、 使っている人が少ないから難しいとはならないが、 使っている人が多いなら簡単は、真だ。 だって、実際多くの人が挫折せずに使えているのだから。 その程度には簡単ということ。理解できないレベルではないということ。 たくさんの関数型言語が有り、そうでない言語より優れているのは 明白なのに、いまいち普及しないのは何故だと考える? 答えは、難しいからだ。 多くの人がCからC++にステップアップした。 今はそうでもないが、その昔は猫も杓子もC++を使っていた。 C++が簡単だったから問題なくステップアップできたわけ。 同じ事が関数型言語でも起こると思う? Java→Scala、C#→F#にみんな移行出来ると思う?
277 名前:デフォルトの名無しさん [2015/05/19(火) 02:09:03.78 ID:JW8ZA2Yc.net] ないわーwww
278 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 02:11:36.89 ID:Ri/mEtfG.net] >難しいから使わない 簡単だから使うとはならんし ここが違うんだよね。 難しいから「使えない」 簡単だから「使える」 が正解。 C++はTIOBEで第三位。多くの人が「使える」言語。 多くの人が理解できない関数型言語と違って。 こんなに誰でも使ってるC++を難しいといってしまってよいの? 世の中には家を建てたり自動車を作ったり心臓移植までしている 人たちが居るというのに。ハードル低すぎじゃね?
279 名前:デフォルトの名無しさん [2015/05/19(火) 02:30:37.22 ID:JW8ZA2Yc.net] 宣言文の文法がそもそもあんだけトチ狂ってんのに「簡単」とか言われましてもw
280 名前:デフォルトの名無しさん [2015/05/19(火) 02:35:55.87 ID:ZmlYhIi9.net] std::function<bool(int)> callback = [&](int n)->bool{ return assign(n); }; 大変読みやすいです。
281 名前:デフォルトの名無しさん [2015/05/19(火) 02:45:13.52 ID:ZmlYhIi9.net] 関数型の欠点は、従来の言語より優れていると言われる割に、優れている部分を 示せないことではないでしょうか。 偉大なる◯◯で使われているという話はよく聞くのですが、BASICもCも偉大なる◯◯で 使われているのは変わりありません。 マップ・リデュースで一万コア・・・なんて話も良く聞かされるのですが、そもそも 一万コアのマシンを持っていませんし、C++にもそういったライブラリはあるのですが、 今のところ使いどころはありません。 ですから全く使いたいと思えないのです。
282 名前:デフォルトの名無しさん [2015/05/19(火) 02:53:32.65 ID:JW8ZA2Yc.net] 使いドコロがない世界で生きてるんなら使わなきゃいいじゃん。終了。
283 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:22:45.75 ID:zSes0jIt.net] C++の機能のそれぞれの背景は多様で、グランドデザインは無いと言っていい。 一貫しているのは「C++が提供している機能を使わないプログラムは、それに伴うコストを負わない」っていう箇所くらいだ。 これに反しない限りはどんな仕様にもなっていく。文法もアドホックな部分が多い。 以下反駁: >使っている人が少ないから難しいとはならないが、 と言った口で >答えは、難しいからだ。 と言う論理の無さに震える。 多くの人が使えるなら簡単っていうことは、中国語が簡単だと言いたいんだろうな。
284 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:25:32.55 ID:T8F04qpp.net] >>268 そんな宗教じみたもん無視するのがよろし 問題と向きあえば、最適な設計は自ずと導かれるもんよ
285 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:25:54.73 ID:Ri/mEtfG.net] 関係ないね。 モナドが難しすぎるから。 これに尽きる。 工学部出てても、圏論なんて聞いたこともねぇってやつがほとんど。 Wikiからして抽象的でそうとうの数学センスを要求される。 ja.wikipedia.org/wiki/%E3%83%A2%E3%83%8A%E3%83%89_%28%E5%9C%8F%E8%AB%96%29 しかもC++のマイナー機能やSFINIEをつかった複雑なテンプレートと違って、 関数型言語においてモナドは必須事項。 慣れてきたらそのうち・・・というわけにはいかない。
286 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:29:07.25 ID:sK241CbT.net] ま、一般大衆はC++のサブセットで満足していて、それは彼らが「使える」程度には簡単、ということなんだろうね。 >>272 さんの言う通り、使っている人が少ないからって難しいとは限らないが、果たしてHaskellはどうだろう。 個人的には普及の障害になるくらい難しいとは思わないけど…
287 名前:デフォルトの名無しさん [2015/05/19(火) 03:32:47.88 ID:ZmlYhIi9.net] 難しくてもメリットが上回れば使われると思います。 メリットが示されないので使われないのですよ。
288 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:45:36.89 ID:sK241CbT.net] うーんそうかなあ、モナド難しいかあ。 初学者だった頃に引っかかった記憶はあんまりないけどなあ(むしろ(.)と($)にハマった。発狂しそうになった)。 だけど小学生の姪っ子をリストモナド使えるように教習しろって言われたら… 出来る自信ないわ。 ZmlYhIi9さんの意見にはぐうの音もでない。一般人がHaskell使って直接的に嬉しいことって、特にない気がするよ。 でもHaskellのスローガンは「可能なかぎり成功を避けろ」だからね。 人気ないのはむしろいいんだ。
289 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:56:54.04 ID:Ri/mEtfG.net] >多くの人が使えるなら簡単っていうことは、中国語が簡単だと言いたいんだろうな。 偏差値40の中国人でも中国語をつかえることを考えると、中国語は簡単なんだろう。 中国語が本当に難しくて偏差値60無いと理解できない言語というなら、中国は滅亡するだろ。 た・だ・し、通訳は難しい。 だから中国語を通訳できる人は少ないし、それだけで飯が食える。 そして、プログラミング言語がネイティブな人は居ない。 しかしこんなことは言葉遊びだ。 TIOBE第三位の多くの人が日々普通に使ってる言語を「難しい」「理解できない」と感じるなら、 単にその人の能力が標準以下なだけ。 多くの人が理解できないほど難しいのであればTIOBE第三位になるのは無理。 関数型言語がまさにそれ。多くの人が理解できない。TIOBE第三位なんて絶対無理。
290 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:58:58.68 ID:T8F04qpp.net] 圏論がどうのといって悦に入ってる連中が障害じゃないの 手続き型言語のプログラマで有限オートマトンがどうのという連中はいないもの Haskellには妙ちくりんな尾びれがついちゃってる感じ
291 名前:デフォルトの名無しさん [2015/05/19(火) 04:13:41.82 ID:ZmlYhIi9.net] C++は非常に簡単で、簡単であることそのものがメリットになっています。 ですからよく使われるのです。
292 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 04:31:48.32 ID:F2BOffyE.net] 池沼は病院から出すなよ鬱陶しい
293 名前:デフォルトの名無しさん [2015/05/19(火) 07:19:11.46 ID:GUw3UG1p.net] 関数型言語にモナドは必須ってアホか 必須なのhaskelくらいだろ そもそもwikiは糞だから参考になんねーよ それにモナド使うのに圏論いらんし 型クラスの定義見ろ
294 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 09:13:31.09 ID:WmVvlWKU.net] >>284 6年前のSPJ発言か、良い引用だ しょうもない格付け君は wall of bristle に断絶されてればいいよw
295 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 09:17:44.17 ID:MzsPfgik.net] 理論上は抜けだらけだが実用上問題ないプログラムを書けるかどうか
296 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 09:45:45.16 ID:JTaO2nL4.net] >>285 中国語が難しいか=C言語が難しいか 通訳が難しいか=C++が難しいか ですね、わかります。
297 名前:デフォルトの名無しさん [2015/05/19(火) 10:45:34.91 ID:0SacHJgX.net] C++が難しいって発言をそのまま捉えてるアホ初めて見た
298 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 11:35:26.14 ID:ZsRP29y3.net] C++コンパイラの保守が難しい そこまで考えてるやつはC++は難しいと言う そんなの想定外だとか未来の技術で簡単になるとかいう無責任なやつがC++は簡単と言う このアンチパターンが半永久的に繰り返されるだろう
299 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:48:04.34 ID:AXTyPS+t.net] 言語選定レベルで悩んでいるようじゃ初級プログラマだと言わざるをえない
300 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:59:10.60 ID:AXTyPS+t.net] 言語は目標を達成するための道具だろ。 各々好きな言語でプログラミングして、最後に結合する作業が簡単にできるプラットフォームがあれば良いね。 単なるリンカではないぞ。 誰か作ってよ。
301 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:59:54.89 ID:AXTyPS+t.net] てか未踏ソフトで応募して見ようかな
302 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 13:14:35.76 ID:D1tZIuIK.net] F# は3月のTIOBE11位 (関数型トップ) です...
303 名前:デフォルトの名無しさん [2015/05/19(火) 13:15:13.92 ID: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 名前:デフォルトの名無しさん [2015/05/19(火) 13:21:14.57 ID:TOz5556s.net] https://twitter.com/motoken_tw/status/452009450313097216 岡部事件、 可能であれば、お仲間にもご周知を!
305 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 20:17:28.97 ID:JXMeaZgm.net] たとえば皆、Haskellで各自思い思いに「倉庫番」を作ってみてくれ。 「パックマン」や「スターソルジャー」でもいい。 完成させるのに果たして圏論のどのような理解が必須だろうか? あるいは、圏論の何を理解していればより効率的に作れる、 またはより効率的なものが作れるだろうか? モナドはどこまで深く理解していなければならないのだろうか? 実際にやってみれば分かるが、思ってたよりも浅いモナドの理解で作れるはずだ。 恐らく入門書に書かれている程度の理解で十分。 圏論にいたっては意識すらしなくても良いはず(知らずに使ってる事はあるかも知れん)。 今時のマシンで普通に動くこの程度のアプリケーションで良ければ、 モナドが難しすぎるから作れないなんてことは絶対にない。 それなのに、声のでかい一部のバカが無責任に難しいと連呼するから、 門の前で中をうかがっている入門予備軍を怖じ気付かせる。
306 名前:デフォルトの名無しさん [2015/05/19(火) 20:30:46.38 ID:JW8ZA2Yc.net] 描画の話してんの? SDLバインディング使うなら単なる手続き型のプログラミング(嬉しくない)。 盤面上のデータ操作でもまあLearn you Haskellくらいを読んでれば十分だろ。 実際のところモナド変換子程度まで理解してれば困ることなんて殆どない。 Haskell難しいと連呼するのはHaskell触ってないやつ(いや確かに難しいけど)。 Haskellerが初心者に向かって圏論が〜なんてわけのわからん 威嚇をする実例はなど別にないと思うのだが。
307 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:15:19.01 ID:Ri/mEtfG.net] 現時点でHaskellが難しくないことを証明するのは無理。いくら何言っても無理。 Haskellが普及して、TIOBE第三位になるぐらいに広く使われるようになって初めて、 Haskellは多くの人が理解できる程度に難しくない、ということが、 統計的に証明できる。
308 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:27:02.56 ID:SB6c5oWN.net] >>302 圏がどう射がどうとか語り始めるモナドチュートリアルは見たことある モナドは何であるかじゃなくてどう使うかに絞った解説があればいいのに Stateモナドもスタック実装して終わりで え?こっからどうやって実用するの!?とか思った記憶
309 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:30:12.17 ID:jGcxlJfu.net] だから言語の普及度は言語の難易度で決まるわけじゃないだろ haskell難しいけど難しいから流行ってないわけじゃない とういうかhaskellがたとえこの世で最も簡単な言語であったとしても TIOBE第三位になる事はないから
310 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:31:23.95 ID:1/0u9cTV.net] 偏差値40だろうが30だろうが日本人なら日本語使えるから日本語って簡単なんだね
311 名前:デフォルトの名無しさん [2015/05/19(火) 21:44:28.21 ID:JW8ZA2Yc.net] >>304 様々な層に向けたそれぞれのチュートリアルがあるだけだろ。 数学的指向があったら最初に圏や関手の話から導入された方がわかる。 それに各モナドごとの個別チュートリアルは際限がなくなるからなあ。 モナドはなんというか見よう見まねで書き続けてると ある時ふっ、とわかるんだよね。まあそういうもんだと思うしかない。
312 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:55:23.18 ID:Ri/mEtfG.net] >>305 お前は本当に頭が悪いな。 Haskellが普及してTIOBE第三位になれば、 Haskellは多くの人が理解できる程度に難しくない、ことが 統計的に証明できるんだ。 逆は知らん。 もし、Haskellが難しくなかったらTIOBE第三位になれるはず、とは誰も言ってない。 逆裏対偶ぐらい、習っただろ。
313 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:03:44.54 ID:1/0u9cTV.net] 誰かHaskellが難しくないって言ってる人いるの? 誰と戦ってるの?
314 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:29:33.06 ID:Db21bduT.net] モナド変換子難しいよお。。。
315 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:46
] [ここ壊れてます]
316 名前::21.27 ID:sK241CbT.net mailto: Ri/mEtfGさんは正しいこと言ってるとおもうよ。確かに、Haskellがずっと普及したなら、難しくはなかったってことの証明になるね(もちろん三位は誇張だろうけど)。 SB6c5oWNさんが言うように、モナド実用例… クックブックのようなもの? はあんまし見かけないなあ。何でだろう [] [ここ壊れてます]
317 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:53:16.69 ID:0SacHJgX.net] モナドの実用例ならhackageにゴロゴロ転がってるじゃん それだけじゃ入門者に優しくないって事ならその通りだけど。
318 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:57:09.05 ID:jGcxlJfu.net] >>308 だからTIOBEの順位と難しさは無関係だっつーの 言語の普及度は言語の難易度で決まるわけじゃない つかhaskell難しくないなんていってねーし
319 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:04:59.38 ID:jGcxlJfu.net] 第一 TIOBE()の順位なんかより 高名なプログラマの意見の方がずっと参考になるだろ 例えば coders at workとかさ 難しいところを挙げろというが逆に簡単なところを挙げてほしいくらい
320 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:06:55.74 ID:sK241CbT.net] >>312 言われて探してみたんだけど、たとえばリストのdoの例は見当たらなかったよ。 初めのころ、確か、すごいH本で解説を読んで、感動した記憶がある。 あとはParsecの解説サイトでApplicative、Monadの用例を見て、雰囲気をつかんだ(気になった)。
321 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:17:27.46 ID:JXMeaZgm.net] >>315 気になっただけで、実際は雰囲気すら掴めなかったのはなんで? そこの解説になにか問題があったの?
322 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:17:59.37 ID:0SacHJgX.net] >>315 リストのdo記法は考えてなかったわ。 モナドを自作するとこんな事が出来るとか、そういう事を指して実用って言ってるのかと思ってた。すまん。
323 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:50:39.22 ID:Ri/mEtfG.net] >>313 >だからTIOBEの順位と難しさは無関係だっつーの 関係あるっつーの。 少なくともシェアの大きい言語は、多くの人が理解できてるんだから、 その程度には難しくないことが統計的に証明されるだろ。 変な話、凡人でも理解できてるんだから。 難しくて一部のエリートしか理解できないってことは無いんだよ。
324 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:01:02.66 ID:xG2YivgY.net] >>318 >少なくともシェアの大きい言語は、多くの人が理解できてるんだから 使っているかといって理解できいるとは限らなくね? >変な話、凡人でも理解できてるんだから >難しくて一部のエリートしか なお一部のエリートや天才レベルでも難しいと感じている模様 日本でも某ocaml使いとか愚痴ってたような ていうか俺も仕事でc++を使うときあるけどc++を理解しないで使ってる連中の頭をかち割りたいね
325 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:02:05.71 ID:j7/9a0p9.net] ここにいる諸兄にはおわかりでしょうがこの荒らしはプレステを手に入れてスーファミをこき下ろしてる連中と同じメンタリティの奴です 弱い自分が強いと思いこめる武器を手に入れて暴れてるだけです どうぞ生温かくても冷たくてもいいので見捨ててやってください
326 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:06:06.64 ID:xG2YivgY.net] つか理解されてるから使うんじゃくて仕事があるから使うんだろ javaやjavascriptだって全然分かってない人が使ってたりしますし ていうかtiobeって話題になってる言語を選定するサイトじゃなかったっけ?
327 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:39:39.55 ID:hcXMT3AI.net] "language programming" でググってヒットした件数らしい。 使ってる人口じゃなくて、使っててこれどう書くのーってネットに書いてる人口を反映してるよね。 前者が多ければ当然後者も増えるが、難度が増しても後者は増える。
328 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:47:54.79 ID:tyUici8H.net] >>316 や、書き方が悪かったよ。今でもモナドの使い方を淀みなく完璧に理解してるか? って自問したら、そこまでの自信は無いなあ。と思ってさ。そのサイトの解説はグッドでした。 >>317 いやいや俺なんてHaskell歴5年くらいになるけど、未だにMonadインスタンス自作したこと無いぜ… (deriving除く)
329 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 01:06:36.36 ID:sW1Q6d6X.net] >>323 俺もHaskell歴そのくらいだけど、自作Monadは2個だけだよ。 ほとんどの事は既にあるモナドで足りるよね
330 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 13:10:54.59 ID:1z9LSkg7.net] 「モナドというものは作ろうと思って作るのではなく、 作った型が実はモナドだったということが多いのです」 みたいなことをすごいH本か何かで読んだ
331 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 14:32:34.25 ID:XsmEqg/3.net] それは、Monadってそんなに自然なものなんだよって言ってるんだと思うが、 オレは、FunctorやApplicativeに比べるとえらく不自然だなって思う
332 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 16:10:01.72 ID:2N8UJ/7p.net] ラムダ計算で作れるデータ構造は大体 (->) で出来ている (->) で作れる型はあれもこれもモナドだったから大半の型はモナドになる モナドクラスは表向きは個々のインスタンスに依存しないふりをしているが 本当は (->) の力が無ければ何も出来ない
333 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 19:36:47.33 ID:dadGQyQV.net] >>323 モナドを完璧に理解することが目的(目標)なら、がんばれとしか言いようがない。 でも、何かを作ることが目的で、その手段としてモナドの完璧な理解が必要だと考えているのなら、 落ち着いて、完璧な理解までは必要としない方法を模索してみることを勧める。
334 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 19:48:41.11 ID:XsmEqg/3.net] >>327 > ラムダ計算で作れるデータ構造は大体 (->) で出来ている > (->) で作れる型はあれもこれもモナドだった これはどういうことを言ってるの?
335 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 21:00:24.87 ID:+UYg+JjB.net] >>329 関数に型を付けたら実はそれは>>=と同じ構造を持ってました
336 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:24:23.25 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:38:43.62 ID:XsmEqg/3.net] >>331 どれもモナドにはみえないんだが、 どう見たらモナドになるんだ?
338 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:45:21.62 ID:tyUici8H.net] >>328 ありがとう。俺自身は、使う分には不自由してないんだ。初心者向けにモナドクックブック書いたら売れるかなあ、って思ってさ。 >>331 Fooがリーダーモナドで、Barが継続モナドですよね。 下のもモナドになるの?
339 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 00:00:34.02 ID:de5tZE8e.net] CがHaskellのコード中に直接書けるようになったと聞いて駆けつけました
340 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 00:36:31.12 ID:CoyRjUjS.net] そのまま帰っていいぞ
341 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:06:45.42 ID:8IjR4TZr.net] *Hask圏のなかにいる*
342 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 16:33:13.83 ID:rEwHo9Uc.net] 週末 inline-c で遊べるように haskell-platform-2014.2.0.0 用意できた build環境には debootstrap + schroot が便利という知見を得た
343 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 21:31:26.16 ID:ISp/Va/9.net] わぁい知見 あかり知見大好き
344 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 11:21:43.20 ID:0SRxUMd7.net] 知見(環境構築で苦しみたくないという気持ち)
345 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 14:14:24.76 ID:UgSbq8g0.net] 誰だって論理に集中したい筈だ
346 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 16:41:37.34 ID:lgd4dVFx.net] 環境構築ってクソつまらんのに大抵の言語でハマりどころ盛り沢山だからな
347 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 18:06:20.76 ID:BXmR/qwL.net] このツール使えねえと思ったら正直に全否定すれば苦しまなくてすむし その方が建設的かもしれない LinusがCVSやSubversionを全否定したみたいに
348 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 18:35:43.05 ID:JvMC0aIf.net] インストーラと別にコマンド叩いてDevkit入れる必要があるうえ手作業で証明書入れないとパッケージ管理システム使えない国産言語が初心者向けなくらいですし ほんと余計な苦労させられる
349 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 20:15:12.23 ID:fe/IYzrE.net] LinusはC++も扱き下ろしてる
350 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 09:43:51.03 ID:cgfZawIe.net] StroustrupもC++はジョークだったと言ってる
351 名前:デフォルトの名無しさん [2015/05/24(日) 19:42:49.77 ID:3b2NjmUt.net] cabal installしようとしたらbaseのバージョンが今のより古くないとダメだと言われた。 さすがにbaseの衝突回避は無理か
352 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:15:13.71 ID:XsNzee8o.net] >>346 俺なら、そのインストールしようとしているパッケージがアップデートされるまで、 下記の方法でしのぐ。 そのパッケージの .cabal ファイル内の build-depends の項にある base のバージョン指定を高くする。 cabal configure cabal install コンパイルエラーが出たらその箇所を修正し再度インストール。 エラーが出なくなるまで繰り返す。 テストが用意されているパッケージならテストもしておいた方がいい。
353 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 21:27:46.60 ID:+ZfT5bPb.net] 目的のパッケージが更新されたら通知してくれるソフトくれ
354 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 22:55:26.97 ID:XsNzee8o.net] >>348 せっかく Haskell があるのだから、試しに作ってみてはどうだ? いろいろ勉強になるかも知れん。 俺は特に必要とはしていないから取りあえず興味ないが。
355 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 23:21:49.16 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 23:36:19.30 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 23:52:10.59 ID:vsIUw6N4.net] すまん間違えた、 alias ghci="cabal exec -- ghci" の方がベター。cabal repl と比べて、hsファイルを渡して実行できるとこがよい。らしい。 おまえらも haskellマメ知識 晒してけ。
358 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 00:01:02.95 ID:2thWXfeV.net] そんなのマメ知識とか言われても困る
359 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 08:21:00.05 ID:GzRiv4UP.net] #知識for糞ザコHaskeller
360 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 11:39:32.92 ID:qzlNoXZk.net] >>346 あきらめてGHCのバージョン上げましょう
361 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 22:26:35.18 ID:gWg9G8z2.net] >>355 インストールしたいパッケージが想定しているより、 今のGHCのバージョンが高いから base が新しすぎると言われているのでは?
362 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 07:43:43.97 ID:shSvTWy+.net] C/C++なら依存するライブラリを#ifで切りかえるね プリプロセッサを捨てて一本道になった言語は依存関係が一つ壊れるだけで致命傷になる
363 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 12:56:29.60 ID:Y4vROO87.net] Cのプリプロセッサ(笑)
364 名前:デフォルトの名無しさん [2015/05/26(火) 13:07:38.46 ID:xYtlptqc.net] >>357 >プリプロセッサを捨てて とりあえずGHCのことじゃないことだけはわかった
365 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 13:52:36.05 ID:nTvEmyje.net] プリプロセッサが悪用されるのは意識が高い人間が使った時だから 嘲笑することで意識を低下させるのはある意味正しい
366 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 19:09:40.90 ID:XXhPjawb.net] 意識が高い連中は隔離してやろう 彼らが楽しく砂遊びできる環境
367 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 21:26:37.23 ID:8xzkswfT.net] こうどなあおりあい
368 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 08:11:39.10 ID:tHNT180U.net] [クェィザィ.クォート]
369 名前:デフォルトの名無しさん [2015/05/27(水) 14:47:53.27 ID:IRVvjMC1.net] kenokabe-techwriting.blogspot.jp/2015/05/esumiicamloebaocaml.html?m=1 おい、岡部が住井先生を相手に公開スキル対決したいと言ってるぞ! 会場どこにする?
370 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 16:37:40.89 ID:j/Edc2+c.net] >>364 うぜえからここに引用されてるドーキンスの文章でも暗誦してろよ d.hatena.ne.jp/NATROM/20141231/p1
371 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 19:47:09.26 ID:NxdwWN3a.net] >>364 とにかくまず「先生」つけるのやめろ お前は家来でも俺たちは違う 話はそれからだ
372 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 19:58:53.76 ID:dwpwEnF2.net] みんな時間を守らせるのが好きだから もうずっと未解決の問題に対しても 制限時間を設定してやれば時間内に成果が出るんじゃないかと錯覚してしまう
373 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 20:22:08.94 ID:yzh13mxX.net] こうあおどなりあい
374 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 20:22:49.61 ID:iCUdlE3X.net] てか毛の壁ってなんでこんなに粘着発狂してるの? 現実世界に友達が居ないから、ネットで相手してもらえるのがうれしいの? 仕事無いから暇なの?炎上マーケティング? それとも、ネットであやふやなことを適当に言いまくって、 誰かに指摘させることで自分がスキルアップできる戦略?
375 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 20:27:57.54 ID:B0g6EoUC.net] 発 者 同 . 。_ ____ 争 生 同 .じ . /´ | (ゝ___) い .し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、 .な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j .い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´ .! ! か の / ´..:.} >、、___, .r、 ソ、`\ / ..:.:.} / |∨ ` ̄ / ..:.:./ | 丶 / _、 ..:.:.:.{ .{.:.:. \ { ..:Y .ゝ、 {.:.:.:.:. ヽ |、 ..:/ 丿 .:〉 >.- ⌒ . ヽ / {. ..:./ ソ ..:./ .( ..:.:.:` ..:} ./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:} ./..:.:/|.:/ {.:./ X.:.:}.} X X /..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y . __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\ /.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
376 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:10:38.46 ID:3uTYMaQf.net] 争いっつーたって 反論に対して発狂してるだけやん どうしろと
377 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:23:47.94 ID:UvDWsdEw.net] NGしろ
378 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:39:08.49 ID:j/Edc2+c.net] 諸君、議論するのをやめたまえ
379 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:52:27.13 ID:CaKPB6kG.net] こうどな、おどりあい
380 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 03:03:31.40 ID:gCuhL1rI.net] でもあんな調子じゃ人と関わる仕事は無理だよね。どうでもいいけど。
381 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 07:50:15.34 ID:oT6P6+n+.net] 反論してる時点で同じ土俵に乗ってる 基地外(特に構ってちゃん系)は一切反応せずまるで存在しないかのように振る舞うのが一番効くと思うけど
382 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 08:58:11.27 ID:clFLgS2F.net] >>373 おいwwwwwwww
383 名前:デフォルトの名無しさん [2015/05/28(木) 12:15:04.59 ID:hQk09exV.net] 結城さんが面白がって彼を弄るから余計に彼が暴れるんだよな・・・・
384 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 12:57:16.48 ID:q7N6UgpT.net] これが積極的に弄る平和主義なんだよな いやなら積極的代案を出せ 消極的異論は認めない
385 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 15:27:38.42 ID:4gR+9k9M.net] インテリ層の娯楽はいつの世も残忍よな コロシアエ-
386 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 19:32:48.07 ID:TqklPbnT.net] >>378 えっ、結城さんそんなことしてるの? あの人だけはバカなことに関わらないと思ってたのに。
387 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 20:47:10.51 ID:q7N6UgpT.net] 一切誓いを立ててはならないんだよな バカなことに関わらないという義務はない どうするかは自由
388 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 21:58:53.30 ID:gCuhL1rI.net] 俺の想像だけど、毛の壁は東洋哲学全快なんだと思う。 でも数学もソフトウェアも西洋の物だから。 それを変に東洋風に解釈しなおして可笑しくなっているんじゃないかと予想。
389 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 23:05:28.91 ID:gCuhL1rI.net] そんで何かあったなって考えてたんだけど、ハンプティーダンプティーだ。 ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%83%97%E3%83%86%E3%82%A3%E3%83%BB%E3%83%80%E3%83%B3%E3%83%97%E3%83%86%E3%82%A3 「「名誉」という言葉をあなたがどういう意味で使っているのか、よくわからないわ」アリスが言いました。 するとハンプティ・ダンプティは馬鹿にしたような笑いを顔に浮かべました。 「もちろんわからないだろうさ、僕が説明しないかぎりね。僕は「もっともだと言って君が降参するような素敵な理由がある」という意味で「名誉だ」と言ったんだよ!」 「でも、「名誉」という言葉に「もっともだと言って君が降参するような素敵な理由がある」なんて意味はないわ」アリスは抗議しました。 「僕が言葉を使うときはね」とハンプティ・ダンプティはあざけるように言いました 「その言葉は、僕がその言葉のために選んだ意味を持つようになるんだよ。僕が選んだものとぴったり、同じ意味にね」
390 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 11:33:50.58 ID:UvEliUlK.net] ハンプティダンプティの言葉はウソというより秘密という方が近い 詐欺は犯罪だが秘密は犯罪ではない
391 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 14:59:20.11 ID:QoqBsPX0.net] 賢者は相手が無知なら相手の解る言葉の組合せで話してやるもの。 上から衒学的単語を浴びせかけるのではなく、自ら同じ知識水準まで降りていって話すものだ
392 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 17:40:28.18 ID:2KSZyB2Q.net] >>383 件の人物はどうでもいいが、それにかこつけて東洋哲学や数学をdisるのはやめてほしいw 近代、既に井上円了や西田幾多郎をはじめ、優れた哲学思想者がいたし、近世にさかのぼっても、 和算は優れた数学の体系とみなしうる。先人が件の人物の主張を聞けば、へそで茶を沸かすだろうw
393 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 17:54:20.08 ID:2KSZyB2Q.net] >>386 まったくその通りです。>>387 に絡めて言えば、東洋思想や仏教全般に不案内な人々に対して、 相手の解りやすい論理の枠組みで対話し、西洋哲学だけが思考の最高峰に立つのではないことを、 米国や西欧で知らしめたのが、鈴木大拙。鈴木が伝えた"禅"は以後、世界的な影響を保っている。
394 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 18:41:37.14 ID:UvEliUlK.net] でもそういう偉い人自身より「もしドラ」みたいに便乗してる人の方が「解りやすい」 と評価されるパターンが多い だから解りやすさという基準は使いたくない
395 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 18:50:35.89 ID:rC7lKM23.net] スレ違い氏ね Haskellerってこんな胡散臭い似非哲学者ばっかなの?
396 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:11:55.35 ID:eyi3DmdL.net] >>378 「面白がって」ってのは全然あたってないと思うけど。
397 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:57:19.41 ID:5MhrblBL.net] また変なのが沸いたもんだな。禅がどうとか。関数型はこういうやつの集まりなのか? 技術者ならありのまま受け入れろよ。空想に浸ってんじゃねーよ。禅も糞もあるかよ。 再解釈や独自の世界観も要らん。そういうことがしたければエヴァンゲリオンの監督でもしてろ。
398 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:32:12.05 ID:CaA5FwTY.net] 雑談。Haskell のコメントの -- って何かから受け継いだの?
399 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:59:14.56 ID:6mGsQHLK.net] >>390 >>392 ただのあおりだと思うけど、長く続ける話でもないので、一応、一度だけ返答を。 Haskellどころかプログラムコード全般を書くのに、禅や、井上・西田・鈴木の思想に触れる必要なんて、 まったくなく、主張もしてません。そういう類のことをやって悦に入っているのは、件の人物です。 >>387 は>>383 への、>>388 は>>386 への話に対する"例示"として出しただけです。 いわば、プログラムでいうところの、特定の箇所
400 名前:フみ有効な、ローカル変数としての扱いの話題で、 Haskellスレ全体に及ぶグローバル変数的な話題ではありません、お間違いなく。 なお、Haskellは意図せずに変数がグローバルに扱われることを防ぐ手立てが、独特かつ学びがいも あるので、興味があるのなら、各種情報をあたってください。 [] [ここ壊れてます]
401 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 22:24:42.09 ID:UvEliUlK.net] ありのままを受け入れることと 意図しないことを防ぐことは 両立しないと思うがどうするんだ
402 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 22:28:07.67 ID:1bdHe0ko.net] >>395 時々ありのままを受け入れて 時々意図しないことを防げば良いだけだと思うが
403 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 23:00:38.74 ID:5MhrblBL.net] ありのまま受け入れた上で、 意図しないことを防げばよい。 相手の言うことをよく聞いて、十分理解したうえで、 それを否定的に考えるかどうかは当然自由だわな。 それを相手の言っていることが、理解できないからといって、 自分の辞書で再解釈し始めると、 会話が通じなくなってきて、あの人みたいになる。 これは最も相手をイラつかせる方法だろうな。 はっきり言ってケンカになる。
404 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 00:06:51.02 ID:y2xM1Hhu.net] おれは両立しないと思うから意図は無視する 意図的に作ったものと自然にできたものを区別しない
405 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 01:53:48.06 ID:/LSFXZZf.net] そろそろHaskellの話してくれませんかね
406 名前:デフォルトの名無しさん [2015/05/30(土) 08:55:45.75 ID:I7OEXYWz.net] >>390 岡部健(毛の壁)のような最先端が不在だよね
407 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 11:19:25.28 ID:99bpmAVW.net] 芸人の話はもういい
408 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 07:54:58.92 ID:tRtL6h/C.net] >>381 >えっ、結城さんそんなことしてるの? >あの人だけはバカなことに関わらないと思ってたのに。 キリスト教徒は愛とか善とか押し売りするクズばっかりで嫌い
409 名前:デフォルトの名無しさん [2015/05/31(日) 09:07:02.06 ID:6v3o16Hx.net] 結城さんに手出しできなくてプルプルしとるな
410 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 09:52:05.60 ID:y0vichKB.net] 数学ガール、どうなんだろう、チラ見ではめんどくさそうであきらめたんだが
411 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 10:22:25.59 ID:/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 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 10:28:49.84 ID:Z+YrU6Ep.net] エセ哲学で煙に巻く、というと青木淳を思い出す
413 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 11:16:11.11 ID:Y5Q5hqkx.net] >>405 other-modules
414 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 11:23:47.90 ID:/wZ7j18U.net] >>407 ありがとうございます other-modules: Util, Hoge としたら出来ました。.hsつけちゃダメなんですね
415 名前:10人に一人はカルトか外国人 [2015/05/31(日) 12:47:30.55 ID:gFQ+S0pm.net] ★マインドコントロールの手法★ ・沢山の人が偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト 10人に一人はカルトか外国人 「ガスライティング」で検索を!
416 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 23:07:34.36 ID:bhwHs6Kp.net] すみません、分からないので教えて下さい。 MyData型というのがあるとして、 次のような感じの再帰的なデータ構造を 作りたいのですがどうやって 宣言したらいいのでしょうか? MyData = [A | B | C | MyData]
417 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 00:37:34.71 ID:7t5thP4d.net] newtype MyData = MyData [MyValue] data MyValue = A | B | C | D MyData
418 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 07:49:51.08 ID:2iXePbMK.net] >>402 憎しみと悪が世の中に満ちて欲しい我らとしては目障りよのう^^;
419 名前:デフォルトの名無しさん [2015/06/01(月) 08:39:30.47 ID:E7FyS8+c.net] https://twitter.com/Nico2Justice/status/604465683481530368 岡部氏の本、売れているようだが、これでもまだおまえらは否定するか?
420 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 10:31:20.23 ID:hNOdkfuP.net] i.imgur.com/GyubXO5.jpg 金返せだとw 返金保障はしてないの? FX本で揉め事起こしておいてよくやるぜ
421 名前:デフォルトの名無しさん [2015/06/01(月) 15:23:30.31 ID:Z2VsugfR.net] オアゾの丸善行ったら平積みでベストセラーになってからうっかりして『関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間』買っちゃった。 あの厚さにしては安いし。
422 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 21:41:48.25 ID:AkSsBG07.net] *釣り中
423 名前:デフォルトの名無しさん [2015/06/01(月) 22:06:25.83 ID:K67NswvK.net] @tanakhよ、速やかに岡部健の記事を抹消しろ 最終警告。なめんな
424 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 23:47:52.81 ID:Y6nutYnE.net] >>417 直接言えよ
425 名前:デフォルトの名無しさん [2015/06/02(火) 06:11:38.24 ID:rgUwgwJK.net] タナコフ、kenokabeに関する記事なんて書いてたっけ?
426 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 06:33:33.99 ID:/sF+2pLL.net] これは私見ですが、田中氏のAskに誰かが昨日、毛の壁関連のリンク付きで質問をしたのに対して、>>417 がクレーム付けてるのではと思います というのは、田中氏はAskとTwitterを同期させているからです。よって(どこかの誰かがした質問に含まれる)毛の壁リンクも田中氏(のアカウントから自動的)に呟かれることになります。
427 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 10:16:26.38 ID: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 名前:デフォルトの名無しさん [2015/06/03(水) 08:39:22.30 ID:aJoKJBXt.net] 誰か岡部健のMMD作ってくれよ
429 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 10:26:36.81 ID:I/rtMDUu.net] モナド3則って圏論的にはどうやって出てくるの?
430 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 10:53:49.25 ID:lNaMRMgL.net] 順番が逆じゃないか?圏論で言うところのモナドってのは<T,η,μ>の3つ組が µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。 Haskellのモナドクラスってのは単にμとηに相当する関数を持っていることを要請するだけで、 上の式を満たすようにインスタンスを定義しないと圏論で言うモナドにはならない。 Haskellのモナド3則は、上の式をKlisli starを使って書き直すと出てくるんじゃなかったっけな。 一度やったが、ここだけやっても面白くなかった記憶がある。
431 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 14:12:43.98 ID:I/rtMDUu.net] >>424 > 圏論で言うところのモナドってのは<T,η,μ>の3つ組が > µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。 なぜそんな3つ組を考えてなぜそういう条件をつけるのかというのは、 ここでは聞いちゃいけなかったのかな?w 圏論の本では天下りに書いてあるだけなので教えてくれるとうれしい
432 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 17:22:57.96 ID:lNaMRMgL.net] >>425 単位元の存在と結合則だから。 Haskellで何故モナド則が必要かは↓を見れば分かる。 https://wiki.haskell.org/Monad_laws モナド則を満たさないインスタンスは取り回しが悪い。モナドにする必要性が無い。 f : (Monad m) => ...なジェネリックな関数の振る舞いに何も期待できなくなる。 圏論の話をしたいなら他所でやってくれ。単芝生やす前に>>423 で>>425 の意図が読めるか拙い頭で自省しとけ。
433 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 18:36:14.98 ID:nbbdPdbj.net] 草が自生するわهههههههههههههههههههههه
434 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 20:40:35.99 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 11:03:34.20 ID:TEKHUXbi.net] >>425 関手圏における対象(元の圏での自己関手)Fたちの「べき乗」 FF, FFF, FFFF, ... たちを Fにまとめるための積に相当するものとしてμが、そしてそのような「積」が結合法則を 満たすことの要請として μ(Fμ)=μ(μF) が,そしてFの「ゼロ乗」に相当するものとしてηが与えられる。ηが「積の単位元」 に該当するための要請が、μ(Fη)=id F =μ(ηF) となる。 半群の代数法則を集合と写像の図式で書き表してみると上のような法則がどのように して導かれるかわかる。 このような意味でモナドは「一般化された半群」だと言える。 一度モナドFが与えられたとき、Fを利用して X -> F Y 型の射を「合成」する手段が得られることが わかる。KleisliにちなんでKleisli射などと呼ばれる。 詳しいことはマクレーン「圏論の基礎」を読んで欲しい。例がいちいち高尚なので読みづらいが どのみちあの全ての例を理解できるひとなどいないと思っておけばいい。
436 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 12:14:47.63 ID:6HPpoO/k.net] >>429 サンクス 要するに、まず、μはモナド領域における積演算であり、それは結合法則を満たす、でいいよね。 そしてηはその積演算についての単位元、と言いたいが、ηはモナド領域の元ではないので そうは言えないよね?
437 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:28:26.87 ID:TEKHUXbi.net] >>430 「モナド領域」で何を言いたいのかわからない。 #言葉はなるべく正確に使おう >>429 の補足 モナドと半群Gの類似性を捉えるためには「単位元」を「ゼロ項演算」とみなすとよい: e : * --> G ここで、* は単元集合ならなんでもよいのだが、何か一つ決めておく。そして任意の集合Sに対して * × S と S が 1-1 かつontoな写像で結ばれているので同じと「みなす」ことにより、* は「デカルト積における単位元」 とみなせる。(集合A,Bの共通部分 A ∩B を「積集合」と呼ぶ場合があるが、全然違う「積」であることに注意)。 半群Gの「積をとる演算」m はもちろん m : G×G --> G となる。 (つづく)
438 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:30:36.75 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:33:45.51 ID:TEKHUXbi.net] (全角スペースの連続って無視されるのか。失敗した)
440 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:52:43.81 ID:6HPpoO/k.net] μとηを普通に(自然に)定義すればモナド則は自ずと満たすようになるのではないの? むしろモナド則を満たさないように定義する方が難しいのでは?
441 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 18:10:46.82 ID:OGWHpt3Y.net] Haskell入門の中間テストって リストはモナドであることを証明せよとか このデータ型はモナドか? 理由と共に答えよ とか 必要な関数を足して、このデータ型をモナドにせよ とか出るんでしょ!ひえぇ
442 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 21:25:30.08 ID:yrg33OPn.net] >Fの「ゼロ乗」に相当するものとしてηが与えられる。 ηと恒等関手の違いがさっぱりわからない こんなの絶対おかしいよ
443 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 22:57:11.06 ID:yrg33OPn.net] ηは単位元 恒等関手も単位元 F^n ⇔ F ってことは F も単位元かな 1^n = 1 と同じように
444 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 23:01:33.99 ID: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 名前:デフォルトの名無しさん [2015/06/05(金) 16:27:16.31 ID:oA4lY9uS.net] Amazonの岡部健氏のレビュー、ようやくまともな力学がはたらくようになったな。 おまえら【自称】関数型コミュニティーのしょーもない組織票も、所詮はごくごく一部の小さな力に過ぎない 「正しさ」ってどんなにおまえらがわめいてもねじ曲げられないのさ
446 名前:デフォルトの名無しさん [2015/06/05(金) 16:27:52.01 ID:oA4lY9uS.net] 田中もボレロもしょーもないことやってるようだが、騒ぐなら「コード書け」。
447 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 16:56:46.59 ID:NH+N2vxp.net] >>439 正しい力学w ☆☆☆☆☆ 4 人中、0人の方が、「このレビューが参考になった」と投票しています。 ☆☆☆☆☆ 55 人中、7人の方が、「このレビューが参考になった」と投票しています。 ☆☆☆ 30 人中、2人の方が、「このレビューが参考になった」と投票しています。 ☆☆☆☆☆ 85 人中、9人の方が、「このレビューが参考になった」と投票しています。 ☆ 106 人中、97人の方が、「このレビューが参考になった」と投票しています。
448 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 19:45:34.72 ID:wKAWiqlA.net] www.kenokabe.com/blog/ 問い合わせ:05/03/15 04:44:35 1) レビューに対する投票について御社社内で不正な操作があったのか? 2) 不正なユーザによる複数投票があったのか? 3) 外部からの不正アクセスによる投票操作があったのか? 4) なぜ★5のレビューが2件も削除されているのか? という4点について御社の公式な見解を教えていただけませんでしょうか。 回答:2015年5月3日 8:19 お客様からお問い合わせいただいた「1)」、「2)」、「3)」の件につき まして、当サイトでは、カスタマーレビューについて、より正確な投票数をカ ウントするため、投票の傾向をシステムによって監視しています。特定のお客 様が投稿したレビュー、または特定の商品に関するレビューに対して集中的に 投票が行われているなど、不適切な投票とみなされた場合は、自動的に投票が 削除されます。また同一カスタマーや同一カスタマーの複数アカウントからの 投票など不正と認められた場合、自動的に投票数が削除されます。 なお「4)」の件につきまして、当サイトのレビューが非掲載となる場合、投 稿者ご自身でレビューを削除された場合と当サイトのレビューガイドラインに 抵触していると判断したため削除された場合がございます。上記のどちらかで 非掲載となりますが、詳細については、投稿者の個人情報およびプライバシー を保護の観点から、ご案内できませんことをご了承ください。 参考:https://twitter.com/xr0038/status/592286801282240512 kenokabe 本に好意的なレビューをしている coolio 氏のレビューページ www.amazon.co.jp/gp/cdp/member-reviews/A2KNM1BDUB22Q の google キャッシュを見たらユーザ名が kenokabe で吹き出しそうになった f.hatena.ne.jp/xr0038/20150426201833
449 名前:岡部健 [2015/06/06(土) 07:00:48.03 ID:/qvfFI9e.net] そんなレビューなんて知らないね えー加減にせーよ
450 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 07:04:20.42 ID:EMdVS6mw.net] はいはいなかったことなかったこと アホか
451 名前:デフォルトの名無しさん [2015/06/06(土) 14:03:45.58 ID:/qvfFI9e.net] 岡部氏の本を精神病のコーナーに並べて置いたのはおまえだろ?
452 名前:デフォルトの名無しさん [2015/06/06(土) 14:04:41.32 ID:/qvfFI9e.net] 田中、おまえも共謀とみなす
453 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 15:09:56.77 ID:EMdVS6mw.net] はいはい、勝手に田中認定すれよ どアホが
454 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 16:17:49.33 ID:G0vvOPfV.net] 岡部さん、田中と村上に牙を剥くならご一緒に江添もいかがですか?
455 名前:デフォルトの名無しさん [2015/06/06(土) 17:04:05.29 ID:QYGhKlvX.net] kenokabe-techwriting.blogspot.jp/2015/04/blog-post.html?m=1 おまえらが国際的にみて異端だとするこの記事について論理的に反論してみて?ほれ? 村上、いつも遠くから吠えるだけだな?たまには立論してみろやクソアマ
456 名前:デフォルトの名無しさん [2015/06/06(土) 17:04:35.64 ID:QYGhKlvX.net] マイクロソフトを否定できるか? これは権威主義のおまえらの試金石だ
457 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 17:27:34.64 ID:ZV6D40F6.net] 否定ならいくらでもできるが、依存を断ち切る行動には結びつかない 前提である【自称】関数型コミュニティが横暴に振る舞っているのかどうかさえ判断はできないのだから反論する必要すらない マイクロソフトの定義は正しいだろう しかしそのことが【自称】関数型コミュニティが横暴に振る舞っていることの証拠にはならないのだから つまり そもそもこの記事に論点が存在するのかどうかすら怪しい 誰かソースを出してはくれないだろうか
458 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 17:34:13.60 ID:EMdVS6mw.net] 毛は根っからの嘘つき 終わり
459 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:20:24.88 ID:sdR7Jr6e.net] 岡部氏の国際的評価 kanae.2ch.net/test/read.cgi/prog/1431818519/635-636 「全く意味不明」 「完全に不可解」
460 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:59:18.59 ID:GcGbQkec.net] 単なる毛の嘘。Microsoftの記事は「命令型」と「関数型」を対比してるだけ。 タイトルからして「関数型プログラミングと命令型プログラミング」。 https://msdn.microsoft.com/ja-jp/library/bb669144.aspx 「一方、C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む ほとんどの主流言語は、主に命令型 (手続き型) プログラミングをサポートするために作成されています。」 「C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む」 「ほとんどの主流言語は、主に」「命令型 (手続き型) プログラミングをサポートするために作成」 誰もオブジェクト指向と関数型を対比してない(毛を除く)。毛の読解力が小学
461 名前:生レベルで欠如してるだけ。 そもそもSchemeやHaskellでオブジェクト指向プログラミングしたり、 C++やJavaScriptで関数型プログラミングできるんだから、対立してるわけがない。 [] [ここ壊れてます]
462 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:36:56.78 ID:IblTw25F.net] むかしむかしOOPを普及させようとした人達は 「C言語でもOOPできる」みたいな話に全力で反論してたんだぜ 古本屋で買った「オブジェクト指向入門」に 「混血によるアプローチは混血なりの品質しかもたらさない」って書いてある いま確認したから間違いない
463 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:51:13.31 ID:GcGbQkec.net] 確かに「C++やJavaScriptで関数型プログラミング」とかも、 Haskellみたいな専用の関数型言語に比べて不自然な面があるのは 否定はしない。逆に然り。両方ともサポートした言語もあるにはあるが。
464 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:53:20.38 ID:GcGbQkec.net] >>456 × 逆に然り ○ 逆も然り
465 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:03:34.07 ID:0M3+/TFN.net] Ocamlがあるじゃねえか
466 名前:デフォルトの名無しさん [2015/06/06(土) 20:19:35.99 ID:uv2S2fjH.net] 田中の返答は反論になってない。マイクロソフトの主張は明らかだ。 特権意識・差別意識まみれの根腐れたおまえらが「見たくないものはみえないふり」して小さな島国のごく一部の界隈で、 国際的潮流に乗ってる有識者を【村八分】にしたい、してるだけ。 チョン同然、あるいはチョンそのもので構成されていても別段驚かないし、その傾向がある
467 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:25:57.60 ID:KMNvqcU5.net] >>456 不自然というか、C++とかでも頑張れば関数型プログラミングも可能。 ただしそれは「関数型プログラミング言語をC++で実装」するようなもん。 実際、初期の関数型言語はCで実装されていたりしたしね。 だから今時は最初からHaskellなり使えばいいというレベルの話。
468 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:43:39.24 ID:sdR7Jr6e.net] 毛が批判してる「国内」コミュニティの奴らは フランス情報学研究所で博士号取得して欧米外資銀で関数型プログラマやってたり 米計算機科学会や国連情報処理学会の関数型プログラミング委員とか委員長だからなw
469 名前:デフォルトの名無しさん [2015/06/06(土) 20:46:43.22 ID:24cQnkdA.net] 岡部関連は他でやってくれ 【茶道モテ】毛の壁ファンクラブ57【孤立無援】 [転載禁止]&#169;2ch.net yomogi.2ch.net/test/read.cgi/net/1432605927/ 土曜・日曜は岡部健のブログを読み解こう!★2 [転載禁止]&#169;2ch.net kanae.2ch.net/test/read.cgi/prog/1432729445/
470 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:48:26.12 ID:0M3+/TFN.net] いつまで阿呆の相手してるんだ? もっと有意義な話をしてくれ
471 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:57:41.59 ID:GcGbQkec.net] 正直スマンカッタ どこぞで話題になってたones=1:onesのonesが(1:)の最小不動点(実際には唯一の不動点)という件、 Haskellでも再帰的定義は常に最小不動点という解釈で合ってる? もちろん:とか関数はlazyだとして。
472 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:10:30.32 ID:h/G/zDwf.net] >>460 もっとふざけたことしてるやつもいるからな。VBAで関数型プログラミングとか。
473 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 05:28:41.31 ID:MhTDgKGm.net] 竹塩壁なの?本名
474 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 12:56:36.19 ID:jVcLNsk7.net] そういや、昔O'Haskellなんてものがあったな 結局あれ流行らなかったね
475 名前:デフォルトの名無しさん [2015/06/07(日) 13:37:10.71 ID:lpscvJOy.net] >>467 割と早期にTimberに移行したから。 timber-lang.org/index.html そもそもサブタイピング便利か? というのもあり。 OlegのHListとか見るとねえ……
476 名前:デフォルトの名無しさん [2015/06/08(月) 08:10:38.52 ID:rqAfod0u.net] おまえらは岡部健のポテンシャルに嫉妬してるだけ
477 名前:デフォルトの名無しさん [2015/06/08(月) 13:32:32.63 ID:ZD5oJ+MT.net] 559 仕様書無しさん 2015/06/08(月) 12:23:22.32 岡部健、チマチマとメールでこっそり罵倒ww b.hatena.ne.jp/entry.touch/253482981/comment/shokai
478 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 14:13:06.97 ID:pkFJsD/2.net] t.co/ts9QDRIiUp kenokabe こと 岡部健 #毛の壁 のブログにてコメントを出すと、もれなくメールにて毛の壁による罵倒、ならびにヘア告訴されるかもしれない権利が付与されるそうに御座いまする。 桑原桑原。
479 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 19:10:07.57 ID:dWqRejTW.net] 毛の壁先生、お願いですから掲示板荒らすのやめて下さい 2chだけじゃないですよ?
480 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 20:21:54.95 ID:cjhIgMXy.net] OCamlerはいい加減、荒らすのをやめて欲しい。 MLスレは閑古鳥が鳴いているのに、マ板の岡部スレでは月曜の朝からOCamlerで大賑わい。 少しは自分たちの異常さを認識したほうがいい。
481 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 21:03:59.90 ID: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 名前:デフォルトの名無しさん [2015/06/08(月) 21:31:31.35 ID:zzT0ePpx.net] なるほどこれ頭いいな。scanlを scanl z f xs = ys where ys = z:(zipWith f xs ys) と書いてから、zipWith xs ys をmapで書き直せば 確かにこうなるな。最後の要素を取ればfoldlになるわけだ。
483 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 05:59:45.81 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 14:28:52.87 ID: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 名前:デフォルトの名無しさん [2015/06/09(火) 15:29:01.79 ID:Wpjwmkjs.net] 毛の壁ネタは専用スレで。 そこからの転載も不要。
486 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 16:22:18.33 ID:AVtZDhrR.net] OCaml病人の隔離スレが必要かもしれんな。
487 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 16:28:45.86 ID:GtnmaKAw.net] 関数型隔離病棟はよ
488 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 17:31:06.57 ID:keQMp1Zr.net] マ板の岡部スレでOCamlerにコテンパンに論破された松沢がこっちに来たな。 Haskellプログラミング以外の話はよそでやれ
489 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 18:12:13.77 ID:s+m3IBNO.net] reduce f r xs = last ys where ys = r : map (\(x,y) -> f y x) (zip xs ys) は面白いと思う
490 名前:デフォルトの名無しさん [2015/06/09(火) 18:36:24.03 ID:Wpjwmkjs.net] しばしば目にするパターンではあるんだよな。 余再帰を巧く使いこなせるようになりたいとは思う。
491 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 19:37:05.34 ID:YMX6lY//.net] 初心者スレが見当たらないのでここに書き込ませてください。 「$演算子による関数適用の区切り」と「.演算子による関数合成」 この違いというか使い分けって $演算子は括弧対応を沢山省略できて便利 例: sin $ cos $ tan $ x + 1 .演算子は関数合成で変数に束縛可能になるから便利 例: fun = sin . cos . tan . (+ 1) くらいかなと思ったのですが、後者は fun x = sin $ cos $ tan $ x + 1 別にこれでも構わないわけですよね。 .演算子の利点って他に何があるんでしょうか?
492 名前:デフォルトの名無しさん [2015/06/09(火) 19:46:28.21 ID:Wpjwmkjs.net] >>484 ポイントフリー教信者が使うため。 ってのはともかく、mapみたいな高階関数に関数を 渡さなきゃいけないところで、 map (¥x -> f $ g x) xs map (f . g) xs を見比べれば意味がわかるのでは。 なにかに関数を連鎖して適用した結果ではなくあくまで 連鎖した関数そのものが欲しい時には ( . ) が便利。
493 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 20:00:13.95 ID:YMX6lY//.net] 「関数そのものが欲しい時」って fun x = sin $ cos $ tan $ x + 1 一応これでも目当ての関数 fun が得られてると思うのですが、要は「引数って邪魔だよね」的な感覚? 美的感覚だけでなく実行効率も違ってくるのでしょうか。
494 名前:デフォルトの名無しさん [2015/06/09(火) 20:10:23.23 ID:Wpjwmkjs.net] 実行効率は一緒。 (f . g) を普通に「gしてfする」とか読むのになれると引数の方がじゃまになる。 「¥x -> f $ g $ x +1 」 より 「 f . g . (+1)」の方が、 「1足してgしてfする」と読みやすいし明瞭でしょ。 そのうちmapの引数にいちいちラムダ式書いてられるかって気になるよ。 よく使うものの構文は軽くなくてはいけない、というだけ(美的感覚とは少し違う)。
495 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 20:13:23.65 ID:YMX6lY//.net] ポイントフリーでググってみましたが... 例えば fact :: Integer -> Integer fact n = product [1..n] よりも fact = foldl (*) 1 . enumFromTo 1 のほうがスマートで好まれるのでしょうか。 実行効率同じなのになんだか可読性を犠牲にしすぎのように思えるのですが。
496 名前:デフォルトの名無しさん [2015/06/09(火) 20:21:06.13 ID:Wpjwmkjs.net] >>488 ポイントフリー教に入信する理由は全然ない(本当にやめてほしい)。 簡単に「〜して…して〜する」みたいに読める時だけ使えば十分。 いちいち名前をつける必要のない(むしろ使い捨てなので名前をつけるべきでない)ような 関数のチェインをラムダ式よりも軽い構文で書ける、というのがまずは利点。 もう少し慣れてくると今度は Control.Lensパッケージが 関数合成演算子( . )を あたかもオブジェクト指向言語のメソッド呼び出しであるかのように見せる 芸当を見せてくれるけど、それはまだ先の話。
497 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 20:39:29.39 ID:YMX6lY//.net] ありがとうございます。ちょっとだけ感覚が分かってきました。
498 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 22:00:18.96 ID:On8D0YSk.net] ポイントフリーの理由は、読む能力を上げることだろうね 人間が書いたものは読めないならクレームをつけて書き直させることができるが 自然現象のようなものを読む場合は読む人の能力に全てがかかっている
499 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 22:31:32.15 ID:lp6qdJfP.net] あまりに自然現象のようなレスなのでびっくりしている
500 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 23:05:53.18 ID:On8D0YSk.net] 驚き最小の法則ってあったけど なんで驚いた側ではなく驚かせた側を改善しようとするのかね 両方改善した方がいいのに
501 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 23:31:39.42 ID:nX857Zqc.net] とても自然現象です。すごく。
502 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 23:31:47.34 ID:s+m3IBNO.net] >>493 驚かせる側=言語設計者より 驚く側=プログラマのほうが圧倒的に人数が多いから、 前者が改善したほうが合理的。 …とかくだらないこと聞くなよ。 mapでreduce実装のほうがまだためになる >>492 はワロタ
503 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 23:49:25.76 ID:On8D0YSk.net] 圧倒的多数が改善するより、少数が改善する方が合理的? それは自明ではないよね
504 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 00:12:15.37 ID:4dIY3WJF.net] よそでやれ
505 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 02:25:01.58 ID:7goP4N8P.net] こうどなあおりあい
506 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 07:04:49.86 ID:xkthzaZS.net] >>496 合理的かどうかは知らんが、 出来る奴程仕事が舞い込む理屈だよ。
507 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 10:52:14.97 ID:t1zCKUmg.net] HaskellやOCamlの設計は大部分が重複していて真の設計者が誰なのかわからんから 設計者を探し出して可読性とかを要求するという古典的なやり方が効く保証がない
508 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 11:04:20.00 ID:McYDyKet.net] ワードサラダ汚染マジうざい>On8D0YSk,t1zCKUmg
509 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 11:56:36.76 ID:t1zCKUmg.net] どのワードをうざいと思ったか教えてくれ 可読性かな?
510 名前:デフォルトの名無しさん [2015/06/10(水) 12:46:16.17 ID:vkTp1NO/.net] 端的に意味不明だろ。
511 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 13:15:55.24 ID:t1zCKUmg.net] 意味がわかる人もわからない人もいると思う 後者がすごい自信を持っている理由を教えてほしい 常識的には「わからない」より「わかる」方が有能だと思う 今それが逆転しているのはなぜなのか
512 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 14:01:51.47 ID:vxCnSfpA.net] 荒らしなので無視してね
513 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 14:08:38.12 ID:YrTGTRFm.net] △ 「意味不明」 ◯ 文章の論理が根本的に間違っていてコミュニケーションが成立しない 完全に対話不可能だから二度と出てくんな。
514 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 14:09:43.52 ID:YrTGTRFm.net] >>505 スマンカッタ
515 名前:デフォルトの名無しさん [2015/06/10(水) 17:54:46.33 ID:9PwGA43Z.net] 時代はK言語だろ
516 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 19:36:45.21 ID:Gkss7rSH.net] >>508 つまりハングルか。
517 名前:デフォルトの名無しさん [2015/06/10(水) 21:12:55.26 ID:7i1MtT87.net] 今までモナドという概念がなかったということは 理論計算機科学ってへぼいということでしょうか?
518 名前:デフォルトの名無しさん [2015/06/10(水) 21:22:17.53 ID:vkTp1NO/.net] 表示意味論が提示されてから10年ほどで計算効果一般の モデルをモナドで与えようという発想が提出されてるのだが、 「今までモナドという概念がなかった」とはこれいかに。
519 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:21:14.93 ID:hzM+9d/O.net] >>510 基地外は失せろ >>511 ScottからMoggiまで十数年ぐらい? 確かに意外と短かったんだな…
520 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:38:40.42 ID:pB1BlG5Q.net] Dana S. Scott. Outline of a mathematical theory of computation. Technical Monograph PRG-2, Oxford University Computing Laboratory, Oxford, England, November 1970. E. Moggi. Computational lambda-calculus and monads. In 4th LICS Conf. IEEE, 1989. この間ほぼ20年かな? いずれにせよ「今までなかった」はないw
521 名前:デフォルトの名無しさん [2015/06/11(木) 00:53:54.36 ID:QUqBUSLw.net] >>512 ,513 1980年代初めには応用可能性が知られてて、 1985年にMoggi含む複数人の「圏論とプログラミング」という ワークショップが開かれてるんで、10年ほど、と計算した。
522 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 01:06:20.81 ID:pB1BlG5Q.net] しらんかった。後者はこれか。 dx.doi.org/10.1007/3-540-17162-2_126 ぱっと見、まだmonadとは書かれていないが。 www.disi.unige.it/person/MoggiE/ftp/lc88.pdf には My thanks to M. Hyland, A. Kock (and other participants to the 1988 Category Theory Meeting in Sussex) for directing me towards the literature on monads relevant to the subject. とあるな。
523 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 03:59:27.71 ID:bOOr6QDN.net] モナドを使うという発想は、C++でテンプレート機構使えばコンパイル時処理できるぞっていう発見と似たようなものではないか そのために生み出されたのでなく元々そこに(見過ごされたまま)あった
524 名前:デフォルトの名無しさん [2015/06/11(木) 09:14:47.16 ID:XjBiZb+W.net] おいおいみんなどうしたんだよw モナドもしょぼい概念だったとそろそろ分かれよw
525 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 09:31:44.59 ID:IhjRP6Ev.net] では次のを頼む
526 名前:デフォルトの名無しさん [2015/06/11(木) 09:44:54.00 ID:XjBiZb+W.net] >>518 しょぼいっていうのは分かってんだな? ScottやMoggiにあこがれてるんじゃまだかなと思うんだが
527 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 10:16:52.40 ID:kAIL8Wh0.net] なんか地獄のミサワっぽい
528 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 10:57:09.42 ID:npoi0wO0.net] 基地外うざいししつこい>bOOr6QDN,XjBiZb+W
529 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 11:01:20.03 ID:PuDMuD0l.net] こういうマウンティングのためだけに知識を得る底辺層が消えない限り プログラマの地位は向上しないだろうな
530 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 12:10:32.39 ID:bAVDGSXl.net] 知識を得なければマウンティングできない現状をどう変える? 少なくとも言えることは、知識ゼロでマウンティングできる最悪の状況は回避してほしい
531 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 12:55:54.03 ID:5wVrf0wy.net] マウンティングした者はLetter to a Young Haskell Enthusiastを1000回音読する刑に処す
532 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 13:47:53.72 ID:MCnGDuRk.net] なぜマウンティングするのか? なぜならそこに山があるからだ
533 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:26:29.66 ID:bAVDGSXl.net] 言っておくがLisperが関数型の知識をいくら詰め込んでもドヤ顔できない なぜなら動的型だから ドヤ顔したいやつは静的型に群がっているのであって、関数型はあまり重要ではない
534 名前:デフォルトの名無しさん [2015/06/11(木) 17:04:10.51 ID:QUqBUSLw.net] なんで毛スレのキチガイがOCamlじゃあんくてHaskellのスレに紛れ込んでるんだか。
535 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 18:26:19.74 ID:npoi0wO0.net] >>527 >>481
536 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 19:26:15.71 ID:bOOr6QDN.net] つまりOCamlerは強いけどHaskellerは嘗められてる?
537 名前:デフォルトの名無しさん [2015/06/11(木) 19:45:13.61 ID:yf7swl7Y.net] >>527 キチガイはお前だよ
538 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 20:02:46.43 ID:npoi0wO0.net] >>527 は>>514 でちゃんと有用な情報を提供している >>523 >>519 >>517 >>516 >>511 は情報価値0以下の荒らし。
539 名前:531 mailto:sage [2015/06/11(木) 20:04:50.35 ID:npoi0wO0.net] >>511 じゃない、>>510 な
540 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:32:50.42 ID:pgVrj2dA.net] 悪行は善行で相殺できるという前提があるから 犯人とか功労者とかが誰か調べることに拘ってるのか すごい納得してしまった
541 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 22:17:16.64 ID:3DdkuOqE.net] 相殺云々以前に、プログラム板なんだから プログラムの話をまともに出来ない奴は お呼びじゃない、ってだけだろ。
542 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 22:48:19.91 ID:QpuB/nCQ.net] コード書けない連中がこういうときだけでかい面して鬱陶しい
543 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 22:57:20.66 ID:npoi0wO0.net] 相殺も何も基地外は善行0、それ以外の人は悪行0。
544 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:43:07.37 ID:pgVrj2dA.net] 「プログラムは書く時間より読む時間が長い」なんて言われたら プログラムを書く話なんてしなくなるでしょ 読んだ人の感想とかそれに対しどう返答するかみたいな事ばかり考えるようになる
545 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 00:12:07.74 ID:lWqlv+DR.net] 全くならない。
546 名前:デフォルトの名無しさん [2015/06/12(金) 00:48:31.06 ID:de1HjIPa.net] このスレ、プログラム板でもかなり書き込みが多い方なんだけど、 その割にHaskellで作ったアプリが世の中にないのは、 このスレに書き込んでいる人間の大半は結局喋っているだけで、ちっとも作っていないから? それとも、ごく少数の口数の多い人間がこのスレに常駐しているということか?
547 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 01:09:28.05 ID:kpQWF1y9.net] みんな不安なんだよ
548 名前:デフォルトの名無しさん [2015/06/12(金) 01:11:49.35 ID:ewifs/WC.net] 「アプリ」でどういうものを指しているのかによるだろ。
549 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 01:14:23.65 ID:3H6DdNeR.net] スレが伸びてるのは単に基地外が粘着してるから。 アプリは https://wiki.haskell.org/Haskell_in_practice とかあるし、 外資もNTTデータも金融とかclosedなので外に出ないの
550 名前:熨スいと思うが、 それでもC++とかJavaとかに比べれば実験的な言語だから少ないな…… [] [ここ壊れてます]
551 名前:デフォルトの名無しさん [2015/06/12(金) 01:29:41.08 ID:ewifs/WC.net] スクリプト言語の代わりに普段使いしてる感じだし、 なによりParsecのお蔭で色々とはかどるのでなあ。 わりと最近3000行程度のGUIのツールを書いたが、 他所で役に立つようなものでもないので、公開するとか そういうことも特にない。
552 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 07:19:43.33 ID:1CtSfxjI.net] 書くだけならスクリプト言語で十分だが読めない保守できない等の苦情が予想されるので じゃあ静的型付けなら読めるのか実験したい
553 名前:デフォルトの名無しさん [2015/06/12(金) 10:25:49.56 ID:ppIf3q9e.net] NTTデータを入れると、一気にカスっぽく見える。 外資と金融の間に、さりげなくNTTデータを入れるセンスが絶妙。
554 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 11:52:15.09 ID:lWqlv+DR.net] >>545 https://www.google.co.jp/search?q=ntt%E3%83%87%E3%83%BC%E3%82%BF+haskell こういう世界でどうなるか、少なくとも実験としてはすごいと思う。 数理システムも買収したし。
555 名前:546 mailto:sage [2015/06/12(金) 11:54:37.53 ID:lWqlv+DR.net] iOSのSafari、リンクがまともにコピペできねーorz >>546 は「NTTデータ Haskell」の検索結果な
556 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 12:00:11.55 ID:nIxAy/au.net] NTTデータって人身売買の会社じゃなかったの?
557 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 12:08:38.69 ID:lWqlv+DR.net] 前はHaskellでインドに外注とか言ってて いろんな意味ですげーとか思ったが 最近はどうなん?
558 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 12:26:32.05 ID:bMq/lwLt.net] ( ゜Д゜)マジカヨ
559 名前:デフォルトの名無しさん [2015/06/12(金) 12:46:55.72 ID:ppIf3q9e.net] 年金のシステム作ってたのもNTTデータだろ? NTTデータって、空き巣に絶対に破られない鍵を設置して、 鍵を閉め忘れて出かけるような感じだよね。
560 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 04:35:41.57 ID:VBb4KC+k.net] あれもうシステムの問題じゃないよなあ フリーメールで届いた添付.exeダブルクリックする連中とかソーシャルエンジニアリング以前の問題
561 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 10:21:50.46 ID:+dSTwJzi.net] そんなに蒸し返したいなら言わせてもらう ユーザが多数で開発者が少数なら、ユーザのせいにするのは非合理的という思想があった その合理主義の結果がこれ それとも蒸し返す意図がなくても自然に繰り返されるパターンなのか
562 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 11:17:16.80 ID:kXcfUXOo.net] 結果がこれ ってどれ?
563 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 11:22:32.93 ID:fmObtMJM.net] はすけるスレだからハスケルの話してね
564 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:05:27.26 ID:+dSTwJzi.net] 関数型言語の仕様は意図的かそれとも自然にできたか 衒学的な意図がないならないと正確に説明できれば普及しやすいのでは
565 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:20:08.70 ID:RjEVnwaL.net] >>556 普及するのにそんな御大層なものは要らんよ。 必要なのは次の3つのみ。 ・馬鹿でも簡単に始められて、扱いやすいGUIアプリ用フレームワーク ・そのフレームワークと連動するRAD統合開発環境 ・数多くのGUIアプリのサンプル これに加えてスマホアプリも簡単に作れれば尚良い。 逆に、Haskell というアプリ開発環境はこれらが無いから流行らない。
566 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 13:26:03.85 ID:+dSTwJzi.net] >>557 VBやObj-Cが普及した理由はそれだが長続きしない それらを終わコンにする圧力があった MSやAppleでも逆らえない
567 名前:デフォルトの名無しさん [2015/06/13(土) 14:42:11.49 ID:gPoekrm5.net] バカに流行る必要なんざ微塵もないだろ。 環境が悪化するだけだわ。
568 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 14:43:22.99 ID:CpRxCXBF.net] >>559 みたいなバカが寄り付いている時点で確かに終わってるな
569 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 14:55:15.57 ID:fmObtMJM.net] 表面じゃなくて内容の話を希望な
570 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 16:08:55.81 ID:U7fz6F5N.net] 「その数式、プログラムできますか?」という本を立ち読みしたら 圏論とSTLがどーたらみたいな謎文章が目に入って困惑している "圏論 STL"でググれば当該箇所Google Booksで読めるんですけどこれってまともなんですかね? Haskell関係ないけど圏論がらみということで一つ
571 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 16:55:46.04 ID:KIURMs4/.net] >>556 何故、普及に拘るの?
572 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 17:04:10.62 ID:oBvXXQ5V.net] >>562 見たけど、確かに意味不明だ。訳の問題かと思ったが、原文も似たようなもんだな……。 強いて言えば原文の"categorical theories"が和訳では勝手に「圏論(categorical theory)」になってたり、 "not computationally isomorphic"のnotが訳し漏れで「計算上は同型」になってたりと訳の問題も大きくて、 原文のほうは好意的に解釈すればまだ理解可能だけど。
573 名前:564 mailto:sage [2015/06/13(土) 17:09:54.96 ID:oBvXXQ5V.net] (原文も「好意的に解釈すれば理解可能」なだけで、 For a long time, people believed that only categorical theories were useful for programming 云々は聞いたこともないので違う並行宇宙の話としか思えないw)
574 名前:デフォルトの名無しさん [2015/06/13(土) 18:44:09.66 ID:P5CgqW+9.net] 普及しないと、ゴミみたいな知識に終わるからだ。 普及させたくない層もいるけど、ごく一部だろう。 普及すると、割を食うのはトップ層だからな。
575 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 20:11:39.38 ID:sBN7IsLr.net] category theory(圏論)とcategorical theoryは別物なのかw 誤訳するのもわからなくもない (notの訳し漏れは論外) https://en.wikipedia.org/wiki/Categorical_theory > "Categorical theory" redirects here. Not to be confused with Category Theory.
576 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 20:13:41.36 ID:xQVzvj+B.net] >>566 俺は総合的には普及してほしくないとは思わんが、 普及するとゴミが増えるのも事実
577 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 20:21:22.10 ID:ZkFtP6do.net] >>558 そうは言っても、そうとう長続きしてきたような気がするが。 >>557 は普及する要因ではあってもオワコン化する原因ではないんじゃないか? それとも、>>557 のせいでオワコン化が早まったということ? 何れにしても、Haskell はその歴史は長いくせに、 アプリ開発という点では未だに始まってすらいないよな。 方法論の研究は行われてるのかな?
578 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 20:43:48.20 ID:jKGoCo7L.net] なにか適当な GUI のからくりはないものか
579 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 21:00:56.80 ID:EFCkVZsH.net] GUI開発環境はともかく、「方法論」は手続き型やオブジェクト志向でも それこそゴミしかないと思うんだが。
580 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 21:18:01.62 ID:ZkFtP6do.net] >>571 まだまだゴミだと評価しようが、 その方法論で実際に数多くの多種多様なアプリが作られてる。 これからも現場で起きた問題に対して改善案が提案されていくと思う。 ... --> 問題 --> 提案 --> 問題 --> ... というサイクルができてる。 で、Haskell(関数型)はどうなのよ、という話。 一歩引いた立ち位置の研究者から提案された方法論が現場で使われ始めた段階なのか、 それとも、そういう方法論すらまだ無い状態なのか。
581 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 21:19:33.57 ID:jKGoCo7L.net] モナディウスはどうしているのだろう?
582 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 21:22:43.08 ID:SsnyuIbc.net] 単体テストは関数的なほうが副作用ないから簡単だよな。 ミクロなデザインパターンとかも、そもそも不要か自明になるってよく言われてるとは思う。 マクロな開発プロセスは普通と変わらないんじゃない?
583 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 21:32:42.37 ID:ZkFtP6do.net] >>573 あれは、取りあえず作ってみただけで、その後が続かなかったよね。 あれを叩き台にして色々議論されることもなく、 Haskell でこんなこともできるんだと言われて、それで終わり。
584 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 00:34:08.79 ID:RWIDraJH.net] モナディウスって名前だけで方法論がわかる 他のアプリを真似すればいいんだろ
585 名前:デフォルトの名無しさん [2015/06/14(日) 08:27:51.02 ID:OtrhG80a.net] スーパートップ層 普及を望んでいる トップ層 普及を望んでいない 中堅層 普及を望んでいる 下位層 普及を望んでいないか、どっちでも良い
586 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 09:07:11.87 ID:kkYM1O8c.net] >>577 proof it!
587 名前:デフォルトの名無しさん [2015/06/14(日) 10:09:03.75 ID:Pjcz0hD2.net] >>573 コード読めないの?馬鹿なの?
588 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 10:32:05.79 ID:SL/F9php.net] プログラムなんてのはツールなんで 用途に応じた使い方ができればそれでいい。 一番売れるのは安くてシンプルな電卓だろうが 使う用途や人間を選ぶ高機能な関数電卓や、 ソロバンや計算尺にもそれぞれ需要がある。 計算尺振り回して「使い方が分からん。 こんなモンはゴミだ」と喚いても メーカーもユーザも苦笑か失笑しか出来ん。
589 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 15:29:34.67 ID:L5Y5b9kK.net] sm26445256
590 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 02:53:59.25 ID:LOIdsEui.net] 基地外に愛されてしまうのもHaskellの業の深いところだ
591 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 07:50:18.85 ID:Hdxb2Sdn.net] 基地外を呼び寄せる言語‥どういうところがそうなんだろう? prolog とかにはなぜ寄らないのか?
592 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 08:34:53.82 ID:9GGhHIhr.net] 一言で言えば、Haskell使える俺カッコイイみたいな言語だから
593 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 09:14:23.05 ID:IHPL8idc.net] 俺カッコイイとかいう常套句に、異常さを伝える力はない まあオオカミ少年みたいに常に言い続ければそのうち当たるわな
594 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 22:02:16.43 ID:vBLMZKIz.net] Haskell使える俺TUEEEEEEE
595 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 22:04:05.10 ID:Hdxb2Sdn.net] lisp/scheme じゃないのはどうして?
596 名前:デフォルトの名無しさん [2015/06/15(月) 23:00:49.05 ID:q35vzvCm.net] 田中死ね ボレロレイプされろ
597 名前:デフォルトの名無しさん [2015/06/16(火) 00:19:10.77 ID:WwZ8EXS4.net] >>580 いまどき計算尺はごみでしょ。
598 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 01:06:35.60 ID:nO6QHrwV.net] >>589 需要があるから生産も販売もされてる訳で。
599 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 08:02:12.01 ID:4c+taF0x.net] 言いたいことはあってると思うしわかりやすいが さすがにHaskellは計算尺じゃないだろw
600 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 21:51:02.26 ID:CcjDjnqw.net] まあ計算尺もわからないような奴がHaskell学んでもたいした事できないだろう ところで計算尺ってなんだ
601 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:34:00.92 ID:0ci32UBo.net] 計算尺、今ではほとんど使わないんだろうけど、あの仕組みを考えた人は天才だと思う
602 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 23:17:45.09 ID:MDYhP0lu.net] ghciのコマンドのヘルプみてたんだが、なんでこれコンポーザブルになってないんだ? :browse や :info で得た情報を他のコマンドに渡して処理できれば便利やん。 っていうか、:list hoge でhogeのソースを見れるのに:edit hogeは無理なのか... いちいちファイル名を探してこなきゃならんのは面倒だよ。
603 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 00:38:11.14 ID:iYY4vjEN.net] シェルが便利すぎてCを書く必要があまりない某OSで型が厳格でない言語が流行したから 型のためには便利なコマンドを規制するべきと判断したのではないだろうか
604 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 06:02:52.89 ID:UUD++cQ/.net] reduce を map で実装して何か意味あるの?
605 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 08:06:07.46 ID:iYY4vjEN.net] 敵が来てから武器を作ると間に合わないという理由で、使わない無駄な武器を作ってる
606 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 08:28:31.12 ID:6y+hRJoT.net] reduceとmapを持ってなきゃいけない型クラスのminimal complete definisionsに使えるかも
607 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 09:11:03.75 ID:0QSt0PBy.net] 普通にreduceでmapを実装すればいいやん
608 名前:デフォルトの名無しさん [2015/06/17(水) 11:54:20.02 ID:FwmlJS0O.net] >>598 Control.Functor.Zipの下に来なきゃいけなくなるから超不便だと思う。
609 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 11:51:58.85 ID:zIn+ti7/.net] 「b を a で実装可能」という関係は 反対称律「a <= b かつ b <= a ならば a = b」を満たさない
610 名前:デフォルトの名無しさん [2015/06/19(金) 15:33:03.81 ID:dN77ILvV.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, , '-, ゙'ー'ー' ヽ、`,ー、 `'ー'ー'
611 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 20:00:49.31 ID:rvqvJJVS.net] 岡部犬ってか
612 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 14:34:33.88 ID:yL+fCFF6.net] ポイントフリー信者はmapが1変数関数かもしれないと思っている g = map f 引数 :: a -> b 結果 :: [a] -> [b] しかし決め付けやレッテル貼りを嫌うのでmapが2変数関数である可能性も否定しない 彼らにとって引数を書くことはレッテルを貼ることに等しい
613 名前:デフォルトの名無しさん [2015/06/21(日) 20:14:27.96 ID:HwEzsZwl.net] 意味ワカンネ つうかポイントフリー信者がどうだろうが Haskellにはそもそも1変数関数しかないのだが
614 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 20:18:32.21 ID:RBHwsW1q.net] >>605 >Haskellにはそもそも1変数関数しかないのだが どういう意味?
615 名前:デフォルトの名無しさん [2015/06/21(日) 20:33:23.95 ID:HwEzsZwl.net] Haskellではa->b->c は常にa->(b->c)であって (nullary constructorをとりあえず脇に措けば) 普通の関数のアリティは本質的に1だけだ。
616 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 21:08:54.24 ID:pK1SDj/K.net] たしかすごHにもそんな説明あったな
617 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 21:12:32.01 ID:7XsQ/1hl.net] 607を補足すると、 f :: X -> Y -> Z は 「X型変数とY型変数を取ってZ型の値を返す関数」 というより 「X型変数を一つ取って『Y型変数を一つ取ってZ型の値を返す関数』を返す関数」 ということだな。 言葉で書くと却ってわかりづらいな。
618 名前:デフォルトの名無しさん [2015/06/21(日) 21:12:49.77 ID:HwEzsZwl.net] 正確ではなかったので訂正しておく。 関数型の値としての関数は常に1引数だ。 データ構築子はそもそもこの意味の関数ではない。
619 名前:デフォルトの名無しさん [2015/06/21(日) 21:14:20.58 ID:HwEzsZwl.net] あと、関数は常に1引数なのでHaskellにカリー化はそもそも存在しない。
620 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 21:22:10.14 ID:7XsQ/1hl.net] >>611 そのように言われてしまった curry :: ((a, b) -> c) -> a -> b -> c さんの気持ちを答えよ(140字)
621 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 21:24:27.97 ID:Sh7VBIsF.net] (それは雰囲気一緒なのでそういう名前になってるのでいわゆるカリー化とはちょっと別では)
622 名前:デフォルトの名無しさん [2015/06/21(日) 21:40:32.89 ID:HwEzsZwl.net] >>612 それはカリー化でもなんでもない。 見ての通り (a,b) -> c のアリティは1だ。
623 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 21:42:45.93 ID:7XsQ/1hl.net] ・多引数関数が存在するかどうか、の議論の前に「多引数関数とは何か」を定義したほうがいい。 ・立場や考えた方によって「多引数関数とは何か」は異なりうる。 ・一つの答えは「タプルを引数に持つ関数」 ・「タプルという一つの引数を持ってるだけですよね?」というツッコミ。 よーく気をつけないと「多引数関数とは何か」 という話を蒸し返してしまう。
624 名前:デフォルトの名無しさん [2015/06/21(日) 21:51:01.56 ID:HwEzsZwl.net] Haskellの関数型構築子(->)の性質から関数型の値としての 関数の引数は常に(->)の左に来る型なんだからな。 タプルを引数にとるのが多引数だと言い出せば リストを引数にとるのは可変長引数だということになる。 後者がおかしいと思うなら前者もおかしい。
625 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 22:16:31.58 ID:X7jEdUgs.net] Text.Printf 「呼んだ?」
626 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 22:29:13.88 ID:yL+fCFF6.net] mapは単項演算を可変長引数にする reduceは二項演算を可変長引数にする というのは別におかしくない Haskellにこだわらない人ならそう思う可能性がある
627 名前:デフォルトの名無しさん [2015/06/22(月) 00:13:49.02 ID:egF2isgn.net] ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ < 排便ダン 、:::::.. /:::; .,-、 l:::/、 ,―:::::::: ゝヽ- ー' 、 l::/,、ヽ l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\ /⌒\〆', `  ̄ ´ ゝ/⌒\ / ノつ\ ・ ・ /⊂ ヽ! o0○ノ / 3 \ (::::⌒ヽ / とノ\ ヽ○0o ( /、_ノ\ Y `(_、_) / \´ )゚ \_) `ヽ : :;;*:; : : : | (_ノ 人__;;:;;、___ノ ヽヽ ヽヽ ;:;;:;;:;,, ──┐ | | ──┐ | | ∬ ;;:;::.;::.::;::..:;:..: ∬ / | | /. | | ・〜 ;::;.:;:;:;:;:.:;:.:::.;:;:;.:.:.: ノ ノ ┐ ノ ノ ┐ ∬;;;:::;;;:;:.:;:.::.:;;.:.;.:;.:; ∬ ┴ ヽヽ ┴ :"
628 名前:デフォルトの名無しさん [2015/06/22(月) 07:30:14.32 ID:7ItaFFjL.net] 不毛な議論はやめろ
629 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 07:38:37.78 ID:8relXNjB.net] 毛の壁だから不毛な訳ない
630 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 08:33:39.76 ID:jkkSdEVt.net] 不毛な議論はやめて早く契約をという きみたちはいつもそうだ
631 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:49:06.51 ID:HczZ6Mad.net] >>607 有り体に言えばそうなるわな
632 名前:デフォルトの名無しさん [2015/06/22(月) 16:22:57.80 ID:uDj89vD5.net] ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ 、:::::.. /:::; .,-、 l:::/、 :::::::: ゝヽ- ー' 、 l::/, ,:、:: / ,--、,-.、_ l / 、::、 `ー ̄-' / 、::ヽ /: /´⌒´ヽゝ ── 'ヽ⌒ヽ / ィ , ヽ , )` `ヽ / ノ^ ー '` ー 'ヽ ゙i .. ノ ,,,ノ Y´゙ ) ( < | ! / ヽ_ \ ノ_/ ヽ、__ ヽ.ー @ ノ ソ、 〈J .〉 ヾ、.::;;;;;;::.ノ |ヽ-´ /"" ;ミシミッ .| レ .イ、_∪ノ .リ .,ゝ ,ノ | ' ヽ ノ / ` レリ i´ リ i / `、 i' 〉 イ 〉 | / ::| (_ヽ \、 (。mnノ `ヽ、_nm
633 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 20:02:55.77 ID:yB0CTLEJ.net] 毛の壁を風化させない勢、なんなんですかね
634 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 02:22:17.45 ID:wiF7wKM1.net] rubyで言うところのcase文はhaskellでどう書くとスマートですか? case x #長さ1の文字列とする when 'a'..'z' ... when '0'..'9' ... when '#' ... else ... end
635 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 05:33:12.62 ID:EWNumgnc.net] 引数の性質で場合分けするなら素直なのはガードだけど もっとかっこいいやり方はあるかも f :: Char -> a f x | x `elem` ['a'..'z'] = | x `elem` ['0'..'9'] = | otherwise =
636 名前:デフォルトの名無しさん [2015/06/23(火) 11:17:40.69 ID:30kOauSN.net] reduce関数やrange関数やmap関数は、 命令型のループでしか書けません。なぜならば、ノイマン型コンピュータという ハードウェアは究極的には命令型でしか動作しないからです。 関数型の機械語なんて存在しません。
637 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 12:56:24.51 ID:HcqKhimH.net] オブジェクト指向言語の機械語も存在しないけどな。 究極的には人間は原子でてきてますとか言われてふーんとかはーとかしか思わんし 目の前
638 名前:フ人が美人かどうかは原子関係ないすね。 [] [ここ壊れてます]
639 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 13:34:07.31 ID:DUXK3D31.net] >>628 を見てこれを思い出した↓ >あのさー、「二次元はただの絵」なんて言葉には何の意味もないわけよ。当たり前すぎる。 >ただの絵って、そりゃ絵だよ。そんなの誰にでもわかるって。 >これは言い換えるとね、例えば友達が彼女の写真を見せてくれたとして、 >「これはただのインクの集合だ」と言ってるのと同じなわけよ。 >もっと言うと、友達の恋人を指差して、「こいつはただのタンパク質だ」と言ってるのと同じなわけよ。 >別に間違ってないよ。写真はインクだし、人間はタンパク質だ。でもそれがなんだっての? >インクだから感情を抱くのは間違いだ、タンパク質だから好きになるのは間違いだ、とでも言うの? >それはちょっとバカすぎるね。バカすぎる。「二次元はただの絵」ってのはそういうのと同じなんだよ。 >好きになるのは人格としての、存在としての彼女だろうが。物理的構造なんてどうだっていいんだよ。 >そんな当たり前のこともわからないわけ?
640 名前:デフォルトの名無しさん [2015/06/23(火) 13:47:23.60 ID:6v7jQlnd.net] ノイマン型じゃないアーキテクチュアとか普通に存在するし、 FPGAのお蔭で個人レベルでもできるんだが。
641 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 14:35:28.11 ID:GZlJHPMK.net] まあ関数型言語が機械語のようなもので定義されることが多いのは事実だよね あとは 「定義の循環なんて存在してはならない」 という思い込みを否定できるかどうか それさえ否定できれば、逆に機械語を関数型で定義する可能性も理解できると思う
642 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 14:49:11.65 ID:rMQdQ9WV.net] import Data.Char で isAlpha とかが使えるからちょっとだけ楽になるね(構造としての格好良さではない)
643 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 14:50:45.63 ID:5/w+bsnn.net] >>628 は毛の壁ブログのコピペ kenokabe-techwriting.blogspot.jp/2015/04/amazon_28.html
644 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 18:05:36.94 ID:x4Ozc/Jn.net] エロ漫画でヌいてる奴に、「それむっさいオッサンが描いた絵だよ」って言って萎えさせる奴いるけどさ、 むっさいオッサンが生み出したものでヌいておかしいっていうなら、そのむっさいオッサンに可愛い娘さんがいたらセックスしたいと思わないのかね
645 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 19:55:42.17 ID:909KpOvq.net] 定義が循環しちゃまずいだろ
646 名前:デフォルトの名無しさん [2015/06/23(火) 21:15:50.96 ID:6v7jQlnd.net] >>632 >まあ関数型言語が機械語のようなもので定義されることが多いのは事実だよね なにいってんだか意味がわからん。 関数型言語の意味論が機械語で与えられた例なんかないだろ。
647 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:17:42.47 ID:AaIPqvR+.net] 多分定義と実装取り違えてる
648 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:37:51.41 ID:rcOEv9Ao.net] ひょっとして(e?)BNFのことを言ってるのかな?
649 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:28:11.76 ID:GZlJHPMK.net] 仕様書に未定義とか書いてあるのは 完全な定義は実装で決まるという意味なんじゃないの
650 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:35:23.41 ID:FjdLJNiv.net] その実装にはどんな非決定的な穴があってもいいんだよ
651 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 00:16:40.45 ID:KkHlevhV.net] >>640 それは実装依存で未定義とは区別することが多い
652 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 00:26:39.98 ID:MR5fwWu8.net] 実装が定義、ソース読め ってことじゃないの
653 名前:デフォルトの名無しさん [2015/06/24(水) 01:16:05.07 ID:k2PpIK+f.net] >>643 そんな(少し前までの)Rubyみたいなこと言われても。 >>640 未定義っつうのは文字通り未定義。 言語仕様にないので、なにが起きようが関知しない。 未定義動作の結果オレの財布が空になっても富士山が噴火しても構わない。 というか、もっと正確に言えば、未定義部分は言語仕様がないのだから そこがどうなっていようが、それはその言語の「実装」とすら言えない。
654 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 02:27:11.04 ID:zaWMLH1h.net] >>640 (まともな言語における)未定義ってのは、その部分については、各実装によって内部表現が異なっても構わないという明言だよ 要は速度と効率のために各ベンダに独自の最適化が許される、意図的に定義されない部分 そういう未定義部分に依存しないコードを書くのはプログラマの責任
655 名前:デフォルトの名無しさん [2015/06/24(水) 02:58:03.53 ID:k2PpIK+f.net] そりゃ意味と機能の問題を取り違えてる。 未定義動作を許すことが何の役に立つかと未定義動作そのものが何かは別の問題だ。
656 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 07:27:51.62 ID:uN9f53jR.net] 現実に起こる問題といえば 未定義の部分はコンパイラ作成時点でテストして保証されてないから 出力が一意になるかわからんし最悪実行不可能なファイルが生成されるかもしれないってくらいか
657 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 07:37:20.43 ID:NJ59k6EW.net] >どんな非決定的な穴があってもいい >オレの財布が空になっても富士山が噴火しても構わない 実装がどうなるか予知できないと書いてあるだけだが 「予知能力がない」ではなく「全知全能の筆者が許可した」と解釈すると大変な事になる
658 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 11:36:01.73 ID:Dk9G0+2n.net] 数学で 0以外の実数を0で割れば解なし 0を0で割れば未定義 みたいな
659 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 13:33:31.02 ID:q/iymKMR.net] それはどっちも未定義
660 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 13:41:36.12 ID:RcaJrYdV.net] 仕様が未定義ならどんな実装してもかまわないので「0を0で割ると富士山を噴火させる」実装もOK というだけ。
661 名前:デフォルトの名無しさん [2015/06/24(水) 15:06:59.29 ID:4h3P/eVf.net] twilog.org/ohagiya/search?word=UCLA&ao=a
662 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:30:23.37 ID:jBd8hVQL.net] 非決定性プログラミングしたい場合 Lisp系だとambや継続使って解を1つみつけて終了だけど モナド使うと全ての解を列挙できるってことでいいのかな
663 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 21:39:12.60 ID:RcaJrYdV.net] >>653 わりとマジであなたが言ってることイミフ。 「非決定性」だとか「継続」だとか難しげな言葉を振りかざすのではなく 基礎からきちんと学ぶことをおすすめします。
664 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:58:58.61 ID:+CIvGoel.net] >>653 妙な思い込みをしているようだけど… グレアムのOn Lispに、簡易Prologみたいなのを実装する非決定性プログラミングの例が載ってるから、 ちょっと勉強してみたら?
665 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 01:30:55.42 ID:L5oPYlD8.net] 二重ループの内側で無限に列挙してしまったら外側は1個めでフリーズする Haskell使ってもこの問題はなくならない
666 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 01:49:40.68 ID:tWs5pbMG.net] それ、ただの単純ループですやん 非決定性ともバックトラックとも遅延評価とも関係ない…
667 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 08:02:56.67 ID:L5oPYlD8.net] というか、ただの問題だから 出題範囲とか関係ない
668 名前:デフォルトの名無しさん [2015/06/25(木) 09:34:06.79 ID:En38UG6V.net] 質問なのですが、HASKELLはJAVASCRIPTと比べてどのぐらい力強いですか?
669 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 10:42:57.71 ID:GMFUAARU.net] >>659 (haskell の戦闘力は) 53万です
670 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 12:46:25.61 ID:jSlSTYLT.net] CPUヘビーなことは向かないなんて泣き言いわない
671 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 13:31:24.59 ID:X9iBWgn+.net] >>659 JavaScriptがフリーザだとしたら、Haskellは18号くらい
672 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 16:41:37.97 ID:YBkNncXP.net] 以下の関数をCPSに書き換えよ。 とか、その後の難しい話の下準備の為に修行できるドリルみたいなサイトありませんか? なるべく解答付きで。
673 名前:デフォルトの名無しさん [2015/06/25(木) 17:09:47.33 ID:B9JLKsO8.net] >>663 qiita 7shi で検索。
674 名前:デフォルトの名無しさん [2015/06/25(木) 17:20:28.66 ID:B9JLKsO8.net] あ、あとCPSは階乗とフィボナッチのCPS版を見つけてきて、 fac(3)とかfib(4)あたりを手で簡約して見ると原理がわかる。 いったん理解すれば、あとは殆ど機械的に変換できるようになるよ。 そういや最初にCPS理解したときはその後しばらくCPS猿みたいなコード書いてたな……
675 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 17:32:34.99 ID:5pnqx1ov.net] でも a -> b -> c を a -> b -> m c に書き換えるのは arityが見えるとかいう意味不明な能力がないとできないよね
676 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:38:45.58 ID:YBkNncXP.net] stack がパッケージの依存地獄を解決すると聞いて駆けつけました!
677 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:40:43.48 ID:YBkNncXP.net] >>664 頑張ります
678 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:22:04.84 ID:LfFLypOB.net] Freeモナドを上手に役立ててる例、ってなんかないですか?
679 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:33:50.49 ID:eM2m5jCT.net] 不便だと思うところに役立てればいいんじゃないかな
680 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 00:28:21.26 ID:bFSe+PPP.net] >>670 料理のレシピのためのミニ言語、は楽しくてよかったんですが、便利か、実用的か、っていうとそうでもない感じがしました。 モナド的側面、つまり、前のコマンドの結果に応じて後に続くコマンドを変えられる、って性質を有効利用できれば良い、と思うのですが、いい案が浮かばず… たまごを焼きすぎたらスクランブルエッグは諦めてたまご焼きにする。 うーん
681 名前:デフォルトの名無しさん [2015/06/26(金) 01:05:51.23 ID:sGcqyMBf.net] Freeモナドが使えそうなところでは大抵の場合、 finally taglessな表現/Symanticsを使う方がいい。
682 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:39:02.22 ID:hymME7nU.net] なんとなくわかった returnとjoinを作れないまたは作れるが使いたくない場合にFreeモナドを使うんだろ
683 名前:デフォルトの名無しさん [2015/06/28(日) 07:58:01.92 ID:UfM5xTqU.net] ほざけ無能ども
684 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 09:29:10.20 ID:PsA9Isd2.net] >>674 どうした突然。何かつらいことでもあったのか。
685 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:22:33.44 ID:eK2mTTNw.net] HaskellerはOCamlerを見下してますか?
686 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:45:38.67 ID:oAeIj0m7.net] HaskellerかつOCamlerですが何か?
687 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:08:18.01 ID:CsAfdxFY.net] オーキャメルってすごいの?
688 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:45:29.76 ID:sCkqyjMf.net] ほとんど同じ 型が違うとか批判ばかりで代案を出せないコンパイラと、そいつに逆らえないプログラマ 全然すごくない
689 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 17:40:06.78 ID:A43RH85D.net] 開発環境は、その上で作られた成果物と、 作るのに使ったリソース(人、時間、金など)で比較すべき まぁ、たいした成果物が挙げられないようでは話にならんがな
690 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:22:42.20 ID:sCkqyjMf.net] どうせそう言われるだろうと思って 言われても平気な言語を二つも三つも覚えるんだよね 観賞用、保存用、予備みたいなあれ
691 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:45:49.13 ID:TzgnuxBg.net] 寄らば大樹の陰(笑)
692 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:48:17.29 ID:sCkqyjMf.net] 同じのを三個買ってきたのに使用頻度のデータを取るのは時間と金の無駄だろ
693 名前:デフォルトの名無しさん [2015/06/28(日) 22:57:53.15 ID:GoQYkhEF.net] >>677 あなたはHaskellを知ってるOcamlerです。Haskellerではありません。
694 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 23:08:27.40 ID:PermaxaH.net] 宗教かよ
695 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 23:24:45.18 ID:CsAfdxFY.net] じゃあ、ここでEmacsとVimの雌雄を決しようぜ
696 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 05:59:50.21 ID:Qi5/2Z+9.net] Ocamler = 岡村
697 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 06:43:23.70 ID:brwnweVx.net] >>684 調査する側が答えを決めてるなら世論調査とかビッグデータとか無意味だな
698 名前:デフォルトの名無しさん [2015/06/29(月) 10:57:15.25 ID:8+Jbzv8W.net] >>679 >型が違うとか批判ばかりで代案を出せないコンパイラと、そいつに逆らえないプログラマ >全然すごくない 才能を感じるw
699 名前:デフォルトの名無しさん [2015/06/29(月) 20:28:54.62 ID:UsldY24Z.net] おまえらえらそうにほざいてるけど、HaskellでGUIアプリ作れんの?
700 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 20:34:47.53 ID:I6LM+XSd.net] >>690 ほざいてないし作れない
701 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 22:11:01.07 ID:6j3t6Ku/.net] ほざいたし作った
702 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:37:46.91 ID:dOBb6but.net] 今 Haskell で GUI アプリを作ることにどれほどの意味がある? 無駄に苦労するだけで、たいしたメリットは得られないと思うが。 C# や Java などの方が意図したことを素直に書けると思うぞ。
703 名前:デフォルトの名無しさん [2015/06/29(月) 23:43:17.21 ID:8+Jbzv8W.net] >>690 作れるし作っているが楽しくはない。
704 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:46:32.90 ID:QGo7kC4a.net] GUI原理主義なんなの?
705 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:56:20.64 ID:NIwVXw8K.net] (Haste で javascript にコンパイルして)作ってる
706 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 00:41:54.66 ID:xJJVLGS/.net] >>695 EmacsとVimを懲らしめる主義(適当)
707 名前:デフォルトの名無しさん [2015/06/30(火) 01:13:42.18 ID:Jhz+vTOP.net] Autocadは基本コマンド。
708 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 07:58:21.93 ID:c40dQzwL.net] >>693 状態のセーブがすげー簡単 苦労は特にない
709 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 08:02:38.09 ID:c40dQzwL.net] というかHaskellだろうが何だろうが GUIなんかロジックの部分に比べれば簡単
710 名前:デフォルトの名無しさん [2015/06/30(火) 12:03:29.96 ID:xY5YXWOJ.net] そうやって【自称関数型】のヤカラはいつも逃げる GUIで使えるアプリも書けない
711 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 12:19:59.61 ID:avn7235t.net] Gtk2hsとか
712 名前:デフォルトの名無しさん [2015/06/30(火) 12:55:10.53 ID:g8mVBFW2.net] いや普通にwxHaskellでもなんでも使って書けるから。 ただ抽象化が巧く嵌らないから楽しくないだけ。
713 名前:デフォルトの名無しさん [2015/06/30(火) 15:13:39.82 ID:X6br0/jB.net] ウィンドウシステムで動く以上、オブジェクト指向が一番いいんじゃないの。 ウィンドウってオブジェクトそのものだし。
714 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 17:14:12.45 ID:vxf+DpiB.net] メッセージを受け取る関数 Message -> IO () で引数をパターンマッチすればいいよ Cのswitch文を使うウィンドウシステムと同じ
715 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 18:20:38.25 ID:c40dQzwL.net] GUIどころかOSごとHaskellで書いた例:programatica.cs.pdx.edu/House/
716 名前:デフォルトの名無しさん [2015/06/30(火) 18:42:24.07 ID:X6br0/jB.net] >>706 2chで作ってたOSにも及ばない感じに見える。 世界の一流研究者が集って10年かけて作ったものがこれでは、Haskellの 実力が低いように見える。 ドヤって感じで出されると余計。 少なくとも2chで作ってたOSは、もう少し実用性があった。
717 名前:デフォルトの名無しさん [2015/06/30(火) 18:51:10.78 ID:X6br0/jB.net] 昔、JSはCの二倍速いとか、JavaはCの20倍速いとか言われてて、ベンチマークが 2chのスレに貼り付けられてた。 今のHaskellは同じような感じがする。 JSは、アプリケーションを拡張するのに使えばとても楽な言語だし、Javaは 互換性やわかりやすさに焦点をあてた言語。 良い部分を宣伝したらいいと思うのだけど、どうも原理主義の人は欠点を 否定することに一生懸命になる。 Haskellはこういうことに向いてないね、でも出来ないわけじゃないよって 位で良いんじゃないのかな。
718 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 19:02:56.27 ID:c40dQzwL.net] >>706 言いたいことはわからなくもないが全然「一流研究者が集まって」ないからw
719 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 19:04:08.01 ID:c40dQzwL.net] >>707 のまちがいスマソ
720 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 19:10:15.18 ID:9foLA8yU.net] 2chのOSってhigeponが作ってたmonaでしょ。目的が違うし、実用性も同程度だと思うが。 そういえばhigeponさんも関数型erになったが最近どうしてるんだろう
721 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 19:55:09.60 ID:FWhQ2ahg.net] Haskellが得意とする(向いている)アプリケーションとは何でしょうか。 また、なぜそれが他言語に比べてHaskellが有利だと言えるのでしょうか。
722 名前:デフォルトの名無しさん [2015/06/30(火) 20:01:42.67 ID:g8mVBFW2.net] >>712 構造を持ったデータの処理・操作。 理由は人智を超えない範囲で充実した型システム。
723 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:34:52.77 ID:vxf+DpiB.net] リスクの高いアプリケーション 得意なことは何かではなく最悪のケースは何かを考えること 理由は型システム
724 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:54:40.33 ID:FWhQ2ahg.net] >>714 リスクというのは人命ですか? もしかして医療関係のアプリケーションでよく使われていますか?
725 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 21:54:36.59 ID:vxf+DpiB.net] 人命というのは何か違う気がする 単に死ぬことと意図的に殺すことを区別できなくなる
726 名前:デフォルトの名無しさん [2015/06/30(火) 21:57:27.47 ID:X6br0/jB.net] F-35にHaskellが使われたなら信じる。
727 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 00:19:00.28 ID:hCLvX6t9.net] >>699 >> 状態のセーブがすげー簡単 これどういう意味? MonadIOの中だったらどこでもliftIO でファイル保存アクション実行できるよ、ってこと?
728 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 08:39:27.15 ID:tJW6CsdE.net] >>704 ←固定観念に囚われてる愚か者の事例。
729 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 08:49:50.77 ID:wl+QWyy/.net] ちょこっとかじった初心者ですが、 型システムのおかげでバグが出にくいっていう長所は GUIアプリ作るときにも活かされますか?
730 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 09:37:31.97 ID:I91Dcp9K.net] >>720 Haskellつかったらバグが自動的に減るのではなく、 強力な型システムのお陰で、型レベルのバグがコンパイル時に 検出できるだけ。Cなんかではポインタへの誤ったキャストが コンパイルを通ってしまい実行時(システムが稼働したとき)にようやく 発見されるという惨事が相次いだので、コンパイル時に前倒し してエラーを補足できるという点が期待されていた。 現実には型が合っていても実装を間違うことはあるので、 Haskell使ったら「自動的に」高品質になるというのは完全嘘だと思ってる。
731 名前:デフォルトの名無しさん [2015/07/01(水) 10:28:08.57 ID:tOajYpeJ.net] 自分でHaskell書いたことのない奴が多すぎだろ 713くらいしかまともなこたえがない
732 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 11:45:24.51 ID:gMCljQ/I.net] >>720 GUIはコロコロ仕様が変わるので むしろバグっぽいコードも書けるというメリットのほうが大きい
733 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 11:45:40.65 ID:zqTVEjze.net] 型が強力なので、バグ以前に、適切な型を考えて、それに従って関数書けば 自然にプログラム書けて楽なことが多い。Type-directedプログラミングというか。
734 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 11:48:56.78 ID:zqTVEjze.net] >>718 いや単に状態が陽だから、何をセーブすれば良いかわかりやすい、というだけ。 まあGUIアプリに限った話ではないか。
735 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 12:00:05.77 ID:XEDFaQMZ.net] テスト駆動とかだったらテストをHaskellで書く筈だが Type-directedはHaskellを書く機会を減らしてしまう諸刃の剣
736 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:49:29.48 ID:rMwDHu3x.net] Haskellで書けばバグが完全に駆逐できるという話をよく聞く。 Haskellは並列化が効率的に行えるのでC++の10倍速いと言う記事を見た。
737 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 16:22:48.22 ID:YQJkkFEW.net] リスクの最たる例が人命というなら、地球を一人の人間と捉えた場合、経済はその血流であろう。血流を止めると地球さんがヤバい 経済界に寄与するソフトウェアを他言語版より多く送り出しているならばHaskellはリスクと戦う最前線の言語だといえよう
738 名前:デフォルトの名無しさん [2015/07/01(水) 18:22:25.85 ID:NjN/zNsy.net] で、おまえらGUIアプリ書けるのか? Haskellでカットアンドペーストできるエディタやペイントソフト書けんの?
739 名前:デフォルトの名無しさん [2015/07/01(水) 18:22:57.88 ID:NjN/zNsy.net] おまえらは「机上」でしか語れない
740 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 18:35:28.08 ID:wHMLdS0x.net] クリックカウンターおじさんのエミュレーションやめろ
741 名前:デフォルトの名無しさん [2015/07/01(水) 18:38:03.08 ID:tOajYpeJ.net] GUIライブラリのコンポーネント使っていいなら誰にだって書ける。 もちろんHaskellでも問題なく書ける。エディタでバイト列収納しとくための ロープから実装しろという話ならHaskellはかなり有利だ。
742 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 19:31:24.61 ID:W0dcBNHQ.net] >>730 確かに、机上の空論からのぶっつけ本番は非常に危険だ しかし机上を危険視するのは間違っている
743 名前:デフォルトの名無しさん [2015/07/01(水) 19:53:03.17 ID:XO0z7h0V.net] そもそも情報処理って机上がものいう世界だろ
744 名前:デフォルトの名無しさん [2015/07/01(水) 19:53:39.62 ID:XO0z7h0V.net] クリックカウンターおじさん本人なんじゃないか?
745 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:02:00.78 ID:I91Dcp9K.net] 机上の空論よりヘボくても動けるものを作れる奴が偉いとか典型的なマウンティング
746 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:16:46.99 ID:zqTVEjze.net] >>726 QuickCheck?
747 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:18:47.95 ID:zqTVEjze.net] >>727 それは嘘かhype
748 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:25:01.06 ID:N2f2t6hF.net] >>732 Haskellが凄いという話はよく聞く
749 名前:し、現代的なGUIエディタの実装に超有利という話も出てきた。 ところが、Haskellで書かれた著名なエディタは無いし、ライブラリやコンポーネントを使うなどと言うけど、 そのライブラリやコンポーネントはHaskellで書かれた著名なものがあるの? 極端な話、そんなに有利なら、Haskellで書かれたコンポーネントをそして APIを他の言語から使ってるんじゃないの。 凄い凄いという話をよく聞くものの、最終的にC/C++で書かれたライブラリを 呼び出せますよって話になる。 C/C++を呼び出してて本当にHaskellの凄いところであるゼロバグを実現できるの? 言っとくけど、C/C++は容易にバグが紛れ込むし、Haskellのようにゼロバグなんてことは無いよ? Haskellから呼び出すだけで、C/C++のバグも本当に消えるの? [] [ここ壊れてます]
750 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:30:36.90 ID:WaFLqKtq.net] ぐうの音もでん
751 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:35:48.17 ID:hkSyx5v6.net] C/C++ラッピングに頼るのは、国産OSを開発せずWindowsやUnixやLinuxに頼るようなものだ Haskellネイティヴなライブラリへの置き換えが必要ではないか
752 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:40:40.77 ID:RlBRpOsX.net] >>739 誰もそんなこと言ってない。 どこかよそで読んだなら、まともな話かどうか判定するからソース教えて
753 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:45:43.16 ID:hhCpaelW.net] この世界、技術的に良いものが必ずしも広まらないことは日常茶飯事。 逆に、マイナーだから優れている、も成り立たないが。
754 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:56:44.98 ID:4S8xRTlr.net] >>739 Haskellで自動回避できるのは型の不整合にまつわるバグであって、算法上のバグを回避できるわけじゃあないよな システム記述言語としてのHaskellは、他言語に比べて特に凄いということはないよ 動かしながらバグを取る必要があるのはC/C++と同じ
755 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:59:56.29 ID:WaFLqKtq.net] まあ、最近Facebookが出して世間を賑わしてるリアクティブプログラミングも元はHaskellで作られたやつだ。 あと、テストライブラリのQuickcheckも色んな言語に輸出されてるね。 思うんだけど、Haskellerのみんなの興味が、売れるアプリ、広く使われるソフト、 で必要とされるもんとズレてんじゃないかな。 1. その言語を使える技術者の確保が容易 2. ハード(スマホ)の最新機能がすぐ使える、 ドキュメントが豊富
756 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:46:09.54 ID:SBuzyDQs.net] ArrowがあればMonadは要らんのやな 最初からArrowにしとけばよかったやん
757 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:54:31.49 ID:hkSyx5v6.net] 元はHaskellで作られたのに実践は他言語だったの? Haskellは何か実践的開発上の問題を抱えてるの?
758 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 23:08:08.48 ID:1n3wggjU.net] つまんない煽り愛してないでまともな話しろ
759 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 23:09:21.21 ID:WaFLqKtq.net] >>747 もちろんHaskellのリアクティブライブラリもそれなりに使えるもんだったし、以降今に至るまで派生ライブラリがたくさん作られた。 でも、javascriptの方がより賑わっていて(開発者が多くて)Facebookにも資金力がとても高い、ってことさ。 つまり、Haskellの弱さは人がいないことだ、と俺は思う。 なぜ人がいないかは、理由は色々あるけど、外から見て何が得意なのかがよくわかんないつーのが大きくて、それはHaskellでの目に見える成果があんまり無いからで、その理由は人がいないからで、つまり
760 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 23:32:51.19 ID:W0dcBNHQ.net] >>747 逆に他言語で実践できない部分にガラパゴス化という問題があるとも言える ガラパゴスが強いと思うか弱いと思うかは人それぞれ
761 名前:デフォルトの名無しさん [2015/07/01(水) 23:50:13.91 ID:j1v8qj3k.net] つまりクリックカウンターおじさんの言ってることは正しい面もある、と?
762 名前:デフォルトの名無しさん [2015/07/02(木) 01:00:22.82 ID:xB5xsyxT.net] 言語仕様の話がしたいのか、ライブラリ群の話がしたいのか。
763 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:43:36.68 ID:0H4A+sBi.net] 技術的内容を理解していない知ったかぶりの言葉遊びは無用。よそでやれ
764 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 06:15:08.75 ID:0QJ6vZJG.net] 言葉遊びをやめさせるには沈黙するインセンティブが必要 黙秘権とか 逆に、対案を出せなど沈黙しないことが強く求められれば言葉遊びはもっと酷くなる
765 名前:デフォルトの名無しさん [2015/07/02(木) 09:19:10.46 ID:RsQjnldo.net] ”クリックカウンターおじさん”という名誉棄損の呼び名を確認。
766 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 09:50:57.63 ID:L8xarZNp.net] クリックカウンターのような状態遷移をHaskellでは作れないという批判?
767 名前:デフォルトの名無しさん [2015/07/02(木) 10:03:54.46 ID:u7x11Nqb.net] クリックカウンターおじさんの問題提起については評価しないとだめだな。
768 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 10:28:08.52 ID:zhB7tSAg.net] 環境構築(cabal)がクソでライブラリを探すのも入れるのも更新するのも面倒くさいってのも有ったんじゃない Stackでどうなるか
769 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 11:10:25.42 ID:e+SQ5knv.net] 著者が挙げている「クリックカウンター」や「お絵かき」の類を作成するのに特別なexpertiseは不要で、 単に使用するGUIライブラリ・グラフィックスライブラリのドキュメントが読めれば充分なので、 その趣旨は私にはまったく判然としません(当該の記事で著者がOCamlで「お絵かきロジック」を 実装してみせよと要求する一方で自身ではJavaScriptによるそれを公表していない点も気になります)。 もちろん、OCamlであれHaskellであれ破壊的代入の類の副作用を使用せずに書くのもなんら困難ではありません。
770 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 13:57:23.04 ID:y1SlVF6x.net] 字数増やせば賢く見えるわけじゃないんですよ
771 名前:仲本だいすけ [2015/07/02(木) 15:06:12.36 ID:ZQFEgiVc.net] あの疑似科学野郎を黙らせるのになぜ半年もかかったのか?
772 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 17:11:55.72 ID:L8xarZNp.net] >>758 環境のクソさのお陰でわりと布教しづらかったので stack にはマジ期待してる >>759 なんら困難ではない。。。かなぁ???
773 名前:デフォルトの名無しさん [2015/07/02(木) 17:35:08.64 ID:xB5xsyxT.net] 破壊的代入なしで書くのは別に困難じゃないだろ。 入出力そのものを副作用だと言い出すならどんな言語でも無理だしな。
774 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 17:46:38.81 ID:FcRiDZyX.net] >>759 当事者ご降臨ですかw 確かに保身第一、全く相手にしてませんが何か?っていう答え方だな
775 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 18:22:32.80 ID:aW/wUO6R.net] >>761 おまえらの不徳の致すところ
776 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 18:30:48.79 ID:e+SQ5knv.net] おいおい、単に qiita.com/nonstarter/items/2763f5d85f2b8df3b18b からのコピペだぞ。検索もできんのか…
777 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 18:55:57.21 ID:y1SlVF6x.net] 宣言型プログラミング言語スレで脳内設定エスパーしろとな
778 名前:デフォルトの名無しさん [2015/07/02(木) 19:00:17.41 ID:xB5xsyxT.net] Ocamlアイドル @no_maddo 24時間 追記部分があるのを知らなかった、めっちゃ面白かったです 関数型言語 - 『関数型プログラミングに目覚めた!』のレビュー(Day-1) on @Qiita qiita.com/nonstarter/items/2763f5d85f2b8df3b18b … kenokabeさんの謎クリックカウンタとお絵かきのネタは仙台でも大人気だ!
779 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 19:26:05.17 ID:gqhA8KsA.net] これが何に使えるのかよくわからない。
780 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:46:14.33 ID:E90eWw9y.net] >>766-767 その程度のために Googleモナドを持ち出すなど軟弱な
781 名前:仲本だいすけ [2015/07/03(金) 01:48:03.52 ID:RZmOyo0m.net] ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ 、:::::.. /:::; .,-、 l:::/、 :::::::: ゝヽ- ー' 、 l::/, ,:、:: / ,--、,-.、_ l / 、::、 `ー ̄-' / 、::ヽ /: r‐''''^¨^⌒ ̄ ̄ ̄ヽ ,ノ`, \ ノ/ ヽ ι.} λ ) ヽ(,. ノ! r' ( l .,/ ノ,,,,,,,,,,,,,,,,,,,,,,,,,,,,丿へ ノ ,) ( ∵ ∧∵ /,,丿 \,,,,/人\__ノ / ( ) (__) ( ) 《 l (___) 《 ̄ ̄》 《__(____) 《____》
782 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 03:37:23.69 ID:aag7hyI7.net] 180°回る首
783 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 08:29:08.65 ID:8+5j5k8x.net] >>761 相手が弱者だと思って戦いを始めるやつは撤退する口実を作れないから泥沼化する 強敵ならいつでも撤退を正当化できるのに
784 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 08:38:57.07 ID:R0ApVOfB.net] >>763 入出力は副作用でしょ普通 入出力無しにGUIを描くと言ってるのと同じで矛盾してる
785 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 08:39:40.10 ID:uImfavx2.net] あほか
786 名前:デフォルトの名無しさん [2015/07/03(金) 08:41:04.32 ID:wl7u/SNJ.net] >>774 意味論による。
787 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 08:46:11.05 ID:R0ApVOfB.net] >>776 言ってる事が理解できないので詳しく 入出力で参照透過性を維持できる説明もよろ
788 名前:デフォルトの名無しさん [2015/07/03(金) 09:04:39.28 ID:wl7u/SNJ.net] >>777 IOモナドの仕組みくらい自分で調べたらよろしい。 そして、グラフ書換系のどこにも副作用なんかない。
789 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:11:48.16 ID:R0ApVOfB.net] >>778 グラフ書換系はGUIとは関係ないだろう はぐらかさないで説明ヨロ
790 名前:デフォルトの名無しさん [2015/07/03(金) 09:15:30.38 ID:wl7u/SNJ.net] >>779 IOモナドは世界状態RealWorldを取るStateモナドと同じ意味論を与えることができる。 Stateモナドに副作用がないのと同様にIOモナドはモナドにも副作用はない。これが1。 IO a を RealWorld -> (RealWorld, a) と元の形に直した上で Haskellのグラフ書換系上で入出力がどう見えるか考えてみればいい。これが2。 これでわからんなら私のせいではない。
791 名前:仲本だいすけ [2015/07/03(金) 09:46:07.14 ID:6Fdm7Fxt.net] 疑似科学おじさんまだいるの?病院行こうよ
792 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:57:24.37 ID:p7lUbcZE.net] 岡部氏の「もっと世界観を」には賛成。 しかし関数プログラミングやFRPは銀の弾ではないとも思う。 なぜこうも銀の弾が出てこないのか?
793 名前:デフォルトの名無しさん [2015/07/03(金) 10:02:29.75 ID:Iifsm05F.net] そんな事より毛ブログがなんで更新されないのかな?
794 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 10:17:59.41 ID:R0ApVOfB.net] >>780 グラフ書換系からモナドがどう見えるかは関係ない 実際にIOモナドから値を取り出し、副作用を伴う処理を使う際 参照透過性を維持できるという説明をよろしく
795 名前:デフォルトの名無しさん [2015/07/03(金) 10:19:49.54 ID:vDmQcknf.net] まあとりあえずこれを読めよ d.hatena.ne.jp/kazu-yamamoto/20090627/1246135829
796 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 10:26:38.47 ID:R0ApVOfB.net] >>785 そのリンク先の説明は理解できるが 今レスしている人はどの趣旨の説明でもない
797 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 10:26:38.81 ID:R0ApVOfB.net] >>785 そのリンク先の説明は理解できるが 今レスしている人はどの趣旨の説明でもない
798 名前:デフォルトの名無しさん [2015/07/03(金) 10:28:25.82 ID:wl7u/SNJ.net] IOモナドの表現getCharが複数あってもRealWorldの値が違うので 決してノードが共有されないことに気が付かなかったんですかねえ。 グラフ書換でノードが共有されることと参照透過性との関係が 理解できてない可哀想な子だったか。
799 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 10:32:05.52 ID:R0ApVOfB.net] あ、すまん確かに3と同じ事いってるね タプルをRealworld aと勘違いしてた
800 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 10:39:21.05 ID:R0ApVOfB.net] >>788 よく読んでいなかったよ謝る
801 名前:仲本だいすけ [2015/07/03(金) 10:48:00.79 ID:Dt4z3lub.net] >>782 ThinkDifferent(笑)
802 名前:デフォルトの名無しさん [2015/07/03(金) 10:49:58.03 ID:aSIkPSGQ.net] 駱駝さん、アホに構ってんと、仕事しようよ…
803 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:24:59.81 ID:p7lUbcZE.net] > Haskell には副作用はない。なぜなら、Haskell が作るのは命令書のみで、それが実行されるのは Haskell の外での話だからだ。 そういえば、この解釈は酷い解釈だったな
804 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:35:30.05 ID:8+5j5k8x.net] >>793 ・副作用は定義した時ではなく実行時に発生する ・引数 (RealWorld) は関数を定義した時ではなく呼び出した時に渡される ほぼ同じ内容だ 同じ内容に優劣をつけるのは言葉遊びだ (遊ぶなとは言っていない)
805 名前:仲本だいすけ [2015/07/03(金) 11:39:29.06 ID:TviClge2.net] 楽しいから続ける(笑)
806 名前:仲本だいすけ [2015/07/03(金) 12:04:29.45 ID:ri2L7Lgt.net] ,.-―: ̄`ー::::::::::、 /::::::::::::.::::::::::::::::::::::::::::`::、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ ヽ:::::  ̄ .)::; l  ̄ l::::/ < 排便ダン 、:::::.. /:::; .,-、 l:::/、 ,―:::::::: ゝヽ- ー' 、 l::/,、ヽ l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\ /⌒\〆', `  ̄ ´ ゝ/⌒\ / ノつ\ ・ ・ /⊂ ヽ! o0○ノ / 3 \ (::::⌒ヽ / とノ\ ヽ○0o ( /、_ノ\ Y `(_、_) / \´ )゚ \_) `ヽ : :;;*:; : : : | (_ノ 人__;;:;;、___ノ ヽヽ ヽヽ ;:;;:;;:;,, ──┐ | | ──┐ | | ∬ ;;:;::.;::.::;::..:;:..: ∬ / | | /. | | ・〜 ;::;.:;:;:;:;:.:;:.:::.;:;:;.:.:.: ノ ノ ┐ ノ ノ ┐ ∬;;;:::;;;:;:.:;:.::.:;;.:.;.:;.:; ∬ ┴ ヽヽ ┴ :"
807 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:15:29.28 ID:p7lUbcZE.net] >>794 ほぼ同じ内容だろうが、それらはどれも酷い解釈だと思うよ
808 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:36:08.66 ID:IUu1So5+.net] 何が酷いの? IOが一級値である以上、最も正確な解釈だと思うが。
809 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:38:18.64 ID:InleWrcM.net] むしろそれ以外に、実際の実行結果に合う解釈はあるのか?
810 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:16:07.46 ID:msRG1Yik.net] >>796 顎の両脇の部分が、後ろで済ませたとぐろ糞に見える
811 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:58:45.53 ID:Vi+qPEKL.net] Prelude> let x = putStrLn "hello" in x >> x hello hello Prelude> let x = putStrLn "hello" in seq x x hello Prelude>
812 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 19:01:10.98 ID:V10CPSDi.net] 型=値の集合と思ってると IO でラップされた型は一体どんな値なのかと気にしてしまうんだね。
813 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 19:04:32.10 ID:Vi+qPEKL.net] >>802 それはIOに限らず抽象データ型一般について言えるかも
814 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 21:18:44.48 ID:XD0nd274.net] IO aが抽象データ型だとするとb -> IO aがFactoryMethod IOはコンストラクタが隠蔽されているのだから必然的にそうなる
815 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 22:59:59.80 ID:8flj3gJm.net] 言いたいことはわかるが空な多相型じゃなくてτ1 -> IO τ2とか書いてくれ(笑)
816 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 23:22:54.07 ID:XD0nd274.net] そもそも一番肝心な(->)のコンストラクタがない Haskellの半分以上はコンストラクタやパターンマッチでは説明がつかない
817 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 02:18:23.55 ID:XsL/EKLB.net] 半分以上のHaskell教えてよ
818 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 09:50:27.87 ID:WNuVOXDD.net] Haskell は数学を連想させるので絶対流行らん。
819 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 10:25:08.25 ID:8ixaKuBt.net] >>808 その「ので」が「今日は天気が良い『ので』どこかに出かけよう」ぐらいエエカゲンなんだよなあ
820 名前:仲本だいすけ [2015/07/04(土) 10:41:07.54 ID:uNR/QH/o.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, , '-, ゙'ー'ー' ヽ、`,ー、 `'ー'ー'
821 名前:デフォルトの名無しさん [2015/07/04(土) 11:47:31.61 ID:D//5Uocc.net] 筒井康隆が新潮10月号(9/7発売)に最新長編『モナドの領域』330枚一挙掲載
822 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 14:12:51.24 ID:WvwJxr10.net] Haskell は門限が7時の女子大生を連想させるので絶対流行らん。
823 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 16:46:21.33 ID:rWY2qCze.net] Haskell 擬人化するなら眼鏡で想像するひと多そう。
824 名前:デフォルトの名無しさん [2015/07/05(日) 03:00:57.48 ID:18u325sL.net] jbbs.shitaraba.net/bbs/read.cgi/study/2246/1279896594/534 ↑ ↑ ↑ ↑ ↑
825 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 03:18:53.53 ID:5EFP5F9v.net] リンク先政治広告なのでみなくてよろし
826 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 11:32:05.80 ID:j/NgsVfb.net] 長期的に考えるんだ 最初は眼鏡で途中から眼鏡を外せば流行ると考えるんだ
827 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 00:22:13.25 ID:wlw6otNx.net] 使うメリットが無い。 デメリットは多いのに。
828 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 04:07:14.46 ID:W9Wle9it.net] 毛を引き寄せてしまった程の黒魔術的魅力がHaskellにあるのだろう
829 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 04:12:56.58 ID:G+yljX6j.net] goよさそうだなと思って覚え始めたけど型定義が貧弱すぎてやる気大幅ダウン Haskellは禁断の果実だった
830 名前:デフォルトの名無しさん [2015/07/06(月) 10:19:51.08 ID:9VlVzieP.net] システムプログラミング言語ならhaskellやった人はgolangよりrust結構気に入るだろうと思う 代数的データ型、型クラス、型推論、immutableがデフォルト、パターンマッチ、 メモリリークをコンパイルエラーにする と結構 ml likeな言語
831 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 10:24:54.61 ID:9VlVzieP.net] >>818 毛を引き寄せたのはhaskellじゃなくてjsだろ
832 名前:デフォルトの名無しさん [2015/07/06(月) 18:54:20.21 ID:yIxlkBRi.net] 痴呆症ブログ更新きたよ! 749 名無しさん@ゴーゴーゴーゴー! 2015/07/06(月) 14:17:10.21 ID:IaVh3M450 kenokabe-techwriting.blogspot.jp/2015/07/javascript.html おかえり!入院しろ!
833 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:10:08.11 ID:EN2KuOqG.net] >>820 いいことを聞いた、ちょっと触ってみようかな
834 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:43:24.49 ID:G+yljX6j.net] 普及してる言語の中でミスが起きないよう設計されてるやつが欲しくてさ Rustは人口少ないしScalaよりさらに関数型で安全そうだけどじゃあHaskellでいいじゃんってなる
835 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 22:13:00.63 ID:pYzRJ5bG.net] elixirとか
836 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 22:38:54.30 ID:/jetTYu7.net] 末尾呼び出しが使えないとやる気が出ないね ループでしか書けないからね
837 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 23:08:12.61 ID:G+yljX6j.net] 静的型 直和型 再帰型 抽象型 独自(ドメイン固有)型 型推論 ダブルディスパッチ 高階関数 map/filter/fold 末尾再帰最適化 オブジェクト指向でもこれくらいサポートしてほしい
838 名前:デフォルトの名無しさん [2015/07/06(月) 23:11:36.25 ID:8//4HfJE.net] 相変わらず岡部健の記事は狂ってて面白い
839 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 23:28:12.05 ID:IO/OfGDx.net] >>824 rustは日本人ユーザが少ないだけでコミュニティは盛り上がってる
840 名前:デフォルトの名無しさん [2015/07/07(火) 00:34:34.08 ID:/AiLg+DV.net] 岡部が他人のコードを勝手に、不完全に書き換えて実行して その結果を叩いてるぞ
841 名前:デフォルトの名無しさん [2015/07/07(火) 01:15:52.91 ID:6n40dgbK.net] 岡部の記事だけを読むと、説得されかけるのは疲れているからだろうか?
842 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 01:30:24.54 ID:0l2OmbIX.net] >>824 rustはc,c++と同じ低レベルプログラミング言語だから haskell、scalaとは被らないよ
843 名前:デフォルトの名無しさん [2015/07/07(火) 01:44:46.81 ID:5T5xC6ja.net] 「ミスが起きない」の意味が違う
844 名前:だよな。 HaskellとRustでは型に意図された機能がぜんぜん違う。 [] [ここ壊れてます]
845 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 04:38:19.84 ID:wEQ5fYPF.net] >>833 どういう部分が? 所有権という概念が入るだけで、型付けは結構強めだと思うが
846 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 05:07:24.51 ID:wEQ5fYPF.net] >>831 洗脳…ですかね
847 名前:デフォルトの名無しさん [2015/07/07(火) 08:27:24.02 ID:5T5xC6ja.net] >>834 Rustは高階カインドやGADT使えないでしょ。モナドすらない。 だけど線形型は使えて(所有権)、要するに基本のHindley-Milner systemからの 強化方向とその背景にある思想が全然違う。 データの構造に対する表現力を求めるのとリソース管理を求めるのと。 なおどっちも突っ込むと人智を超え始めるのはATSを見ればお分かりの通り。
848 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:37.69 ID:6KFd5cV4.net] Rustは低レベルな世界に関数型の表現力と安全性を持ち込もうとしている言語。 最初はOCamlで開発されていたからか、letとかOptionとかML系の匂いはする。 ただし簡潔さよりもゼロオーバーヘッドを優先しているから、冗長な表記が多々含まれる。 あと型推論は関数定義内だけに適用されるから、エラーメッセージが見当外れの場所を指さない一方、 borrow checkerのエラーはすごく把握しづらい。impl書いている時は特に。 自分がいかにGCに依存し、リソース管理を怠っていたかをこれでもかという程思い知らせてくる言語。
849 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:31:10.23 ID:bP16dll8.net] Rustなんて放り投げてATSやろうぜ!
850 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 11:38:06.78 ID:ZG49EUnh.net] これが超えちゃいけないラインってやつか トランポリンとかモナドとかよりもっと抽象度高い系の片鱗を味わったぜ
851 名前:デフォルトの名無しさん [2015/07/07(火) 12:46:53.46 ID:KLvjH7rL.net] 岡部健・・・・・・。
852 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 15:14:42.99 ID:kS7BAnfS.net] >>838 岡部究(master_q)さん、暇なんですか?
853 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 15:31:19.79 ID:AZjd+yQY.net] ParsecとTrifectaってどう違うの?
854 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 15:36:54.07 ID:kS7BAnfS.net] >>842 Parsec の改良実装が Trifecta だそうです(TwitterのTL調べ)
855 名前:デフォルトの名無しさん [2015/07/07(火) 16:41:16.20 ID:kvoehb1f.net] まさかUCLA卒の情報技術者を自称する岡部が、 メモリを食いつぶしてることの裏を取ってないわけねーだろ。 これには何か事情があるんだろう。
856 名前:デフォルトの名無しさん [2015/07/07(火) 16:44:08.49 ID:kvoehb1f.net] まとめ: 岡部「破壊的代入を使わないクリックカウンターやお絵かきロジック(マウスのドラッグ)はFRP(自称)でなければ書けない」 →OCamlでもHaskellでも瞬殺 →岡部「再帰でメモリリーク(※スタックオーバーフローの意)する」 →末尾再帰なのでスタックオーバーフローしないし、実際のメモリ消費量も増えていない。 岡部の示した「証拠画面」はメモリ不足ではなくプロセスを強制終了しただけ。
857 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 16:57:06.07 ID:AzQt5h10.net] マジで末尾再帰の最適化を知らなかったのか、kenokabe独自定義で違う意味なのか、どっちなんだ? 前者だとちょっとガッカリ…
858 名前:デフォルトの名無しさん [2015/07/07(火) 17:57:25.43 ID:T57Vd7z3.net] メモリリークはバズワードであってだね・・・・
859 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 18:14:46.72 ID:50EUtPEU.net] kenokabeさんはもう許されていいとおもう
860 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 18:17:56.32 ID:Ra6qpxUV.net] Haskellは強制されても習得できない難しい言語だからこそ非人道的事案は少ない それに比べて関数型という安易な言葉に苦しめられる人は多い
861 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:57:42.46 ID:strljqHr.net] どこかのスレでツリートラバースするのに再帰を使うのは良くないマナーと書いたら、 末尾再帰と言われたのだが。
862 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:23:41.84 ID:D8OEoYJf.net] >> 850 なぜ良くないの?
863 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:43:21.45 ID:lu3S4Qgm.net] >>>845 OCaml版はloop_at_exit使ってるのがダメと指摘されますた>< Graphics.wait_next_eventかGraphics_js.loop使ってください
864 名前:デフォルトの名無しさん [2015/07/08(水) 01:57:29.30 ID:T1Ir4r2m.net] >>845 末尾再帰はあのコード例では関係なくて、イベントハンドラを経由したtrampolineになってるのでスタックオーバーフローしない、が正しそう。
865 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 03:26:31.55 ID:gcJIUX06.net] >>851 末尾再帰の最適化がかからない言語は使うべきではないともレスがあったな。
866 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 05:37:16.57 ID:D8OEoYJf.net] >> 854 よく分かりませんが、ところで、あなたにレスを見て気になって、調べて初めて知りました。 Haskellって末尾再帰の最適化って無いんだね。 ずっと勘違いしてた。気付かせてくれてありがとう。
867 名前:デフォルトの名無しさん [2015/07/08(水) 06:38:51.11 ID:k4MH4D3R.net] >>855 >Haskellって末尾再帰の最適化って無いんだね TCOが無いんじゃなくて、あくまでサンクの問題。
868 名前:デフォルトの名無しさん [2015/07/08(水) 07:15:31.29 ID:asOwE27P.net] parsecとtrifectaは比較するようなものじゃないよ
869 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 08:22:34.09 ID:SmYj13jC.net] >>857 kwsk
870 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 08:29:06.72 ID:gcJIUX06.net] >>855 そもそも最適化が無い言語とはC言語のことで、Cは使うなHaskellを使えと言う話だったのだが。
871 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 08:53:04.13 ID:Hcg+sLDh.net] Haskellでサンクをインライン展開する最適化ってできるんじゃねえの サンクが末尾にあったらTCOと同じだろ
872 名前:デフォルトの名無しさん [2015/07/08(水) 09:03:37.61 ID:k4MH4D3R.net] >>860 できる。ghcなら-O2つければいい。
873 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 09:44:23.49 ID:gcJIUX06.net] そもそも、Cの関数呼び出しはアドレスを指定してジャンプ、ループは オフセットを指定してジャンプ程度の違いしかないので、インストラクションに 関しては大して違いが無いのだが。 どうもハスケラーは関係ないことを指摘して、「だから◯◯はダメだ」と言い出す 傾向が強い。
874 名前:デフォルトの名無しさん [2015/07/08(水) 10:56:59.54 ID:k4MH4D3R.net] そりゃTCO効いた後なら違いは殆どなくなるにきまってる。
875 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 11:02:57.48 ID:Mh0VppoT.net] 「そもそも、Cの関数呼び出しはアドレスを指定してジャンプ、ループは オフセットを指定してジャンプ程度の違いしかないので」 はあ???
876 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 11:10:43.42 ID:+0ZOrsx3.net] >>863 「TCO効いた後なら」同じだが、>>862 は「Cの関数呼び出し」と言ってるから Cも関数呼び出しもまったくわかってない。プログラムわからないんだったら出てくんな。
877 名前:デフォルトの名無しさん [2015/07/08(水) 11:28:35.90 ID:k4MH4D3R.net] >>865 まさかスタック積むことすらわかってないとかなんかね?
878 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 15:11:37.94 ID:TEEbED7E.net] 久しぶりにきたら荒れてるな Haskellは破壊的代入をしようとすると面倒なのがつらい。 巨大な1次元配列の任意の場所を参照しながら大量に書き換える処理とか 純粋性を保ったままやろうとすると凄いことになる。 *例えば画像データの一部に別の画像をmixするとか
879 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:24:24.26 ID:Eo9ZYfU/.net] >>866 スタックに引数、戻り値と積んでからジャンプするんだから、アドレスを渡す 関数ならスタックは積む必要が無い。 再帰してるんだから。 ハスケラはどうも自分は天才で自分以外は全員馬鹿と思い込む傾向がある。
880 名前:デフォルトの名無しさん [2015/07/08(水) 16:25:04.00 ID:Fj3AV/LF.net] 相変わらず殺伐としている。 いつものマウンティング合戦。
881 名前:デフォルトの名無しさん [2015/07/08(水) 16:26:57.55 ID:Fj3AV/LF.net] 多分、ハスケラではなくオカマラーだよ。 なぜかオカマちゃんが出没するのだ。
882 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:51:49.63 ID:TEEbED7E.net] ハスケラと一緒に仕事したい(自社製品を一緒につくりたい)けど 怖い人多そうで誘いづらい
883 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:09:26.71 ID:F0vddBGo.net] 「Cも関数呼び出しもまったくわかってない。プログラムわからないんだったら出てくんな。」 「まさかスタック積むことすらわかってないとかなんかね? 」 毎日こんなこと言われると思う。
884 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:22:12.92 ID:TEEbED7E.net] なにそれ怖い 製品完成する前に心折られそう
885 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:24:08.22 ID:g9xxt+x4.net] 「そもそも、Cの関数呼び出しはアドレスを指定してジャンプ、ループはオフセットを指定してジャンプ程度の違いしかないので」 とか 「スタックに引数、戻り値と積んでからジャンプするんだから、アドレスを渡す関数ならスタックは積む必要が無い。再帰してるんだから。」とか (しかもTCOの話をしてるのに)、本当にCも関数呼び出しもわかってない知ったかぶりがHaskellerを中傷してるだけ。 それ以上でもそれ以下でもない。
886 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:29:09.36 ID:TEEbED7E.net] 穏やかなハスケラいないかな 簡単なプログラムができる程度の初心者でもいいんだけど 一緒に自社製品つくりたい (ただし売上あるまで一緒に無給)
887 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:33:01.82 ID:3bDYKzqv.net] >>874 どうもハスケラーは関係ないことを指摘して、「だから◯◯はダメだ」と言い出す 傾向が強い。
888 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:34:43.10 ID:3bDYKzqv.net] 最後には「Javaの話ししてるのにJavascriptと勘違いしている」などと言い出しそうだな。
889 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:37:24.50 ID:ikFma15C.net] わかってないから馬鹿にされてるんじゃなくて、 わかってないのに自覚せず威張ってるから馬鹿にされてるんだが…。 そういう奴がいて、間違いを指摘すると逆ギレされる職場とか絶対嫌。
890 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:39:55.04 ID:coR9sNH7.net] 末尾呼び出し最適化は再帰だけじゃないよ
891 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:46:11.37 ID:TEEbED7E.net] 馬鹿にするのも逆ギレもよくないとおもう そしてこのスレが荒れるのも彼の呪いじゃないかとおもう もうそっとしておくのが一番いいとおもう
892 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:48:42.74 ID:3bDYKzqv.net] 「Cは再帰の最適化が無いから使うべきではない、Haskell使え」と言う話に、 Cは再帰の最適化が必要ないのに何言ってんの?と答えた。
893 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:54:30.07 ID:3bDYKzqv.net] Haskellの最適化って他の言語では必要ないものでしょ。 「遅延呼び出しによって必要のない計算を無くせるスゴイ!」 他の言語では最初から必要ない計算はしないからそんな最適化は必要ない。 自らゴミを持ち込んで 「ゴミを減らせたスゴイ!Cはゴミを減らせないから使うべきでない!」 とか言い出すのがハスケラー。
894 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:54:46.50 ID:jdKxxZpi.net] いろいろと誤解している気がする
895 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:02:40.05 ID:7bDc6WAX.net] まず、末尾再帰をループに変換する最適化は、CでもHaskellでも可能で、実際にGCCでもやってる。 それはさておき、Cではループを末尾再帰で書いたりしないから、そんな最適化はいらない、という意見もそれはそれでわかる。 末尾再帰使わないのに、末尾再帰最適化がないからダメ、なんて言ってる奴がいたらそいつがおかしいので具体的ソース希望。
896 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:11:09.96 ID:LC6Y88mm.net] 必死に藁人形作ってるだけだから構ったら駄目だよ 末尾再帰最適化を知ってて制御構文を知らないなんて そんな支離滅裂な馬鹿を前提としてる時点で察しろと
897 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:13:26.90 ID:7bDc6WAX.net] で、CでもHaskellでも、末尾呼び出し最適化されていない普通の関数呼び出しは、 戻り番地や、まだ使う変数をセーブしておくためにスタックを消費する。 (引数渡しにスタックを使うこともあるけど、そうでなくても) (再帰でも、再帰でなくても)末尾呼び出しの場合、そのセーブが不要なので、 ただのジャンプ(と引数のセット)だけに最適化できる。 この最適化は関数型言語の処理系では普通は実装されている。 Cでも全くできないことはないと思うが、いろいろ面倒そうなので やってるコンパイラは寡聞にして知らない。
898 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:14:38.28 ID:3bDYKzqv.net] >>884 変換する最適化という言い方が、ハスケラーっぽいなあ。 Cは積む必要のないものは積まないんだから。 スタックに何も積まなければループも関数呼び出しも大した違いは無い。 そういうわけでこれからは、最適化しないと使い物にならないHaskellと考えていただこう。
899 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:14:42.05 ID:7bDc6WAX.net] >>885 スマソ。何となくちゃんと説明しないと俺の気が済まなかった。
900 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:17:33.59 ID:7bDc6WAX.net] (末尾呼び出し最適化されていない)関数呼び出しでスタックに積むものはCでもHaskellでも同じ。 戻り番地と、生きている変数と、レジスタに入りきらない引数。
901 名前:デフォルトの名無しさん [2015/07/08(水) 18:27:23.28 ID:Fj3AV/LF.net] マウンティングする奴は、マウンティングすることが目的だから、生産性は 低い。学者さんに多いタイプ。アカハラ怖い。
902 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:27:27.64 ID:LC6Y88mm.net] >>887 ???? Cもfastcallじゃない限り戻りアドレス積むよ
903 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:28:15.90 ID:LC6Y88mm.net] しまった同じやつだった…
904 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:39:15.89 ID:2M74HMLS.net] 馬鹿とは議論するな。傍目にはどちらが馬鹿か判りにくい
905 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:50:26.80 ID:7bDc6WAX.net] 本当に混乱してる人もいるかもしれないし、説明のまとめだけ… 884 :デフォルトの名無しさん:2015/07/08(水) 18:02:40.05 ID:7bDc6WAX まず、末尾再帰をループに変換する最適化は、CでもHaskellでも可能で、実際にGCCでもやってる。 それはさておき、Cではループを末尾再帰で書いたりしないから、そんな最適化はいらない、という意見もそれはそれでわかる。 末尾再帰使わないのに、末尾再帰最適化がないからダメ、なんて言ってる奴がいたらそいつがおかしいので具体的ソース希望。 886 :デフォルトの名無しさん:2015/07/08(水) 18:13:26.90 ID:7bDc6WAX で、CでもHaskellでも、末尾呼び出し最適化されていない普通の関数呼び出しは、 戻り番地や、まだ使う変数をセーブしておくためにスタックを消費する。 (引数渡しにスタックを使うこともあるけど、そうでなくても) (再帰でも、再帰でなくても)末尾呼び出しの場合、そのセーブが不要なので、 ただのジャンプ(と引数のセット)だけに最適化できる。 この最適化は関数型言語の処理系では普通は実装されている。 Cでも全くできないことはないと思うが、いろいろ面倒そうなので やってるコンパイラは寡聞にして知らない。 889 :デフォルトの名無しさん:2015/07/08(水) 18:17:33.59 ID:7bDc6WAX (末尾呼び出し最適化されていない)関数呼び出しでスタックに積むものはCでもHaskellでも同じ。 戻り番地と、生きている変数と、レジスタに入りきらない引数。 👀 Rock54: Caution(BBR-MD5:405b7f1af0f5a85b432d79fa769e9aeb)
906 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:00:46.58 ID:Hcg+sLDh.net] ループを無くす理由の一つはnullを無くしたかったから nullは不要 → 初期化と代入の区別が必要 → 面倒だから代入も不要 → ループも不要
907 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:03:01.21 ID:7bDc6WAX.net] じゃあ、そもそもなんでループをわざわざ末尾再帰で書くの?という疑問は当然だけど、 ループで書くと破壊的代入が必要になるから、関数的に書くと自然に末尾再帰になる。 なので関数型プログラミングをするなら末尾再帰最適化は必須だし、 実際に(再帰以外の末尾呼び出しの最適化も)まともな処理系はみんな実装してる。 関数型言語では必須かつ簡単な最適化なので。
908 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:04:06.48 ID:7bDc6WAX.net] >>895 すまん前後した
909 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 20:23:51.51 ID:oVqSZ92L.net] >>886 vcは引数が全く同じ関数の末尾呼び出しをgotoにするよ。
910 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 20:46:18.84 ID:7bDc6WAX.net] >>898 「引数が全く同じ」ってことは、末尾再帰だよね? 末尾再帰は>>884 にあるとおりGCCも(引数が違っても)最適化してる。 >>886 は再帰以外の末尾呼び出しの話だった。 一続きだったんだが、独立して読むと明示されてないね。 >>894 でまとめて読んでくれ。すまん。
911 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:36:48.90 ID:oVqSZ92L.net] >>899 いいや、tail callだよ。
912 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:53:06.86 ID:TEEbED7E.net] VSにHaskell用プラグインを組み込むプロジェクト進んでるのかな? マジで早く使いたいんだけど
913 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 23:02:56.60 ID:zrPw7vNx.net] ここまでを簡単に解説すると、ハスケラはシッタカブラー。
914 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 23:32:53.31 ID:oVqSZ92L.net] >>899 ほらよ。 int foo(char *, int); int bar(char *a, int b) { return foo(a + 10, b - 10); } _bar PROC ; COMDAT mov eax, DWORD PTR _b$[esp-4] add eax, -10 ; fffffff6H mov DWORD PTR _b$[esp-4], eax add DWORD PTR _a$[esp-4], 10 ; 0000000aH jmp _foo
915 名前:899 mailto:sage [2015/07/09(木) 05:48:11.05 ID:KPxfvpRW.net] >>903 おお! 「引数が全く同じ」って、値じゃなくて、数や型が同じってことね。サンクス。 逆に、なんで引数の数や型が同じじゃないといけないの? スタックポインタの調整が面倒だから?
916 名前:899 mailto:sage [2015/07/09(木) 05:57:34.42 ID:KPxfvpRW.net] いつのまにかGCCも末尾再帰じゃない末尾呼び出し最適化もやってた。引数の数や型が違っても。 Cでも需要があるのかな。 extern int foo(int); int bar(char *a) { return foo(10); } bar: .LFB0: .cfi_startproc movl $10, %edi jmp foo .cfi_endproc
917 名前:899 mailto:sage [2015/07/09(木) 06:13:19.89 ID:KPxfvpRW.net] www.drdobbs.com/tackling-c-tail-calls/184401756 にGCCがTCOする条件が解説されてた。Cだとややこしいけど需要はあるらしい。 連投&スレ違い失礼しますた。
918 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 06:35:27.16 ID:OEKsJpEx.net] >>904 >「引数が全く同じ」って、値じゃなくて、数や型が同じってことね。サンクス。 再帰で値が同じならそれは無限再帰と呼ばれる。 >逆に、なんで引数の数や型が同じじゃないといけないの? スタックポインタの調整が面倒だから? 引数の個数はcalleeではわからないから、面倒ではなく、出来ない。
919 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 08:19:53.49 ID:e+1UNYHr.net] >>907 >再帰で値が同じならそれは無限再帰と呼ばれる。 Cだと副作用でメモリの中身が変わってるかもしれない >引数の個数はcalleeではわからないから、面倒ではなく、出来ない。 Cだと同じ関数の型の見え方がcallerとcalleeで違ったりするからね。 >>906 みたく条件緩和できるがなかなかややこしい
920 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 09:12:59.14 ID:LXpNU/xq.net] >>901 VSの色んな機能を使えるなら欲しいけど、vimやemacsのプラグインと同じ事しか出来ないならいらん
921 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 10:48:24.29 ID:h1Dw9jX8.net] デバッガ観点で言うと末尾呼び出しの最適化されると バックトレースが不正確になるのでやっかい 大規模な開発ではあえて無効にされることもあるよ
922 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 10:56:32.05 ID:sAbBvj66.net] >>909 使えないの・・・?(´・ω・`) 詳細しらないけどきっと使えるんじゃね? VSのデバッガ使いたい
923 名前:デフォルトの名無しさん [2015/07/10(金) 07:10:09.65 ID:0h1M+LeE.net] CSS使えない奴よりマシ
924 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 10:31:36.54 ID:j3g7NrlE.net] (A -> R) -> R は継続モナドになるわけだが、 R -> A や A -> R もモナドにできるの?
925 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 11:04:46.48 ID:XOUMSF+T.net] CSSいらない >>913 m (r -> a) m (a -> r) モナドにしたったで
926 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 12:28:35.80 ID:j3g7NrlE.net] >>914 returnと>>=はそれぞれどうなるの?
927 名前:デフォルトの名無しさん [2015/07/10(金) 13:29:21.43 ID:NSmmAGhS.net] >>915 つうか (-> R A)と(-> A R)で普通に関数モナドな。 return = const (>>=) f g = ¥x -> g ( f x ) x
928 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 13:50:04.51 ID:j3g7NrlE.net] (-> R A)はそれで分かったが、 (-> A R)のreturnと>>=は?
929 名前:デフォルトの名無しさん [2015/07/10(金) 16:23:11.40 ID:NSmmAGhS.net] >>917 >(-> R A)はそれで分かったが、 >(-> A R)のreturnと>>=は? あたま大丈夫?
930 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 18:30:43.38 ID:j3g7NrlE.net] は?
931 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 19:04:13.42 ID:l6c5ofse.net] たしかにあたま大丈夫じゃないリスクはゼロではないが、自動車より安全だ そして、自動車より安全と発言した人間が狂っていると断言できる者はあまり多くない
932 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 23:42:39.10 ID:ucCSbhAH.net] >> 919 Rが具体的な型で、Aがなんでもいい型、って言いたいわけだね。 (A -> R) はモナドにならないよ。というか、Functor(共変関手)にならない。 代わりにContravariant(反変関手)になる。 newtype Op a b = Op { getOp :: b -> a } instance Contravariant (Op a) where contramap f g = Op (getOp g . f) (以上contravariantパッケージより) 共変関手にならない理由は、このサイトがわかりやすい。 kinokkory.hatenablog.com/entry/20131203/p1
933 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 09:25:20.24 ID:6sFnysGr.net] >>921 ありがと。 M(A)がモナドになる条件を簡単に言えるのかな?
934 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 09:30:00.73 ID:S9PAD2xf.net] Emacs使いはflycheckが便利そう https://github.com/flycheck/flycheck 既出ならスマソ
935 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 09:42:11.42 ID:Yc/lws0v.net] Cloud Haskellというものを知ったのですが こういったノード間通信ライブラリを使ってる方がいたら バリエーションや感触を教えてもらえないでしょうか もしくはベタに書いたほうがいいでしょうか
936 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 11:24:25.49 ID:aYDDmLdu.net] 単体のライブラリの質は人気に比例する気がする でもフレームワークや統合環境は質より量でごまかせるから人気はどうでもいい
937 名前:922 mailto:sage [2015/07/11(土) 13:00:32.09 ID:6sFnysGr.net] >>921 教えてもらったサイトの「正の位置・負の位置」で解決しました
938 名前:デフォルトの名無しさん [2015/07/11(土) 15:05:57.90 ID:8xsgKabx.net] 岡部健の新作が来たゾ〜
939 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 15:12:01.82 ID:V/wpM/3h.net] あの人はなんでブログの記事まで作って個人に対して反論してるんだろうね 反論記事って言い合いを面白がってみてる人以外には何の得もない気がするんだけどなあ
940 名前:デフォルトの名無しさん [2015/07/11(土) 16:20:10.41 ID:obYDcaZK.net] Haskellは仕事で使える? 使えるとどうなる?教えて
941 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 16:44:05.06 ID:aYDDmLdu.net] もし仕事で使えると、無料で色々教えるのが勿体無くなる
942 名前:デフォルトの名無しさん [2015/07/11(土) 16:46:52.16 ID:obYDcaZK.net] どういう時に使う?教えて詳しく
943 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 20:42:56.70 ID:/RrsVJlS.net] そりゃ自分のタスクを自動化するのに使うんだろと
944 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 22:25:31.98 ID:6sFnysGr.net] >>921 やっぱり自分はアホだった。全然分かっていなかった。 ファンクターにはなるがモナドにはならないものがあるはずだが、 その例が作れん
945 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 00:46:11.12 ID:KOjB2nQF.net] x^n+y^m=z^r 解は存在するか.だれも解けないといわれたビール予想 解けた方だけどうぞ ttp://blog.livedoor.jp/superprojectx/archives/1030198512.html
946 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 0
] [ここ壊れてます]
947 名前:z0K.net mailto: HaskellのガベコレシステムってJavaのそれよりかなりショボいらしいじゃん [] [ここ壊れてます]
948 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 06:13:49.33 ID:/rMkRh/q.net] Haskell処理系のGCよく知らないけど、moving GCでも良いし 破壊的代入がなければwrite barrierもいらないから Haskellのほうが簡単というだけじゃなくて?>ガベコレ Javaは旧SunやIBMががんばった結果、細かい最適化はされてるだろうけど。
949 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 08:26:42.75 ID:zJqA9jr9.net] 科学的根拠もなくただショボいという意見は参考にならない もうJavaは無視してC++のようにGCショボいけど速いやつを参考にしよう
950 名前:デフォルトの名無しさん [2015/07/12(日) 11:00:37.13 ID:AGKmbBWc.net] C++はGCショボいというよりない。。 ということでrustやろうぜ!
951 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 11:10:50.31 ID:s7w6GHZY.net] RustもGCないじゃん
952 名前:デフォルトの名無しさん [2015/07/12(日) 11:44:20.38 ID:fsP2XOSV.net] >>939 RCあるぞ。
953 名前:デフォルトの名無しさん [2015/07/12(日) 12:48:25.98 ID:KGquBeD3.net] Haskellでどんな作業を効率化できますか? 一例を教えて下さい
954 名前:デフォルトの名無しさん [2015/07/12(日) 12:52:34.01 ID:fsP2XOSV.net] 型のついた構文木の操作
955 名前:デフォルトの名無しさん [2015/07/12(日) 13:07:29.47 ID:KGquBeD3.net] お前らがこんなことやってるより ストリーミングサイト作ったCavetube管理人のほうがすごいんだよなぁ
956 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 13:26:20.29 ID:kel+atw2.net] 誰々より誰々が凄いとかどーでもいいじゃん。 そんなの気にするより、そいつらのソース参考にするとかして Haskell を楽しんだ方が何倍も有意義だよ。
957 名前:デフォルトの名無しさん [2015/07/12(日) 13:33:21.56 ID:rAeLMId1.net] >>938 GCサポートは付いてるけどな。 RAIIで設計するとGCは遅くなるだけであまり意味ないから誰も使わないな。
958 名前:デフォルトの名無しさん [2015/07/12(日) 15:30:30.95 ID:ryFHmMNk.net] Cavetubeってなんですか
959 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 20:10:37.89 ID:abu6RaU0.net] 宣伝だろ
960 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 20:16:28.54 ID:bkprvq+c.net] Darcsはなぜgitに敗れたのか
961 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 21:16:22.96 ID:uwDfGRH4.net] HaskellはC言語で作ったライブラリをラップしてばかりだから、そもそもC言語製品に勝てるはずがなかった
962 名前:デフォルトの名無しさん [2015/07/12(日) 21:17:29.74 ID:fsP2XOSV.net] それは普通に正しい使い方なんだが。 最初からCと競合するような言語じゃない。
963 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 22:05:39.58 ID:zJqA9jr9.net] Cと競合しないならバイトコードインタプリタで十分 コンパイラのゴリ押しが良くない
964 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 22:06:55.79 ID:x1Gu8TTq.net] 既存の大量にあるCライブラリを利用しやすいかは大事なポイント
965 名前:デフォルトの名無しさん [2015/07/12(日) 22:18:58.68 ID:fsP2XOSV.net] >>951 >Cと競合しないならバイトコードインタプリタで十分 >コンパイラのゴリ押しが良くない 意味がわからん。 LLVMコードを出力するのとコンパイラとの境界ってなによ
966 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 22:24:58.59 ID:s7w6GHZY.net] >>940 RCをGCというならC++にもGCあるだろ
967 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 22:42:25.31 ID:bkprvq+c.net] JavaとかCは、明らかに駄目な応用先でも上の意向等で使わざる得ないことあるけどHaskell とかlispはそういうこと滅多にないでしょ
968 名前:デフォルトの名無しさん [2015/07/12(日) 22:43:02.61 ID:fsP2XOSV.net] >>954 その理解で何の問題もないと思うが。 RCがGCの主要実装方法のひとつだという点まで争いたいの?
969 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 22:47:38.71 ID:7yEOwALs.net] 明確な目的や条件を設定せずに やたら言語の優劣をつけたがる奴は まともな開発経験も知識も能力もない アホだと断定していいだろ。
970 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 23:08:59.10 ID:bkprvq+c.net] JavaやCとHaskell の単純な比較はできない
971 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 23:48:11.69 ID:s7w6GHZY.net] >>956 >>938 がC++はGCないからRustやろうぜとか言ってたんですよ
972 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 23:48:45.86 ID:zJqA9jr9.net] >>953 バイトコードを外部に出力する機能があったら仕様変更の影響が外部に伝播するから その機能が無くても十分なら無い方が良いってこと
973 名前:デフォルトの名無しさん [2015/07/12(日) 23:53:56.51 ID:fsP2XOSV.net] >>959 なるほど。 Rustのリージョナルポインタによるメモリ管理を GCと間違えたんだろうな。
974 名前:デフォルトの名無しさん [2015/07/13(月) 00:22:31.58 ID:FwNm1COs.net] Java ビジネス C 組み込み こういう風になっています。 富豪プログラミングが出来る所でCを使う必要性はあまり無い。
975 名前:デフォルトの名無しさん [2015/07/13(月) 00:58:02.40 ID:QeuWC4Dg.net] >>961 いやrustにGCがないのは知ってる
976 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 02:59:06.50 ID:6i7dJOia.net] Rustなんて放り投げてATSやろうぜ!
977 名前:デフォルトの名無しさん [2015/07/13(月) 07:50:41.60 ID:Ml9NNXKo.net] >>963 だからRCあるだろうが!
978 名前:デフォルトの名無しさん [2015/07/13(月) 08:16:40.56 ID:5ZThykAi.net] 毛はキータで相変わらず行間が読めないから、 RSSじゃなくて毛自身がコメ書いてる事を自分でバラす事になるんだな(笑)
979 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 10:09:26.25 ID:gqfr1aBw.net] Haskell流行って長いけどなんか実用になるような成果でた?
980 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 10:57:00.94 ID:cCxFevQ1.net] 型のついてない成果を型のついた成果に翻訳できる 右から左に流すだけの虚業のように見えるのは仕方ない
981 名前:デフォルトの名無しさん [2015/07/13(月) 11:18:47.64 ID:Ml9NNXKo.net] 普段から業務に使ってる人間からすると意味不明な問いだ。
982 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 11:35:14.43 ID:UsYUluT9.net] 「プログラム」の何たるかを 丸っきり分かってない一部のバカにとっては、 「一般ユーザが利用可能なパッケージソフト」だけが 「実用的な成果物」なんだろ。
983 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 12:24:32.84 ID:O7974LG1.net] Haskell がパッケージソフトの作成に向いていないのは何故?
984 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 13:38:57.82 ID:tAtIl5MT.net] Javaなんて何のメリットもないのに使わざる得ない時があるのが謎
985 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 13:40:49.84 ID:cCxFevQ1.net] exeの作成は問題ないがdllの作成に向いているのはCしかない C++でさえdllの作成に向いていない
986 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 15:07:15.86 ID:6ctAAsGS.net] エンタープライズ系のアプリケーションでは最適解のひとつだから 仕方がない。 >>962 のとおり。
987 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 18:30:29.23 ID:htwOfG4r.net] C は実用というよりは、もう教養の部類だからね‥ C がわからないようでは、そいつの言うことは信用できない builder.japan.zdnet.com/script/sp_c-programming-language/20370255/
988 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 19:05:07.18 ID:xmoiVj3U.net] >>538 特定言語を知らん事を根拠にした レッテリングにはあんまり賛同できないな。
989 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 19:27:16.94 ID:9wI4712X.net] windows7でhaskellplatform使ってるんですが、 Data.HashTableが入ってないようなので cabal install hashtablesして、成功したのですが 未だにimport Data.HashTableで失敗します。 何がいけないのでしょうか?
990 名前:デフォルトの名無しさん [2015/07/13(月) 19:50:15.17 ID:Ml9NNXKo.net] >>977 >Data.HashTable Data.HashTableならbaseパッケージに入ってるんで、 hashtables要らないよ。 hashtables使うならData.HashTable.ST.Basicとか Data.HashTable.ST.Cuckooをimportしないと。 多分どこかでなんか勘違いしてると思う。
991 名前:デフォルトの名無しさん [2015/07/13(月) 19:56:02.53 ID:Ml9NNXKo.net] って、base-4.8からData.Hashtableなくなったのか〜 hashtables入れて import Data.HashTabl.IO でいいんじゃないかな。
992 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 20:11:29.72 ID:Ml9NNXKo.net] いちおうミニマルなサンプル {-# LANGUAGE ScopedTypeVariables #-} module Main where import Data.HashTable.IO as H type HashTable k v = H.CuckooHashTable k v main = do (h::HashTable Int String) <- fromList [(1,"tata"),(2,"titi"),(3,"toto")] insert h 4 "tete" l <- toList h print l
993 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 21:15:03.79 ID:6helnrAX.net] ありがとうございます! 動作確認まだ出来てませんが、何とか先に進めそうです!
994 名前:デフォルトの名無しさん [2015/07/14(火) 14:33:35.00 ID:d1S9qbgP.net] reduce関数やrange関数やmap関数は、命令型のループでしか書けないことをわかってな奴が居るな。 ノイマン型コンピュータというハードウェアは究極的には命令型でしか動作しない。 関数型の機械語なんて存在しない。 ここ、重要ね。反論はないと思うけど
995 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 14:35:07.84 ID:Bu3+R9wf.net] >>982 だからなに?
996 名前:デフォルトの名無しさん [2015/07/14(火) 15:11:21.95 ID:GNUjvMWE.net] 言ってみたかっただけ
997 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 15:22:11.58 ID:RRB/2bWF.net] >>982 関数型プログラマならBackusのCan programming be liberated from the von Neumann style?くらい読んでるわよ! バカにしないでくれる!?
998 名前:デフォルトの名無しさん [2015/07/14(火) 15:26:34.91 ID:lfdsryMV.net] 極限まで高めた並列性が最高性能を引き出す・・・Haskellで書かれたプログラミンは・・神! 一万を超えるメニーコアが・・・Haskellは・・・神! などと宣伝しすぎたから言われるんじゃないの。 結局速くなってないし。
999 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 15:57:28.35 ID:krmtTpmZ.net] 宣伝には金がかかる その金を汚いと思うかどうかは自由だが少なくとも金をかけてないやつは潔白だろ 関係ないやつを巻き込むなよ
1000 名前:デフォルトの名無しさん [2015/07/14(火) 16:16:14.81 ID:lfdsryMV.net] 速くなってない・・・騙された・・・Haskell死ね! と思う人がいても不思議じゃないだろ。 宣伝しすぎたんだよ。
1001 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 16:18:10.13 ID:Bu3+R9wf.net] そんなに宣伝されてたの?
1002 名前:デフォルトの名無しさん [2015/07/14(火) 16:44:47.28 ID:lfdsryMV.net] そうだねえ。 チラシお断りと貼ってあるのに、ドンドン入れていく感じだね。 Haskellの宣伝がひどいので、コメント欄を無くしたブログも多かったんだよ。 そこまで宣伝したのに、宣伝されたことが全然実現されていないからね。 宣伝では5億並列で一ナノ秒以下を実現とか平気で言ってたからね。 もともと無理だったんだよ。
1003 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 17:50:31.44 ID:Bu3+R9wf.net] >>990 どこの世界のお話ですか? 君の中の平行世界?
1004 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 18:47:54.12 ID:JhU5Z9W0.net] >>982 >reduce関数やrange関数やmap関数は、命令型のループでしか書けないことをわかってな奴が居るな。 >ノイマン型コンピュータというハードウェアは究極的には命令型でしか動作しない。 >関数型の機械語なんて存在しない。 >ここ、重要ね。反論はないと思うけど データフローマシンのような非ノイマン型アーキテクチャとか長年試作されてきたし 最近もReduceronはじめFPGAでグラフ書換プロセッサが実装されてるわけだが、 なにを根拠に「存在しない」とか言ってるのこのひとは?
1005 名前:デフォルトの名無しさん [2015/07/14(火) 19:33:26.76 ID:X8vX3uS6.net] 次スレ peace.2ch.net/test/read.cgi/tech/1436869629/
1006 名前:デフォルトの名無しさん mailto:sageteoff [2015/07/14(火) 19:48:07.17 ID:V8pOZFXs.net] 次スレは当スレの約17時間後に立った下記重複スレを、実質Part29として活用しましょう。 当スレのレス数が1000になるまでは当スレを、それ以後は下記スレをご利用ください。 >>993 のスレは(残っていれば)実質Part30として使います。 (実質Part29) 関数型プログラミング言語Haskell Part28 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1428597032/
1007 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 20:33:29.57 ID:9t3W2eIV.net] HaskellとErlangの並列性能のベンチマークあったけどボロ負けでしたよ https://github.com/worksap-ate/demo/blob/master/Cloud-Haskell.md
1008 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 00:18:57.00 ID:jeRkgPlX.net] 趣味でしか触ってなくて、python をやってから haskell に来たのでそれはもう僕からしたら haskell は素敵に速いのです
1009 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 00:51:31.43 ID:HWtOn7Kk.net] オブジェクト指向 アクターモデル インターネット 圏論 集合論 非ノイマン型はどれですか? 全部ですか?
1010 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 01:10:17.43 ID:x7KlsBjr.net] >>997 そもそもそれらのどこにコンピュータ・アーキテクチャが 含まれているのか教えてくれ。
1011 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 04:12:42.40 ID:WlnCwIoX.net] いまだ役たたず
1012 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 04:18:56.45 ID:meQVGR7r.net] >>1000
1013 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
1014 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています