関数型プログラミング言語Haskell Part28 [転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2015/04/09(木) 08:31:01.42ID:4yjREsCN,.-―: ̄`ー::::::::::、
/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/ < 毛の壁(岡部健)の話は禁止な
、:::::.. /:::; .,-、 l:::/、
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
haskell.org (公式サイト)
http://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part27
http://peace.2ch.net/test/read.cgi/tech/1420718555/
0002デフォルトの名無しさん
2015/04/09(木) 08:33:16.96ID:4yjREsCN(英語)
Haskell - Wikibooks, open books for an open world (ページ内に内容をまとめたPDFあり)
http://en.wikibooks.org/wiki/Haskell
Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版)
http://learnyouahaskell.com/chapters
Real World Haskell (同名書籍の無料オンライン版)
http://book.realworldhaskell.org/read/
(以下、日本語)
Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
http://www.haskell.org/haskellwiki/Haskell%E5%85%A5%E9%96%80_5%E3%82%B9%E3%83%86%E3%83%83%E3%83%97
Haskell - Wikibooks (先述Wikibooksの日本語版。未編集の項目、多)
http://ja.wikibooks.org/wiki/Haskell
Programming in Haskell
http://www.sampou.org/cgi-bin/haskell.cgi
Haskell のお勉強
http://www.shido.info/hs/
Haskell Programming
http://www.geocities.jp/m_hiroi/func/haskell.html
本物のプログラマはHaskellを使う:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/
0003デフォルトの名無しさん
2015/04/09(木) 08:34:30.02ID:4yjREsCNKeyword = "Haskell"
(米) http://www.amazon.com/s/rh=n:283155,n:3839,k:Haskell
(日) http://www.amazon.co.jp/s/rh=n:492352,k:Haskell
Keyword = "functional programing" (米) | "関数 プログラミング" (日)
(米) http://www.amazon.com/s/rh=n:283155,n:3839,k:functional%20programing
(日) http://www.amazon.co.jp/s/rh=n:492352,k:%E9%96%A2%E6%95%B0%20%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&ie=UTF8
----
0004デフォルトの名無しさん
2015/04/09(木) 08:52:46.19ID:6OGmwsxh0005デフォルトの名無しさん
2015/04/09(木) 12:37:43.43ID:SXMrA4Viはしゃいでるだけだよ
0006デフォルトの名無しさん
2015/04/09(木) 18:23:19.49ID:M2ohLgg+0007デフォルトの名無しさん 転載ダメ©2ch.net
2015/04/10(金) 00:05:35.97ID:rXOjr/Cy以下でまとめて書き改めておきます(>>3はそのまま使用)。
0008デフォルトの名無しさん 転載ダメ©2ch.net
2015/04/10(金) 00:06:42.77ID:rXOjr/Cyhaskell.org (公式サイト)
https://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part27
http://peace.2ch.net/test/read.cgi/tech/1420718555/
0009デフォルトの名無しさん 転載ダメ©2ch.net
2015/04/10(金) 00:11:18.13ID:rXOjr/Cy26) http://peace.2ch.net/test/read.cgi/tech/1406436392/
25) http://peace.2ch.net/test/read.cgi/tech/1393313450/
24) http://toro.2ch.net/test/read.cgi/tech/1382705669/
23) http://toro.2ch.net/test/read.cgi/tech/1376111807/
22) http://toro.2ch.net/test/read.cgi/tech/1364009659/
21) http://toro.2ch.net/test/read.cgi/tech/1358702176/
20) http://toro.2ch.net/test/read.cgi/tech/1350428908/
19) http://toro.2ch.net/test/read.cgi/tech/1340760070/
18) http://toro.2ch.net/test/read.cgi/tech/1331902463/
17) http://toro.2ch.net/test/read.cgi/tech/1325510368/
16) http://toro.2ch.net/test/read.cgi/tech/1317958045/
15) http://hibari.2ch.net/test/read.cgi/tech/1310199414/
14) http://hibari.2ch.net/test/read.cgi/tech/1299385928/
13) http://hibari.2ch.net/test/read.cgi/tech/1286706874/
12) http://hibari.2ch.net/test/read.cgi/tech/1272536128/
11) http://pc12.2ch.net/test/read.cgi/tech/1252382593/
10) http://pc12.2ch.net/test/read.cgi/tech/1231861873/
09) http://pc11.2ch.net/test/read.cgi/tech/1211010089/
08) http://pc11.2ch.net/test/read.cgi/tech/1193743693/
07) http://pc11.2ch.net/test/read.cgi/tech/1174211797/
06) http://pc11.2ch.net/test/read.cgi/tech/1162902266/
05) http://pc8.2ch.net/test/read.cgi/tech/1149263630/
04) http://pc8.2ch.net/test/read.cgi/tech/1140717775/
03) http://pc8.2ch.net/test/read.cgi/tech/1076418993/
02) http://pc2.2ch.net/test/read.cgi/tech/1013846140/
01) http://pc.2ch.net/tech/kako/996/996131288.html
0010デフォルトの名無しさん 転載ダメ©2ch.net
2015/04/10(金) 00:14:16.42ID:rXOjr/Cy(英語)
Haskell - Wikibooks, open books for an open world (ページ内に内容をまとめたPDFあり)
http://en.wikibooks.org/wiki/Haskell
Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版)
http://learnyouahaskell.com/chapters
Real World Haskell (同名書籍の無料オンライン版)
http://book.realworldhaskell.org/read/
(以下、日本語)
Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
https://wiki.haskell.org/Haskell%E5%85%A5%E9%96%80_5%E3%82%B9%E3%83%86%E3%83%83%E3%83%97
Haskell - Wikibooks (先述Wikibooksの日本語版。未編集の項目、多)
http://ja.wikibooks.org/wiki/Haskell
Programming in Haskell
http://www.sampou.org/cgi-bin/haskell.cgi
Haskell のお勉強
http://www.shido.info/hs/
Haskell Programming
http://www.geocities.jp/m_hiroi/func/haskell.html
本物のプログラマはHaskellを使う:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/
[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!
http://gihyo.jp/dev/feature/01/functional-prog
0011デフォルトの名無しさん 転載ダメ©2ch.net
2015/04/10(金) 00:28:02.86ID:rXOjr/Cyなお、>>9-10は(一部の専ブラを除き)URLがリンク化されていないと思いますが、2ちゃんねるの
新規制で1レス内の外部リンク数が制限されるようです(スレ立ての場合を除く?)。そこで当該URLの
一部分に数値文字参照を用いて回避したための産物です。ご了承を。
0012デフォルトの名無しさん
2015/04/10(金) 03:29:01.19ID:KZNYLMbmhttp://peace.2ch.net/test/read.cgi/tech/1428597032/
0013デフォルトの名無しさん
2015/04/10(金) 06:51:05.28ID:CIf+UAaHすごいhaskell本のp140 7章 木を植えよう の
treeInsert関数が 型引数a と 引数xを比較してるように見えるんだけど
haskell初心者の自分にしては意味不明なんだけど
どういう事なんだ。。。
0014デフォルトの名無しさん
2015/04/10(金) 07:05:02.76ID:ZILiwe6J0015デフォルトの名無しさん
2015/04/10(金) 12:09:31.13ID:tgPQdxTNなんか、脳内の関数型コミュニティーと戦っとる
0016デフォルトの名無しさん
2015/04/10(金) 12:31:20.47ID:ff5t5Whlaは型引数じゃなくてパターンマッチで用いてる方だと思われ
treeInsert x (Node a left right)
のa
0017デフォルトの名無しさん
2015/04/10(金) 13:04:40.10ID:C/bkXAcX0018デフォルトの名無しさん
2015/04/10(金) 13:18:21.19ID:y7KG2L/p開いた口が塞がらない。
0019デフォルトの名無しさん
2015/04/10(金) 13:18:42.90ID:apwty0cJ0020デフォルトの名無しさん
2015/04/10(金) 13:50:13.44ID:R8l9PNq/>>13
そう見えて紛らわしいのでyに読み替えていい
0021デフォルトの名無しさん
2015/04/10(金) 15:25:29.23ID:iRFxon+yちゃんと見てる人は見てるし、世界クラスにもなると岡部氏の記事が容易に理解できるんだろうね。
0022デフォルトの名無しさん
2015/04/10(金) 15:27:33.90ID:iRFxon+y岡部氏のような創造には至らない
0023デフォルトの名無しさん
2015/04/10(金) 19:43:04.83ID:/T7b06achttp://qiita.com/sct/items/44ed6fedb3c315e80705
0024デフォルトの名無しさん
2015/04/10(金) 20:59:25.97ID:JUcvVYvqHaskellは最先端の計算機理論にもとづいた
システム開発の効率化とプログラムの自動生成および
プログラムの標準化を実現する高機能な関数型言語です
・高速で高信頼性
コンパイル型言語のため高速なデータ処理が行え
型安全なため信頼性の高いプログラムが生成できます。
これによりシステムの信頼性・整合性が向上します。
さらに保守フェーズにおける効率化も実現します
0025デフォルトの名無しさん
2015/04/10(金) 21:00:15.54ID:JUcvVYvq処理ではなくデータに対して注目し
どのように処理したいのか宣言的に記述を行います。
これにより設計書ベースでの業務プログラム開発を行う環境を提供します。
・ダウンサイジングへの対応
ホストコンピュータ、オフィスプロセッサだけでなく
UNIXマシンを実行環境とするソフトウェア開発が行える開発環境を実現できます
これにより異なるOSへのソフトウェア移植も容易に行えます
・業務に最適化した記述
単一の言語にて各種の業務に合わせた専用の記述形式を用意できるため
旧来の基幹システム開発のジェネレータ言語で問題になっていた
実際の業務との不整合のための非効率な作業を排除できます
0026デフォルトの名無しさん
2015/04/10(金) 21:03:34.25ID:dP0/e/so0027デフォルトの名無しさん
2015/04/10(金) 21:09:22.58ID:JpfDZLA20028デフォルトの名無しさん
2015/04/10(金) 21:18:45.46ID:JUcvVYvqCOBOL風のDSLを書けばすべて解決するな!
0029デフォルトの名無しさん
2015/04/11(土) 00:32:26.25ID:yKCF81vSこの本がテンプレに入ってないとかにわかの集まりかよここ
0030デフォルトの名無しさん
2015/04/11(土) 00:50:21.52ID:EIYF0vjBこういう紹介されるとすげーつまんなそう聞こえるなw
0031デフォルトの名無しさん
2015/04/11(土) 00:55:28.45ID:QE/0qqyV0032デフォルトの名無しさん
2015/04/11(土) 02:29:30.13ID:tV+Qw8l4http://peace.2ch.net/test/read.cgi/tech/1428597032/
0033デフォルトの名無しさん
2015/04/11(土) 05:25:12.70ID:3ysa7CQc0034デフォルトの名無しさん
2015/04/11(土) 14:47:55.18ID:7QTRUsgmhttp://www.amazon.co.jp/dp/4798043761/
名著の予感
0035デフォルトの名無しさん
2015/04/11(土) 15:12:12.25ID:OMIW7dLXjavascriptスレに貼りなよ
0036デフォルトの名無しさん
2015/04/11(土) 17:35:37.54ID:BHEErXA40037デフォルトの名無しさん
2015/04/12(日) 12:14:23.85ID:1ufa80Mz0038デフォルトの名無しさん
2015/04/12(日) 12:31:57.57ID:ZMVnoNXo0039デフォルトの名無しさん
2015/04/12(日) 17:48:53.46ID:c/eluCW1公式HP見たが、結局何をするものなのかよう分からんかった。
Haskellで作られたアプリケーション専用のインストーラ?
0040デフォルトの名無しさん
2015/04/12(日) 19:14:22.05ID:B8mBNkjP純粋関数型言語のHaskellらしい設計や解決法を教えてください
0041デフォルトの名無しさん
2015/04/12(日) 19:37:41.19ID:1ufa80Mzやっぱり?
俺も公式見たけど分からなかった
ググっても日本語まったく引っかからないけど
Cabalの公式ページで紹介されてるくらいだし使ってる人居るのかなって
0042デフォルトの名無しさん
2015/04/12(日) 19:55:27.61ID:c/eluCW1それは Configurations Problem といって、
アプリケーションを作る上で言語問わずぶち当たる問題。
(解決の難しさは言語によるが)
Haskell でもいくつか解法が提案されているから、ググってみて。
0043デフォルトの名無しさん
2015/04/12(日) 21:33:01.14ID:skbmhi5R起動時に読み込んで後は変更がないならunsafePerformIO使う。
0044デフォルトの名無しさん
2015/04/13(月) 07:09:06.13ID:2F6fpEK8わかってない奴多いけど、岡部がQiitaアカウントを剥奪されたのは、
間違ったことを書いたからではなく、批判と向き合わなかったからでもなく、
単にコメント欄に、他者の個人情報含めた暴露と、根拠のない言い、誹謗中傷レベルの言いがかりを名指しで続けたからだよ。
あそこで野田の名前出すか普通?
0045デフォルトの名無しさん
2015/04/13(月) 07:16:38.90ID:WAzsEDwPimport Data.List
wordNums :: String -> [(String,Int)]
wordNums = map (\ ws -> (head ws, length ws)) . group . sort . words
このwordNums関数がよく分かりません、wordNums関数を使う場合、何故String(=[Char]?)を渡してwords関数がちゃんと適用されるのでしょうか?
mapの定義は
map :: (a -> b) -> [a] -> [b]
map f xs = foldr (\ x acc -> f x : acc) [] xs
こんな感じだと思っているのですが、
それだとStringの一文字毎にfが適用されていく事になり全く意味が無いと思ってしまいます…(実際はちゃんと文字列に対するwordsになっているのですが)
日本語が分かりにくくて申し訳無いのですが、分かった方はどなたか解説して頂けたら頂けたら嬉しいです…
0046デフォルトの名無しさん
2015/04/13(月) 07:51:32.36ID:sSjAttKFその少し下の方に書いてある、ポイントフリーじゃない版を見れば
mapがどう適用されてるか理解できるはず
0047デフォルトの名無しさん
2015/04/13(月) 10:17:44.49ID:gz5WXRUcghcではghc ~.so --make Main.hs -o Mainでやっていたのですが、同じことをcabalで行う方法が分かりません
0048デフォルトの名無しさん
2015/04/13(月) 13:56:46.50ID:H7xRrVnSそこんところに適用されていく様子が書いてあるでしょ。
wordNums "wa wa wee wa"なら
words "wa wa wee wa" → ["wa", "wa", "wee", "wa"]
sort ["wa", "wa", "wee", "wa"] → ["wa", "wa", "wa", "wee"]
group ["wa", "wa", "wa", "wee"] → [ ["wa","wa","wa"], ["wee"] ]
map (¥ws->(head ws, length ws)) [ ["wa","wa","wa"], ["wee"] ] → [("wa",3),("wee",1)]
で、一目瞭然だと思うんだけどなにが分かんないの?
ポイントフリーだから混乱してるとかそういう話?
wordNums xs = map (¥ ws -> (head ws, length ws)) $ group $ sort $ words xs
敢えて最後に引数補ってこう書いてあればわかったりするのかしら。
0049デフォルトの名無しさん
2015/04/13(月) 15:56:16.90ID:5UiTPbcQだがちょっと待って欲しい、
>>48をスタイル抜群女パイセンの台詞に脳内変換してみるとどうだろう?
0050デフォルトの名無しさん
2015/04/13(月) 18:51:08.84ID:H7xRrVnSこんなんで辞職に追い込まれないだろw
で、>>45の疑問がわかった気がする。wordsNumの定義を
(f = ¥ ws -> (head ws, length ws) として)
map (f . group . sort . words)
だと思ってるんだな。
String(=[Char])に対して、合成された関数をmapしてるかのように読んでるんだろう。
正しい構文解析はそうではなくて
(map f) . group . sort . words
だというだけの話だ(関数適用の結合は関数合成演算子より強いのでそうなる)。
0051デフォルトの名無しさん
2015/04/13(月) 20:18:57.06ID:mroSQvvTこれマジ読んでみ。飯噴出すから。
0052デフォルトの名無しさん
2015/04/13(月) 21:05:27.45ID:WAzsEDwPありがとうございます!その通りで、おかげで完全に挙動を理解出来ました…!
>>46さんもありがとうございました!
0053デフォルトの名無しさん
2015/04/13(月) 21:06:37.25ID:HtEQcKP3噴き出したwww
0054デフォルトの名無しさん
2015/04/13(月) 22:33:35.71ID:g1+aVity1つ目
この関数はどのようなタイミングで呼ばれるのでしょうか。
2つ目
この関数の戻り値 Either [Text] [Text] 型の値(の [Text] の部分)に joinPath 関数が第3引数として適用されると考えて間違いないでしょうか。
0055デフォルトの名無しさん
2015/04/13(月) 22:36:15.84ID:fLjhhhkxこのスレや関数型の言語のスレには全く関係ないだろ
javascriptのスレでやれよ 彼はjavascriptしか書けんみたいだし
0056デフォルトの名無しさん
2015/04/14(火) 19:21:20.43ID:7ObaBR0M0057デフォルトの名無しさん
2015/04/14(火) 22:39:30.34ID:hfFhnDD40058デフォルトの名無しさん
2015/04/15(水) 01:36:25.39ID:RG2QVuzc0059デフォルトの名無しさん
2015/04/15(水) 06:30:15.96ID:MJe1PTeIhttp://www.appjenny.com/Android/App/com.kenokabe.costcobb
0060デフォルトの名無しさん
2015/04/15(水) 06:31:39.99ID:MJe1PTeI毛の壁のiOSアプリ、みんな使え〜
0061デフォルトの名無しさん
2015/04/15(水) 10:01:46.78ID:wcd6okB3objectivecできるのかあいつ?
0062デフォルトの名無しさん
2015/04/15(水) 11:14:04.24ID:32OEEOG2なんで拡張子がapkなわけ?
0063デフォルトの名無しさん
2015/04/15(水) 14:35:06.68ID:zDoLrJPmhttps://twitter.com/buroburo6/statuses/588156083350458369
0064デフォルトの名無しさん
2015/04/15(水) 23:13:46.91ID:4gfphDFh0065デフォルトの名無しさん
2015/04/15(水) 23:27:52.69ID:Q89pzmWa0066デフォルトの名無しさん
2015/04/16(木) 05:47:12.05ID:J3guke8p0067デフォルトの名無しさん
2015/04/16(木) 07:17:46.98ID:7jUqfvFjでもまあ、実のところリストの[]みたいに(pure a)を<a>と書けたりすると
Applicativeスタイルにはマッチすると思うんだけどな。
0068デフォルトの名無しさん
2015/04/16(木) 08:50:37.52ID:0XHfZc1Wnmuta.dip.jp/~muta/tog288.pdf
0069デフォルトの名無しさん
2015/04/16(木) 10:28:10.38ID:Uxi3XrZKKen OKABE xxxxxxxx @ xxxxx.xxx
2006年 9月 9日 (土) 17:31:10 UTC
http://lists.wikimedia.org/pipermail/wikija-l/2006-September/000919.html ;
0070デフォルトの名無しさん
2015/04/16(木) 22:13:00.24ID:9N3+Oa4Tある構造を受け取って別の構造へと変換する関数によって表現すること、
と捉えて間違いないでしょうか。
Thinking Functionally with Haskell という本に数独ソルバーを作る章があり、
そこで wholemeal programming が出てきました。
行のリストとして表現された9x9行列 type Matrix a = [[a]] に対して、
列のリストや、3x3小行列のリストを得る関数が定義されます。
その際、m :: Matrix a に対して m !! i !! j などとインデックス計算をして個々の要素を参照するのではなく、
行列を転置して列のリストを得たり、3要素ずつグループ化する関数などを合成して小行列リストを得たり、
そうやって構造そのものの形を変換しており、そのようなプログラミングスタイルが
wholemeal programming だと紹介されていました。
wholemeal programming というのは、このような構造変換だけでなく、
もっと広い意味を持っているのでしょうか。
0071デフォルトの名無しさん
2015/04/16(木) 22:25:21.10ID:9N3+Oa4Tちなみに、本では構造を変換するとは書かれてなくて、
(インデックス計算するのではなく)行列それ自身を complete entity として扱う関数を定義する
と書かれていました。
しかし、言っている意味がよく分からず、実際にやっていたのが構造全体を組み替える処理だったので、
とりあえず >>69 のように捉えてみたしだいです。
0072デフォルトの名無しさん
2015/04/16(木) 23:22:05.24ID:3W63KRV6最初に効率を一切考えない、正しい解法も含むがいらない処理も沢山してしまう解法を作り、
その後不要な計算をしないよう改良していく手法。
数独ソルバーなら、空欄に1-9の全てのパターンを網羅した9x9行列のリストを作り、
その中から数独のルールに適合するものを取り出す、という方法がスタートになる。
10^(空欄の数)のパターンを全て計算するのは現実的ではないから、必要ない計算をしないようにしていく。
http://www.cs.nott.ac.uk/~gmh/sudoku.lhs
これがその本の元ネタでしょう。
0073デフォルトの名無しさん
2015/04/16(木) 23:41:27.15ID:C8wOR+dQ文字通り全粒粉アプローチって訳せば、
最初はゴミ(モミとフスマ)だらけの全粒粉から開発スタートってイメージがわかるかと。
0074デフォルトの名無しさん
2015/04/17(金) 08:20:31.78ID:xoZHp2iY「アルゴリズム」「フロー」を捨てろ。
でないと関数型を追求することは不可能だよ
0075デフォルトの名無しさん
2015/04/17(金) 08:22:08.56ID:xoZHp2iY0076デフォルトの名無しさん
2015/04/17(金) 08:40:08.59ID:2I4pOBqW完全に逆だ。
Huttonのそれが元ネタにしてるのが
Richard Birdの本なんだからな。
0077デフォルトの名無しさん
2015/04/17(金) 08:57:05.88ID:va7l7l3Wフローだのアルゴリズムだの、無い言語があるの?
0078デフォルトの名無しさん
2015/04/17(金) 09:07:42.22ID:IlVLp4fy| 岡 |
| 部 |
| 家 |
| 先 |
| 祖 |
| 代 |
| 々 |
,,,. | 之 | ,'"';,
、''゙゙;、). | 墓 | 、''゙゙;、),、
゙''!リ'' i二二二二!゙''l!リ'''゙
‖ `i二二二!´ ‖
昌 |: ̄ ̄ ̄ ̄:| 昌
| ̄:|_|;;;l"二二゙゙l;;|_| ̄:|
| :|::::::| |;;;;;;;;;;| |::::| :|
| :|::::::|┌─┐|::::| :| __
./゙゙└‐┴ ┴l,,,,,,,,,,l┴┴‐┘゙゙゙゙\ / ̄ \
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| 〜 & | :::|
 ̄|三|三三|三三三三|三三|三| ̄ ~ | 健 ::::|
| |::: |: : : : |:: | | | ::::: |
| |::: |: : : : |:: | | | ∬ ∬::|
/_|::: |: : : :.|:: :|_ヽ |ii,,≦≧、 :ii :::|
_|___|;;;;;;;;;;|,;,;,,,,,,,,,,,,,,,;,;,|;;;;;;;;;;|___|_ _ |旦‖===‖旦:| _
l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;l -W-----┘二二二二二二二二二└--ff---\--
0079デフォルトの名無しさん
2015/04/17(金) 11:31:42.74ID:NBcEkCSwMaybe aについて、 NothingはいいんですけどJust aの "Just" がどういう気持ちなのか
あんまりはっきり理解できていないのですが、みなさんどんなかんじですか?
Nothingじゃない方のコンストラクタに使う英単語として選定されたこのjustの(英語としての)意味はどんなもの?
0080デフォルトの名無しさん
2015/04/17(金) 13:15:32.90ID:ki8iVvfx0081デフォルトの名無しさん
2015/04/17(金) 13:17:48.16ID:H3Beje5Cビジネスシーンにもはすけるだろう!
0082デフォルトの名無しさん
2015/04/17(金) 13:22:59.36ID:H3Beje5C「はじめてのH」って本だれか書いて?
0083デフォルトの名無しさん
2015/04/17(金) 13:25:07.77ID:PzasXWb40084デフォルトの名無しさん
2015/04/17(金) 15:31:40.71ID:HcT4Z6BJ「単なる〜」とか「ただの〜」みたいな意味では
http://ejje.weblio.jp/content/It's+just+a
0085デフォルトの名無しさん
2015/04/17(金) 16:31:48.10ID:nxIB1yc7毛の壁初心者の方へ
現役の弁護士によるツイートをご覧ください
そしてRTを
https://twitter.com/motoken_tw/status/452009450313097216
https://twitter.com/motoken_tw/status/453696338489016321
0086デフォルトの名無しさん
2015/04/17(金) 17:31:36.64ID:1Smloeqbもしかしたら〜
から
まさに〜
になるんだろ
0087デフォルトの名無しさん
2015/04/17(金) 18:19:06.44ID:s+nJaO1VMay-Be SOFT
0088デフォルトの名無しさん
2015/04/17(金) 20:44:35.19ID:PLmfZzGD私の理解は全くの見当はずれでしたね。
本ではことさら indexing との対比が書かれていたので勘違いしてしまいました。
おかげさまで納得できました。
ありがとうございました。
0089デフォルトの名無しさん
2015/04/18(土) 01:23:36.46ID:cIanB9vz0090デフォルトの名無しさん
2015/04/18(土) 20:00:24.92ID:zBL4xnwg岡部ちゃんのブログ更新
http://kenokabe-techwriting.blogspot.jp/2015/04/lispspinoza.html?m=1
あらら、手抜きコピペの再利用ですね。
一つ前の記事に後悔しちゃって、消すことも出来ないので「目立たなくするように」するためかな?
岡部ちゃんさ、「すでに【脱アルゴリズム宣言】シリーズで述べたように、」
ってあるけど、それはどこを参照すれば良いのかな?(爆笑)
コピペリサイクル記事でもさ、せめて、この程度の修正はしようぜ?
0091デフォルトの名無しさん
2015/04/19(日) 12:21:14.03ID:BDx+P9mq009279
2015/04/19(日) 14:41:18.79ID:pB/4TY1xもう少し訓練をつんでみます
0093デフォルトの名無しさん
2015/04/19(日) 19:25:20.36ID:TqE05fjBIntが入っているかもしれない箱を渡されて、開けたら中身が
「なんにもない」
「ちょうど5」
なだけだろ。なんでそれがしっくりこないのかこそがわからんわ。
0094デフォルトの名無しさん
2015/04/19(日) 19:44:35.88ID:g7ko6rYD自分もHaskellの文法だからってのを忘れたとすると
Maybeの中身がNothingかJust xだというのはいいとして
xをMaybeにするためにJust xってするのはもやっとする
0095デフォルトの名無しさん
2015/04/19(日) 19:47:51.06ID:HUQoVR+20096デフォルトの名無しさん
2015/04/19(日) 19:49:46.90ID:HUQoVR+20097デフォルトの名無しさん
2015/04/19(日) 19:56:54.50ID:bs5hwhjSそこで「ちょうど」と言うのがしっくりこないのかと。
日本人ならその状況で「ちょうど5」とは言わず、単に「5」と言う。
「ちょうど5」と言うと、では、ちょうどではない曖昧な5もあるのか、
という事になりかねない。
まぁ、Haskell だと何らかの値構築子が必要なわけで、
Just 以外ならどんな名前にするかと訊かれると、返答に困るが・・・
>>96 は冗談だろ
0098デフォルトの名無しさん
2015/04/19(日) 20:33:51.59ID:TqE05fjBMaybeが曖昧で、それを無曖昧化した結果がNothingかJust xなんだから、
まさにJustでいいんだ、というのが命名者の発想だろ。
Justの代わりにSomeの方が日本人にはわかんないんじゃないの?
「なし None」と「なんらかの・ある Some」って語感がわかるならいいけど。
0099デフォルトの名無しさん
2015/04/19(日) 21:03:30.47ID:bs5hwhjSなるほどね。
ちょうどなんて言うからヘンなんだよな。
まさにって言えば俺もしっくりきた。
って >>86 でもう出てたんだね、ごめんよ。
0100デフォルトの名無しさん
2015/04/20(月) 01:17:23.81ID:6TQJBTny0101デフォルトの名無しさん
2015/04/20(月) 01:58:55.74ID:pO1ymbwKよくある
0102デフォルトの名無しさん
2015/04/20(月) 09:54:07.62ID:HQWDK9Be0103デフォルトの名無しさん
2015/04/20(月) 13:03:15.78ID:u7LO/gCXHaskellだと関数だけじゃなくて型コンストラクタたったりフィールドだったり識別するものが増えるからネーミングが余計に気になるのかも
0104デフォルトの名無しさん
2015/04/20(月) 14:38:09.34ID:2eevj3Zk0105デフォルトの名無しさん
2015/04/20(月) 16:43:11.52ID:0hSvk0Oi0106デフォルトの名無しさん
2015/04/22(水) 08:19:49.68ID:GJyQGfm3http://netbmari.seesaa.net/article/81337651.html
0107デフォルトの名無しさん
2015/04/22(水) 20:54:17.76ID:NZ8QzlQ5http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると改憲が実現します。皆様方、必ず投票に自ら足を運んでください。
私たちの『日本国憲法』を絶対に改正しましょう。☆
0108デフォルトの名無しさん
2015/04/23(木) 07:36:47.21ID:6rGfWaSo今日本屋に並ぶらしいですよ
0109デフォルトの名無しさん
2015/04/23(木) 08:24:55.14ID:/Z6TrNg20110デフォルトの名無しさん
2015/04/23(木) 09:10:23.02ID:sxaJ1zhu岡部もやることが小さいなww
0111デフォルトの名無しさん
2015/04/23(木) 21:20:22.01ID:LeResooG0112デフォルトの名無しさん
2015/04/24(金) 12:58:05.70ID:v3IT9RWU岡部健氏とスキルで勝てるんか?勝負しろや。逃げんな
0113デフォルトの名無しさん
2015/04/24(金) 13:02:06.09ID:/IU9j/kdOCamlの文法とコンパイラ拡張してラベル付き
引数持ちこんだ駱駝にどうやって勝てるんだwww
0114デフォルトの名無しさん
2015/04/24(金) 15:02:59.72ID:sR1g6M3b0115デフォルトの名無しさん
2015/04/25(土) 10:17:48.89ID:zFI89MHg0116デフォルトの名無しさん
2015/04/25(土) 14:48:52.43ID:/My2uXcpAmazonでベストセラー1位じゃん
実は人気あるんだな
0117デフォルトの名無しさん
2015/04/25(土) 14:56:53.67ID:IIQtsCT+だから、アマゾンの書評も「これは誹謗中傷目的の不当な評価である」と逃げを打つのは既定路線。
0118デフォルトの名無しさん
2015/04/25(土) 16:05:32.13ID:iXjJJv3pお前らもしレビューを書くならあくまで真面目にな
中途半端に絡むなよ
0119デフォルトの名無しさん
2015/04/25(土) 16:32:38.19ID:K9QmTshb0120デフォルトの名無しさん
2015/04/25(土) 19:00:18.52ID:1G6YdpRM「これは誹謗中傷目的だから削除します」とのたまって本当に削除した岡部健だから、
今回のアマゾンとかの低評価も「陰謀だ」と言い出すのはわかりきってる。
過去にはこんなことをやってた。
http://u1sokuhou .ldblog.jp/archives/50346264.html
0121デフォルトの名無しさん
2015/04/25(土) 21:32:07.54ID:gdfW3sMFバカが自分の通用する場だと勘違いする
0122デフォルトの名無しさん
2015/04/25(土) 21:49:40.65ID:pGkm3L040123デフォルトの名無しさん
2015/04/25(土) 22:03:21.14ID:QkVyrL7ghttp://twitter.com/SE_O_T/status/591932284967591936
0124デフォルトの名無しさん
2015/04/25(土) 22:50:49.29ID:UUGDuW98数学系や情報工学系の由緒正しい経歴じゃないっぽい雰囲気。
文系から来たタイプか?
0125デフォルトの名無しさん
2015/04/25(土) 23:52:39.20ID:eYc1bK/z0126デフォルトの名無しさん
2015/04/25(土) 23:53:42.91ID:/Lz62wVIGOOGLE+のプロフィール参照な。
0127デフォルトの名無しさん
2015/04/26(日) 00:03:48.04ID:Kxjo5Nwd0128デフォルトの名無しさん
2015/04/26(日) 00:04:26.53ID:Kxjo5Nwd0129デフォルトの名無しさん
2015/04/26(日) 03:03:37.91ID:ous7Nrql別にいいじゃん、初学者が興味持ってくれて知名度上がれば
>数学系や情報工学系の由緒正しい経歴じゃないっぽい雰囲気。
こういう難癖ってなんだろうね?
「数学ガール」の人気みて結城浩は数学科じゃない、論文書いてない、
博士号持ってない、とか難癖付けてる数学板の野良博士みたい。
出る杭は打たないと気がすまない。
そんなに岡部健に嫉妬するなら自分で良い入門書の一つも書けばいいのに
0130デフォルトの名無しさん
2015/04/26(日) 03:38:52.12ID:oJFxipXnそんなこと言う奴は一人か二人では。
学歴なんか、どうでもいい。博士号なんて無くてもいい。
ただし、それは卒業してもいない学校を卒業したとフカシこくことを肯定するものではないことは、ハッキリさせておこうぜ。
0131デフォルトの名無しさん
2015/04/26(日) 03:40:16.55ID:oJFxipXn0132デフォルトの名無しさん
2015/04/26(日) 05:57:02.15ID:A1wpxgFiこっちに移ろう
http://peace.2ch.net/test/read.cgi/tech/1428597032/
0133デフォルトの名無しさん
2015/04/26(日) 05:59:50.39ID:3IjwcVse0134デフォルトの名無しさん
2015/04/26(日) 09:08:11.44ID:fRwOzUF51.kenokabeはJavaScriptしか書けないんだし、
2.関数プログラミングができないのもGithubみりゃ明らか。
Haskellスレでやる理由がどこにもない。
0135デフォルトの名無しさん
2015/04/26(日) 12:16:02.26ID:Kxjo5Nwd学歴は重要じゃないよ。
しかし、基礎が分かっているかどうかを重視する上で、
独学で基礎が学べるかどうか考えたら、
なかなか難しいんじゃないかと考えるわけで・・・
0136デフォルトの名無しさん
2015/04/26(日) 12:17:32.56ID:Kxjo5Nwdしかし、後にそれが基礎として重要だということに気づくわけ。
独学では興味が湧いたことしか勉強しないでしょ?
だから、独学はダメなんだよ。
0137デフォルトの名無しさん
2015/04/26(日) 12:33:02.08ID:YzZ8BmuQそんな隠語で学問を囲って利権化したまま放置する態度が学者失格だとも言える
0138デフォルトの名無しさん
2015/04/26(日) 12:58:53.94ID:Kxjo5Nwd概念の検索性を高める。
0139デフォルトの名無しさん
2015/04/26(日) 13:03:30.55ID:EksjvuLr>しかし、基礎が分かっているかどうかを重視する上で、
>独学で基礎が学べるかどうか考えたら、
>なかなか難しいんじゃないかと考えるわけで・・・
学歴がある種のシグナリングになることは同意する
また学歴によるフィルターが結構実社会で有効と感じることが多い
大学や(高校でも)学んだ基礎ことは重要だと思う
でもさあ、相手が「わかってる」かどうか相手の学歴を見ないと判断できない、
って特にこの業界では役に立たないというか、結構無能じゃね(笑)
0140デフォルトの名無しさん
2015/04/26(日) 13:05:35.85ID:fCruzWL40141デフォルトの名無しさん
2015/04/26(日) 13:07:54.07ID:Kxjo5Nwdなんとか健の本を読んだだけで、そいつがバカだと判断するのに十分だと言いたいわけね
0142デフォルトの名無しさん
2015/04/26(日) 13:36:15.63ID:A1wpxgFi前者はいかにも知識と教養にあふれているように見えるが
実際はエネルギーを消費するだけで何も生み出さないトートロジーである
0143デフォルトの名無しさん
2015/04/26(日) 13:42:11.12ID:2npT22yp正しいことと証明できることとは別、という常識からすると、貴様の意見には同意しかねる
0144デフォルトの名無しさん
2015/04/26(日) 15:32:45.74ID:qgRFfbK0C言語も実はできるのでは。
0145デフォルトの名無しさん
2015/04/26(日) 15:49:33.72ID:2npT22yp0146デフォルトの名無しさん
2015/04/26(日) 16:54:25.20ID:L5p6tnBd恥なのは学歴を偽ることだ。
0147デフォルトの名無しさん
2015/04/26(日) 17:38:00.48ID:YIE+qGwA0148デフォルトの名無しさん
2015/04/26(日) 17:39:27.89ID:YIE+qGwAそれが無いんだよ。学歴詐称に決まってるだろ。
0149デフォルトの名無しさん
2015/04/26(日) 19:34:37.24ID:JgRuu/Q50150デフォルトの名無しさん
2015/04/26(日) 20:45:41.96ID:e4tIRRVz0151デフォルトの名無しさん
2015/04/26(日) 20:55:12.20ID:Ql5jpImz0152デフォルトの名無しさん
2015/04/26(日) 21:05:58.90ID:KkAjQB1e0153小保方晴子
2015/04/26(日) 22:23:21.53ID:CWSeILxV2ちゃんねるでさんざん自作自演してる彼ですから。
0154デフォルトの名無しさん
2015/04/26(日) 22:54:30.08ID:GWsv7xfif . g の f や g によっては交換できる場合もあります。
交換法則が成り立つ必要十分条件はありますか?
0155デフォルトの名無しさん
2015/04/27(月) 07:49:04.83ID:wSLTFIGdUTF-8で書くことを覚えてもターミナルの表示をUTF-8対応にできない
Shift-JISで日本語書き込んで詰む
そもそもターミナルなんて嫌でとっととグイアプリ作りたいのになんでターミナルで躓かなきゃならないんだとずぶ濡れの犬のような気持ちになる
もうややこしやといって敬遠する
このことが地味にHaskellへの新規流入を妨げている
0156デフォルトの名無しさん
2015/04/27(月) 08:14:27.11ID:7D8wCJnI0157デフォルトの名無しさん
2015/04/27(月) 09:14:07.62ID:DOff7EOWhttp://qiita.com/philopon/items/1451f6b8c5ccec41479d
0158デフォルトの名無しさん
2015/04/27(月) 16:49:31.50ID:4SSIO0jRするようなネタが全くないわけでして。
0159154
2015/04/27(月) 18:00:15.79ID:bzdehbpGレスが付かないようなので、もう少し特定の場合に絞ります。
ツリーやリスト、配列など、何らかの構造を持ったデータ型があるとします。
そのデータ型は構造の形と、その内容(ツリーの葉やリストの要素など)との組によって成ると考えられます。
このとき、内容に依存せずに構造の形を変える関数と、
構造の形を変えずに内容を変える関数とは、関数合成において可換です。
直感的には確かにこうなるとは分かるのですが、
なぜこれが成り立つのか、どのような構造のデータ型でも成り立つのか、
と問われると自信がありません。
このようなことに関して論じた論文やWebコンテンツ、書籍などはないでしょうか。
0160デフォルトの名無しさん
2015/04/27(月) 18:50:32.65ID:LJFJeOKy0161デフォルトの名無しさん
2015/04/27(月) 19:31:11.59ID:VB3BB2rW難しいし
0162デフォルトの名無しさん
2015/04/28(火) 02:32:49.94ID:Vr1PFukf0163デフォルトの名無しさん
2015/04/28(火) 02:48:39.41ID:Teqnn2Le共役(conjugate)という概念が近い気がする
具体例としてはこんなの
http://ja.wikipedia.org/wiki/%E4%BD%8D%E7%9B%B8%E5%85%B1%E5%BD%B9%E6%80%A7
今の話に連続性とかは全然要らないからもっと抽象化されたいい定義もあると思うんだけど
詳しくないのでこのくらいしか示せない
0164デフォルトの名無しさん
2015/04/28(火) 08:05:09.36ID:CdNtmvFe岡部によるMINIX談義
https://twitter.com/mutamac/status/322518309570498560
0165デフォルトの名無しさん
2015/04/28(火) 12:09:01.30ID:xSgyLvy4くっそwww
0166デフォルトの名無しさん
2015/04/28(火) 12:14:10.41ID:pmMjJKEE一応フォローを一時的に外しておいて良かったわww
0167デフォルトの名無しさん
2015/04/28(火) 14:13:57.53ID:8LxH1Yrp何をきっかけに考え始めたの?
自然変換や多相関数っていうのは知ってるんだよね?
0168154
2015/04/28(火) 18:04:05.29ID:W3D8VZu+ありがとうございます。
想像していたのとはちょっと違って抽象度が高そうですが、
がんばって学んでみます。
>>167
考え始めたきっかけは最適化です。
ポイントフリーで記述していた式の中で、たまたま2つの関数が
関数合成に関して可換なのに気づいたので交換してみたら、
交換後に隣同士になった関数同士が融合できて最適化できました。
その時は本当に偶然見つけたのですが、もっと効率よく発見できないかと思い質問しました。
条件が分かれば悩まなくて済み、また勘違いで交換してしまうこともなくなります。
Haskell のデータ値はすべて抽象構文木で表せるので、
その形や変換する部分木の位置などに依るのかなと思っていましたが、
圏論の話が出てくるのは予想外でした。
自然関数は名前だけは知ってます(内容は未学習)。
多相関数は要するに型シグネチャに型変数を含む関数ですよね。
0169デフォルトの名無しさん
2015/04/28(火) 18:49:24.22ID:s9k+iiT5何らかの多相型をMとおいたとき、f : a -> bなる関数をmapで持ち上げたmap f : M a -> M bというと、
多相性を持ったまま何らかの操作を行う関数tx : forall a. M a -> M aは可換である、ということはなんとなく分かる。
多分、証明もできる。
もっと緩い条件もあるかもしれないけど、型レベルだとこの程度しか言えないんじゃないか?
0170デフォルトの名無しさん
2015/04/28(火) 22:38:28.56ID:8LxH1Yrp自然関数じゃなくて自然変換だよw
自然変換はほぼ多相関数と同義で、
あなたのいう「内容に依存せずに構造の形を変える関数」のこと
だから名前だけ知ってるじゃなくてちょっと中身も見てみたら
まあ>>169の言う結果になると思うが
0171デフォルトの名無しさん
2015/04/28(火) 23:26:28.54ID:W3D8VZu+>>170
すいません、自然関数はただの書き損じです。
ちょっとかじる程度では全く理解できないので自然変換についてちゃんと学びたいのですが、
Wikipedia のような辞書ではなく、ステップアップで学べるようなもので、
おすすめの書籍やサイトはありますか?
0172デフォルトの名無しさん
2015/04/30(木) 12:52:33.36ID:XY0F0CkVhttp://nineties.github.io/category-seminar/1.html#/92
最近見てなかったけどマメに手が入ってる、尊い...拝掌
0173デフォルトの名無しさん
2015/04/30(木) 14:12:01.94ID:XY0F0CkV0174デフォルトの名無しさん
2015/04/30(木) 20:39:45.77ID:Y/GqQ0EE0175デフォルトの名無しさん
2015/05/01(金) 04:56:54.76ID:fVuNknYg皆さん、わかってないでつね( ゚∀゚)
彼は自作自演レビューについて、Twitterやここで騒がれていることについては、
「知らなかった」という筋書きにするつもりなんでつよ・・・・
そう、彼はTwitterや2chなんて見ていない、という「設定」を今、作り上げているのでつ( ゚∀゚)
その証拠に、いつもは瞬間湯沸かし器のようにTwitterに反応する彼が、今回は一切反応してませんwwwww
彼なりに、「必死に、必死に、必死になってガマン・ガマン・ガマン」してるのでつ( ゚∀゚)
反応してしまったら、Twitterをエゴサーチしていることがバレますから、
「アマゾンレビューで自演していた」ことが噂になってることを知らなかったことには出来ませんからねwwwwww
彼は後になって「え?そんなことが話題になってたの?僕は知らない」と言うために必死になって今は耐えているのでつよwwwww
0176不明なデバイスさん
2015/05/01(金) 07:51:16.60ID:bd+SwLlp何で反応する人がいるんだろ
0177デフォルトの名無しさん
2015/05/01(金) 08:35:11.62ID:eutNCxIi0178デフォルトの名無しさん
2015/05/01(金) 17:47:37.74ID:F/SXJcEEスライドを紹介していただいたこと自体には感謝の気持ちはあるのですが、
お礼を言う気分になれません。
このようなタイミングで言い方をそっくり真似されるのは、
小馬鹿にされたようで、あまり気分の良いものではありません。
0179デフォルトの名無しさん
2015/05/01(金) 18:32:23.93ID:bZSKV+U3毛の壁うらない、おまえらもやれよ
0180デフォルトの名無しさん
2015/05/02(土) 02:10:23.61ID:jinFEowY0181デフォルトの名無しさん
2015/05/02(土) 09:56:16.48ID:X3dtRZ+Y0182デフォルトの名無しさん
2015/05/02(土) 13:00:24.67ID:5Y45W3x5http://www.reddit.com/r/programming/comments/34f19q/paul_hudak_creator_of_haskell_has_died/
0183デフォルトの名無しさん
2015/05/02(土) 20:43:21.60ID:xs/LOAyd0184デフォルトの名無しさん
2015/05/02(土) 21:47:06.15ID:R1nes/uMhttp://developers.slashdot.jp/story/15/05/01/2154234/
スラドでも取り上げれられてた
0185 ◆C93WWgXd.E
2015/05/05(火) 07:12:28.31ID:rJmUZz/aホモの岡部!かかってこんかい
0186デフォルトの名無しさん
2015/05/05(火) 16:26:05.11ID:NTx27ZOoコレでこの言語もおしまいだね
0187デフォルトの名無しさん
2015/05/06(水) 13:13:54.56ID:d4s5gCSo0188デフォルトの名無しさん
2015/05/06(水) 18:51:40.54ID:lCIkxTrLfoldって多相関数?
0189デフォルトの名無しさん
2015/05/06(水) 19:02:30.29ID:x2IHNZjzaとbは普遍量化されている。
0190デフォルトの名無しさん
2015/05/06(水) 19:15:58.04ID:lCIkxTrLfoldの自然性条件がどんなものか想像できないんだ
0191デフォルトの名無しさん
2015/05/06(水) 19:18:01.71ID:x2IHNZjzFoldable型クラスについて考えたら?
0192デフォルトの名無しさん
2015/05/06(水) 22:41:12.83ID:lCIkxTrLもう少しヒントをくれないか
0193デフォルトの名無しさん
2015/05/07(木) 01:26:31.87ID:LlwVP2OT0194デフォルトの名無しさん
2015/05/07(木) 07:42:17.64ID:lfcx6TTy3年前は「卒業」という文言があったが、今では無くなっている。
118 :名無しさん@ゴーゴーゴーゴー!:2015/05/07(木) 01:21:47.78 ID:gZ11Gp/P0
みなさん、この画像をダウンロードしてみてください。
http://twitter.yfrog.com/n19xup?sa=0
(「Download this image」というボタンをクリック)
彼はかつて、Google+ではUCLA卒業と記載していたのが、現在では消えています。
0195デフォルトの名無しさん
2015/05/07(木) 23:33:22.66ID:zMQZR1+Z・・・加勢せざるを得ない人は自演に見えてしまうだけで自演じゃないんだよね?
0196デフォルトの名無しさん
2015/05/07(木) 23:44:18.25ID:SJ9cQ9MA0197デフォルトの名無しさん
2015/05/08(金) 15:20:28.66ID:2DPjDbBn0198デフォルトの名無しさん
2015/05/08(金) 19:12:29.86ID:Wsgktw330199デフォルトの名無しさん
2015/05/08(金) 19:17:35.45ID:ZHeXF73S0200デフォルトの名無しさん
2015/05/08(金) 22:15:32.46ID:Ewa40zmC大半は記事の批判してると思うが
0201岡部健一
2015/05/08(金) 23:50:43.90ID:Tc9eNMtd更新
0202デフォルトの名無しさん
2015/05/09(土) 06:13:42.20ID:R7pPsL7j最近のGHCで動かなかったんだけどhaskellってそういうものなの?
0203デフォルトの名無しさん
2015/05/09(土) 08:35:23.33ID:Bw82nfhwコード貼ってみ
0204デフォルトの名無しさん
2015/05/09(土) 09:03:40.24ID:v8DO1laq互換性100%保って開発されてる言語なんてほぼないでしょ
としか言えない
0205デフォルトの名無しさん
2015/05/09(土) 10:57:45.25ID:3DvLgZhI大概の言語は互換性を可能な限り保存するけど
Haskellは割とバッサリオプション扱いしちゃうよね。
0206デフォルトの名無しさん
2015/05/09(土) 11:30:54.68ID:bNXnXiFr使うならHaskellと心中する気で使わないと
0207デフォルトの名無しさん
2015/05/10(日) 19:54:16.77ID:vvnbmxfhソースコード見る時にタグづけ・リンク付けしてくれる便利なのがあるけど、
Haskellのソースにつかえるものって何かありませんか
0208デフォルトの名無しさん
2015/05/11(月) 07:33:17.87ID:XnQMQgf4ある種の書籍にみられるAmazonレビューコメント評価の傾向
http://qiita.com/nonstarter/items/fb5fc7582821d7f98297
『関数型プログラミングに目覚めた!』のレビュー(Day-2)
0209デフォルトの名無しさん
2015/05/11(月) 09:40:29.74ID:OkrNXSSQwe reject kenokabe
0210デフォルトの名無しさん
2015/05/11(月) 17:08:39.11ID:rqU23QV50211デフォルトの名無しさん
2015/05/11(月) 18:07:53.13ID:fXdd85Lw0212デフォルトの名無しさん
2015/05/11(月) 20:54:00.11ID:tVwc5MX9IQ本は太平妖術三巻の内の一巻
0213岡部健
2015/05/13(水) 13:19:35.89ID:7n8Agdd+0214デフォルトの名無しさん
2015/05/13(水) 14:09:57.50ID:8NL6fUzRサンドバックって付け焼刃みたいな対応とか、cabalがクソ過ぎる
と思ってぐぐるとcabal hellとか出てくるしorz
0215デフォルトの名無しさん
2015/05/13(水) 16:04:09.96ID:ll6glzrw0216デフォルトの名無しさん
2015/05/13(水) 18:24:31.35ID:ONEyRCsc全然違うパッケージの共存は許すが殆ど同じものは許さない
0217デフォルトの名無しさん
2015/05/13(水) 18:42:00.16ID:L4VSJ4+X0218デフォルトの名無しさん
2015/05/13(水) 19:02:14.28ID:TGVGO327あんな話をしてくれる人は他にいないんだから。
仙台のなんとか先生の話はもういいよ。つまらんから。
0219デフォルトの名無しさん
2015/05/13(水) 19:30:03.41ID:1/KrX9dS0220デフォルトの名無しさん
2015/05/13(水) 23:09:50.99ID:4wfpqqcc厨二じゃない人だと思います。
0221デフォルトの名無しさん
2015/05/14(木) 07:35:02.35ID:YnCF7Vuv勘違いしてる奴が非常に多いが、岡部がQiitaを除名されたのは、
言説の怪しさではない。
個人情報の暴露を含んだ誹謗中傷をしたから。
これが全て。
直ぐに消されたから、知らないんだろうな。
863 :名無しさん@ゴーゴーゴーゴー!:2015/05/14(木) 07:09:53.94 ID:SRiT9Cuo0
「記事を丸ごと消してコメントを削除」するということを繰り返していたことは、
運営に睨まれる要因ではあったが、除名されたのは、
「誹謗中傷行為を繰り返したがら」。
これ、大事なことなので忘れないように。
0222デフォルトの名無しさん
2015/05/14(木) 18:54:37.99ID:PqTHUvj60223デフォルトの名無しさん
2015/05/14(木) 23:48:35.62ID:PU6/Ufkb0224デフォルトの名無しさん
2015/05/16(土) 05:26:51.08ID:f/6HmmLw関数業界の人は一般的なニーズと乖離した所ばかり掘ってるよ。
一般的なニーズは、関数型プログラミングでは、どういう成果物が効率よく作れるのか
という実用部分であって、瑣末な部分の理論の正否なんて気にしてないんだよ。
岡部の本に間違いがあるかどうかはともかく、大枠で方向性を示したことは評価できると
思うんだけどな。その辺がわかってないよな。
0225デフォルトの名無しさん
2015/05/16(土) 11:10:08.35ID:m17hPiVk今ならOOを倒せるっぽいしその中心にいる人物は英雄になれる
OO全盛期には必死に逆張りしても骨折り損だったが今は違う
0226デフォルトの名無しさん
2015/05/16(土) 11:15:10.46ID:BDaO4G29OO叩きはいい看板なんだよ
0227デフォルトの名無しさん
2015/05/16(土) 11:47:43.20ID:SD2VGHuN0228デフォルトの名無しさん
2015/05/16(土) 13:17:28.79ID:cTE7t72a0229デフォルトの名無しさん
2015/05/16(土) 13:35:34.95ID:ucBctojgその通り
0230デフォルトの名無しさん
2015/05/16(土) 15:58:34.07ID:Lio5eCYOバレてないとでも思ってんのかね
0231デフォルトの名無しさん
2015/05/16(土) 17:29:33.32ID:1wcuMTJn事がわかってない連中だけが騒いでる。ま、炎上して注目されるという
意味では悪い話ではないんだが。
0232デフォルトの名無しさん
2015/05/16(土) 20:47:21.57ID:m17hPiVkつまり逆張りしないことだ
0233デフォルトの名無しさん
2015/05/16(土) 20:52:20.70ID:SD2VGHuNコミュニティ(笑)の為にとか
発 者 同 . 。_ ____ 争
生 同 .じ . /´ | (ゝ___) い
.し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、
.な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j
.い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´
.! ! か の / ´..:.} >、、___, .r、 ソ、`\
/ ..:.:.} / |∨ ` ̄
/ ..:.:./ | 丶
/ _、 ..:.:.:.{ .{.:.:. \
{ ..:Y .ゝ、 {.:.:.:.:. ヽ
|、 ..:/ 丿 .:〉 >.- ⌒ . ヽ
/ {. ..:./ ソ ..:./ .( ..:.:.:` ..:}
./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:}
./..:.:/|.:/ {.:./ X.:.:}.} X X
/..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y
. __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\
/.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
0234デフォルトの名無しさん
2015/05/16(土) 21:25:10.08ID:m8m9+RQQここでkenokabe擁護?のような真似事している奴も中身について何も言及しないのも事実(>>224)。大枠って何?
日に何度か、書き捨てのようなレスをして荒らしている奴がいるのは事実。
物理板の荒れ方とよく似ているので、よく似た症状の患者がいるのだと推測。
0235デフォルトの名無しさん
2015/05/16(土) 22:53:41.06ID:1wcuMTJn検索結果に文句があるなら、グーグルをdisるしかねぇだろ。
実は、グーグル先生のアルゴリズムでは、騒げば騒ぐほど検索上位になるんだぜ。
あと、qiitaの勝手管理者みたいな真似せず、君らが、独自にブログサービスでも
百科事典でも何でも作ればいいんだよ。人気が全く出ないだろうけど。
それに、無料で使わせてもらってるんだから、管理会社に迷惑かけるなよ。君ら
何様のつもりみたいな傲慢な人が関数界隈には多すぎる。
君らみたいなのが、初心者を遠ざけてしまい、イマイチ人気出ないんだよね。
ちょっとでも間違いがあると、人格まで全否定みたいな極端な奴が多い印象。
0236デフォルトの名無しさん
2015/05/16(土) 23:05:15.74ID:SD2VGHuN例のアレが基地外なのは疑い様のない事実ではあるけども自称関数型コミュニティの識者()も勘弁してくれって感じ
0237デフォルトの名無しさん
2015/05/16(土) 23:19:10.31ID:ws39nzeu自分のブログにでもひっこんでろ
0238デフォルトの名無しさん
2015/05/16(土) 23:42:59.03ID:5WGKvptrことがわかったことだな。取巻きとしては、仙台の先生を祭上げておかないと
食扶持を失いかねないし、熱心な理由もわかる気がわかる気はする。
両者とも論理を越えたところで戦っているのだ。
一方、ビジネスとして見ると、マーケティング的には岡部は天才的なものを
持っている。キャッチーな用語を上手く編み出すのは天性のものだよ。
0239デフォルトの名無しさん
2015/05/16(土) 23:51:25.61ID:Xo5bM6FI0240デフォルトの名無しさん
2015/05/17(日) 00:09:05.06ID:vxP+UTbZ0241デフォルトの名無しさん
2015/05/17(日) 02:22:27.46ID:I4gH+GcU0242デフォルトの名無しさん
2015/05/17(日) 03:46:18.69ID:KOELu0yT0243デフォルトの名無しさん
2015/05/17(日) 09:52:55.38ID:XD8qkQRv争いが絶えないとかいう問題ではなく統一したら難易度が倍になるから分離してるだけだ
0244デフォルトの名無しさん
2015/05/17(日) 09:57:22.35ID:ORYJ+N7V仙台は教祖なんかじゃないよ。群れたがる三流学徒だと確認できたよ
0245デフォルトの名無しさん
2015/05/17(日) 12:28:39.34ID:bObx+CyQ型クラスについて教えてください
Eq とか Ord とかの指定を習いましたが、これは言語処理系で組み込まれているものでしょうか?
それとも、実は自由に設定できる、あるいは自分流型クラスを設定できるように(学習が進めば)なるのでしょうか?
0246デフォルトの名無しさん
2015/05/17(日) 16:38:23.79ID:yjYevIhUなので同じ性質を持つ型を2個以上作るのですがそれはDRYの原則に矛盾する可能性があり
初学者にはおすすめ出来ません
0247デフォルトの名無しさん
2015/05/17(日) 20:30:26.93ID:/1M7kTbP既存の型を自作の型クラスのインスタンスにすることも、
自作の型を既存の型クラスのインスタンスにすることも、
既存の型を既存の型クラスのインスタンスにすることも、できる。
既にインスタンス化されている型と型クラスを書き換えるのは少し手間がかかる。
0248デフォルトの名無しさん
2015/05/17(日) 22:10:04.28ID:7pPi0iqfえっそんなのできるの? くわしく
data Foobar = ... deriving Hoge
でHogeを自作するのは可能?
0249デフォルトの名無しさん
2015/05/18(月) 02:24:26.93ID:85kr6JxXC++は簡単だろ。
0250デフォルトの名無しさん
2015/05/18(月) 03:09:26.48ID:eEjXu/P7newtype MyFoo = MyFoo Fooとかやって、instance C MyFoo where ... みたいにすれば、
オレオレ定義のインスタンス化はできるよっていうだけ。
既にあるインスタンスと、それを使っているコードの動作は変えられないよもちろん。
個人的には>>247の3番目が通るのはどうかと思う。
下手糞が作ったライブラリを使わないといけなくなったら地獄が待ってる。
まだそんな事例には出くわしたことがないけど、塞げる穴じゃないのかこれは。
0251デフォルトの名無しさん
2015/05/18(月) 08:33:14.68ID:PFYZF6oW/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/
、:::::.. /:::; .,-、 l:::/、
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
0252デフォルトの名無しさん
2015/05/18(月) 11:41:43.76ID:1sYrNLv/もし関数型が自然科学なら価値判断より事実が争点になる
「インスタンスになったら地獄」といくら主張しても
「インスタンスである」と事実を宣言されたら勝てない
0253デフォルトの名無しさん
2015/05/18(月) 14:08:32.13ID:J+DllwNy健ちゃ、こんなところまできて自演?
0254デフォルトの名無しさん
2015/05/18(月) 14:33:22.46ID:NV1bgdqX自分は作ったことがないのに、「私の本を読めば作れるようになる」じゃ、詐欺だぞ
0255デフォルトの名無しさん
2015/05/18(月) 14:34:36.88ID:NV1bgdqX0256デフォルトの名無しさん
2015/05/18(月) 14:36:07.03ID:NV1bgdqX0257デフォルトの名無しさん
2015/05/18(月) 14:41:12.33ID:aBJ9oZwQトンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが
0258デフォルトの名無しさん
2015/05/18(月) 14:48:21.07ID:J+DllwNy>トンデモ理論を叩き潰したくなるのはただの同族嫌悪だろうが
意味わがんね
0259デフォルトの名無しさん
2015/05/18(月) 17:09:27.48ID:1sYrNLv/正しいか誤りかという以前に名前が分からないのと意味が分からないのを嫌悪している
0260デフォルトの名無しさん
2015/05/18(月) 21:42:18.84ID:Za9DOvVn糞むずいだろ
haskellとは別方向の難しさ
0261デフォルトの名無しさん
2015/05/18(月) 22:41:26.79ID:gkB/bqS0C#やJavaも同程度には難しいだろ。
プロが使う実用言語で、それで飯食っているやつが居るんだから、
ある程度難しいのは大前提で、この程度で難しいといっていたら何も出来ないよ。
少なくとも、家を建てたり、自動車作るよりは、覚えることも少ないし、ずっと簡単だと思うが。
どこまで甘えるんだよ。
0262248
2015/05/18(月) 22:52:25.55ID:Se0XfJ+oなるほど。
instance定義だけをimportしない、って方法はないんだね。知らなかった。
0263デフォルトの名無しさん
2015/05/18(月) 23:17:47.47ID:Za9DOvVnいや例えばcoders at work に出てくるような有名なプログラマでも
「難しすぎ」 「書ける気がしない」 「複雑すぎて何か間違っている」
とか言ってるぞ
Erlang作者「C++は満足に読めも書けもしません。C++は嫌いなんです。何か間違っているように感じます。複雑すぎます」
つかc++を簡単だって言ってる人の方が珍しくないか?
0264デフォルトの名無しさん
2015/05/18(月) 23:20:04.82ID:wsHCJh200265デフォルトの名無しさん
2015/05/18(月) 23:55:18.12ID:gkB/bqS0比較対象はC#とJAVAでいいよ。
0266デフォルトの名無しさん
2015/05/19(火) 00:18:36.13ID:JW8ZA2Yc0267デフォルトの名無しさん
2015/05/19(火) 00:21:56.02ID:jGcxlJfu0268デフォルトの名無しさん
2015/05/19(火) 00:24:26.22ID:F2BOffyE0269デフォルトの名無しさん
2015/05/19(火) 00:27:32.08ID:NL6C5oh4全ての状態に対してテストを行うことは所詮不可能なので、型が厳格なのが
多くのスクリプト言語に対してメリットになってると思う。
0270デフォルトの名無しさん
2015/05/19(火) 00:28:32.22ID:Ri/mEtfGhttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
みんな普通に使っているということ。
普通の人が普通に仕事で使う、普通の実用言語。
F#やHaskellみたいに難しくて人が寄り付かないような言語ではないということ。
そりゃ、BASICなんかのお子ちゃま言語と比べれは難しいかもしれないが、
プロフェッショナルの使う実用言語なんだからある程度は当たり前だろう。
0271デフォルトの名無しさん
2015/05/19(火) 00:41:45.17ID:jGcxlJfu難しいから使わない 簡単だから使うとはならんし
広く使われる言語って 別に言語が優れてるからとか簡単だからって理由で使われるわけではないし
c++はcとの互換性から使われてるし
後 実用言語って何よ
ocamlだってhaskellだってscalaだって実用言語だよ
「簡単」とはみなされないだけで
0272デフォルトの名無しさん
2015/05/19(火) 02:04:40.28ID:Ri/mEtfG使っている人が少ないから難しいとはならないが、
使っている人が多いなら簡単は、真だ。
だって、実際多くの人が挫折せずに使えているのだから。
その程度には簡単ということ。理解できないレベルではないということ。
たくさんの関数型言語が有り、そうでない言語より優れているのは
明白なのに、いまいち普及しないのは何故だと考える?
答えは、難しいからだ。
多くの人がCからC++にステップアップした。
今はそうでもないが、その昔は猫も杓子もC++を使っていた。
C++が簡単だったから問題なくステップアップできたわけ。
同じ事が関数型言語でも起こると思う?
Java→Scala、C#→F#にみんな移行出来ると思う?
0273デフォルトの名無しさん
2015/05/19(火) 02:09:03.78ID:JW8ZA2Yc0274デフォルトの名無しさん
2015/05/19(火) 02:11:36.89ID:Ri/mEtfGここが違うんだよね。
難しいから「使えない」 簡単だから「使える」 が正解。
C++はTIOBEで第三位。多くの人が「使える」言語。
多くの人が理解できない関数型言語と違って。
こんなに誰でも使ってるC++を難しいといってしまってよいの?
世の中には家を建てたり自動車を作ったり心臓移植までしている
人たちが居るというのに。ハードル低すぎじゃね?
0275デフォルトの名無しさん
2015/05/19(火) 02:30:37.22ID:JW8ZA2Yc0276デフォルトの名無しさん
2015/05/19(火) 02:35:55.87ID:ZmlYhIi9return assign(n);
};
大変読みやすいです。
0277デフォルトの名無しさん
2015/05/19(火) 02:45:13.52ID:ZmlYhIi9示せないことではないでしょうか。
偉大なる◯◯で使われているという話はよく聞くのですが、BASICもCも偉大なる◯◯で
使われているのは変わりありません。
マップ・リデュースで一万コア・・・なんて話も良く聞かされるのですが、そもそも
一万コアのマシンを持っていませんし、C++にもそういったライブラリはあるのですが、
今のところ使いどころはありません。
ですから全く使いたいと思えないのです。
0278デフォルトの名無しさん
2015/05/19(火) 02:53:32.65ID:JW8ZA2Yc0279デフォルトの名無しさん
2015/05/19(火) 03:22:45.75ID:zSes0jIt一貫しているのは「C++が提供している機能を使わないプログラムは、それに伴うコストを負わない」っていう箇所くらいだ。
これに反しない限りはどんな仕様にもなっていく。文法もアドホックな部分が多い。
以下反駁:
>使っている人が少ないから難しいとはならないが、
と言った口で
>答えは、難しいからだ。
と言う論理の無さに震える。
多くの人が使えるなら簡単っていうことは、中国語が簡単だと言いたいんだろうな。
0280デフォルトの名無しさん
2015/05/19(火) 03:25:32.55ID:T8F04qppそんな宗教じみたもん無視するのがよろし
問題と向きあえば、最適な設計は自ずと導かれるもんよ
0281デフォルトの名無しさん
2015/05/19(火) 03:25:54.73ID:Ri/mEtfGモナドが難しすぎるから。
これに尽きる。
工学部出てても、圏論なんて聞いたこともねぇってやつがほとんど。
Wikiからして抽象的でそうとうの数学センスを要求される。
http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%8A%E3%83%89_%28%E5%9C%8F%E8%AB%96%29
しかもC++のマイナー機能やSFINIEをつかった複雑なテンプレートと違って、
関数型言語においてモナドは必須事項。
慣れてきたらそのうち・・・というわけにはいかない。
0282デフォルトの名無しさん
2015/05/19(火) 03:29:07.25ID:sK241CbT>>272さんの言う通り、使っている人が少ないからって難しいとは限らないが、果たしてHaskellはどうだろう。
個人的には普及の障害になるくらい難しいとは思わないけど…
0283デフォルトの名無しさん
2015/05/19(火) 03:32:47.88ID:ZmlYhIi9メリットが示されないので使われないのですよ。
0284デフォルトの名無しさん
2015/05/19(火) 03:45:36.89ID:sK241CbT初学者だった頃に引っかかった記憶はあんまりないけどなあ(むしろ(.)と($)にハマった。発狂しそうになった)。
だけど小学生の姪っ子をリストモナド使えるように教習しろって言われたら… 出来る自信ないわ。
ZmlYhIi9さんの意見にはぐうの音もでない。一般人がHaskell使って直接的に嬉しいことって、特にない気がするよ。
でもHaskellのスローガンは「可能なかぎり成功を避けろ」だからね。
人気ないのはむしろいいんだ。
0285デフォルトの名無しさん
2015/05/19(火) 03:56:54.04ID:Ri/mEtfG偏差値40の中国人でも中国語をつかえることを考えると、中国語は簡単なんだろう。
中国語が本当に難しくて偏差値60無いと理解できない言語というなら、中国は滅亡するだろ。
た・だ・し、通訳は難しい。
だから中国語を通訳できる人は少ないし、それだけで飯が食える。
そして、プログラミング言語がネイティブな人は居ない。
しかしこんなことは言葉遊びだ。
TIOBE第三位の多くの人が日々普通に使ってる言語を「難しい」「理解できない」と感じるなら、
単にその人の能力が標準以下なだけ。
多くの人が理解できないほど難しいのであればTIOBE第三位になるのは無理。
関数型言語がまさにそれ。多くの人が理解できない。TIOBE第三位なんて絶対無理。
0286デフォルトの名無しさん
2015/05/19(火) 03:58:58.68ID:T8F04qpp手続き型言語のプログラマで有限オートマトンがどうのという連中はいないもの
Haskellには妙ちくりんな尾びれがついちゃってる感じ
0287デフォルトの名無しさん
2015/05/19(火) 04:13:41.82ID:ZmlYhIi9ですからよく使われるのです。
0288デフォルトの名無しさん
2015/05/19(火) 04:31:48.32ID:F2BOffyE0289デフォルトの名無しさん
2015/05/19(火) 07:19:11.46ID:GUw3UG1p必須なのhaskelくらいだろ
そもそもwikiは糞だから参考になんねーよ
それにモナド使うのに圏論いらんし 型クラスの定義見ろ
0290デフォルトの名無しさん
2015/05/19(火) 09:13:31.09ID:WmVvlWKU6年前のSPJ発言か、良い引用だ
しょうもない格付け君は wall of bristle に断絶されてればいいよw
0291デフォルトの名無しさん
2015/05/19(火) 09:17:44.17ID:MzsPfgik0292デフォルトの名無しさん
2015/05/19(火) 09:45:45.16ID:JTaO2nL4中国語が難しいか=C言語が難しいか
通訳が難しいか=C++が難しいか
ですね、わかります。
0293デフォルトの名無しさん
2015/05/19(火) 10:45:34.91ID:0SacHJgX0294デフォルトの名無しさん
2015/05/19(火) 11:35:26.14ID:ZsRP29y3そこまで考えてるやつはC++は難しいと言う
そんなの想定外だとか未来の技術で簡単になるとかいう無責任なやつがC++は簡単と言う
このアンチパターンが半永久的に繰り返されるだろう
0295デフォルトの名無しさん
2015/05/19(火) 12:48:04.34ID:AXTyPS+t0296デフォルトの名無しさん
2015/05/19(火) 12:59:10.60ID:AXTyPS+t各々好きな言語でプログラミングして、最後に結合する作業が簡単にできるプラットフォームがあれば良いね。
単なるリンカではないぞ。
誰か作ってよ。
0297デフォルトの名無しさん
2015/05/19(火) 12:59:54.89ID:AXTyPS+t0298デフォルトの名無しさん
2015/05/19(火) 13:14:35.76ID:D1tZIuIK0299デフォルトの名無しさん
2015/05/19(火) 13:15:13.92ID:db2F8MVh/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
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, , '-, ゙'ー'ー' ヽ、`,ー、 `'ー'ー
0300デフォルトの名無しさん
2015/05/19(火) 13:21:14.57ID:TOz5556s岡部事件、
可能であれば、お仲間にもご周知を!
0301デフォルトの名無しさん
2015/05/19(火) 20:17:28.97ID:JXMeaZgm「パックマン」や「スターソルジャー」でもいい。
完成させるのに果たして圏論のどのような理解が必須だろうか?
あるいは、圏論の何を理解していればより効率的に作れる、
またはより効率的なものが作れるだろうか?
モナドはどこまで深く理解していなければならないのだろうか?
実際にやってみれば分かるが、思ってたよりも浅いモナドの理解で作れるはずだ。
恐らく入門書に書かれている程度の理解で十分。
圏論にいたっては意識すらしなくても良いはず(知らずに使ってる事はあるかも知れん)。
今時のマシンで普通に動くこの程度のアプリケーションで良ければ、
モナドが難しすぎるから作れないなんてことは絶対にない。
それなのに、声のでかい一部のバカが無責任に難しいと連呼するから、
門の前で中をうかがっている入門予備軍を怖じ気付かせる。
0302デフォルトの名無しさん
2015/05/19(火) 20:30:46.38ID:JW8ZA2Yc盤面上のデータ操作でもまあLearn you Haskellくらいを読んでれば十分だろ。
実際のところモナド変換子程度まで理解してれば困ることなんて殆どない。
Haskell難しいと連呼するのはHaskell触ってないやつ(いや確かに難しいけど)。
Haskellerが初心者に向かって圏論が〜なんてわけのわからん
威嚇をする実例はなど別にないと思うのだが。
0303デフォルトの名無しさん
2015/05/19(火) 21:15:19.01ID:Ri/mEtfGHaskellが普及して、TIOBE第三位になるぐらいに広く使われるようになって初めて、
Haskellは多くの人が理解できる程度に難しくない、ということが、
統計的に証明できる。
0304デフォルトの名無しさん
2015/05/19(火) 21:27:02.56ID:SB6c5oWN圏がどう射がどうとか語り始めるモナドチュートリアルは見たことある
モナドは何であるかじゃなくてどう使うかに絞った解説があればいいのに
Stateモナドもスタック実装して終わりで え?こっからどうやって実用するの!?とか思った記憶
0305デフォルトの名無しさん
2015/05/19(火) 21:30:12.17ID:jGcxlJfuhaskell難しいけど難しいから流行ってないわけじゃない
とういうかhaskellがたとえこの世で最も簡単な言語であったとしても
TIOBE第三位になる事はないから
0306デフォルトの名無しさん
2015/05/19(火) 21:31:23.95ID:1/0u9cTV0307デフォルトの名無しさん
2015/05/19(火) 21:44:28.21ID:JW8ZA2Yc様々な層に向けたそれぞれのチュートリアルがあるだけだろ。
数学的指向があったら最初に圏や関手の話から導入された方がわかる。
それに各モナドごとの個別チュートリアルは際限がなくなるからなあ。
モナドはなんというか見よう見まねで書き続けてると
ある時ふっ、とわかるんだよね。まあそういうもんだと思うしかない。
0308デフォルトの名無しさん
2015/05/19(火) 21:55:23.18ID:Ri/mEtfGお前は本当に頭が悪いな。
Haskellが普及してTIOBE第三位になれば、
Haskellは多くの人が理解できる程度に難しくない、ことが
統計的に証明できるんだ。
逆は知らん。
もし、Haskellが難しくなかったらTIOBE第三位になれるはず、とは誰も言ってない。
逆裏対偶ぐらい、習っただろ。
0309デフォルトの名無しさん
2015/05/19(火) 22:03:44.54ID:1/0u9cTV誰と戦ってるの?
0310デフォルトの名無しさん
2015/05/19(火) 22:29:33.06ID:Db21bduT0311デフォルトの名無しさん
2015/05/19(火) 22:46:21.27ID:sK241CbTSB6c5oWNさんが言うように、モナド実用例… クックブックのようなもの? はあんまし見かけないなあ。何でだろう
0312デフォルトの名無しさん
2015/05/19(火) 22:53:16.69ID:0SacHJgXそれだけじゃ入門者に優しくないって事ならその通りだけど。
0313デフォルトの名無しさん
2015/05/19(火) 22:57:09.05ID:jGcxlJfuだからTIOBEの順位と難しさは無関係だっつーの
言語の普及度は言語の難易度で決まるわけじゃない
つかhaskell難しくないなんていってねーし
0314デフォルトの名無しさん
2015/05/19(火) 23:04:59.38ID:jGcxlJfu高名なプログラマの意見の方がずっと参考になるだろ
例えば coders at workとかさ
難しいところを挙げろというが逆に簡単なところを挙げてほしいくらい
0315デフォルトの名無しさん
2015/05/19(火) 23:06:55.74ID:sK241CbT言われて探してみたんだけど、たとえばリストのdoの例は見当たらなかったよ。
初めのころ、確か、すごいH本で解説を読んで、感動した記憶がある。
あとはParsecの解説サイトでApplicative、Monadの用例を見て、雰囲気をつかんだ(気になった)。
0316デフォルトの名無しさん
2015/05/19(火) 23:17:27.46ID:JXMeaZgm気になっただけで、実際は雰囲気すら掴めなかったのはなんで?
そこの解説になにか問題があったの?
0317デフォルトの名無しさん
2015/05/19(火) 23:17:59.37ID:0SacHJgXリストのdo記法は考えてなかったわ。
モナドを自作するとこんな事が出来るとか、そういう事を指して実用って言ってるのかと思ってた。すまん。
0318デフォルトの名無しさん
2015/05/19(火) 23:50:39.22ID:Ri/mEtfG>だからTIOBEの順位と難しさは無関係だっつーの
関係あるっつーの。
少なくともシェアの大きい言語は、多くの人が理解できてるんだから、
その程度には難しくないことが統計的に証明されるだろ。
変な話、凡人でも理解できてるんだから。
難しくて一部のエリートしか理解できないってことは無いんだよ。
0319デフォルトの名無しさん
2015/05/20(水) 00:01:02.66ID:xG2YivgY>少なくともシェアの大きい言語は、多くの人が理解できてるんだから
使っているかといって理解できいるとは限らなくね?
>変な話、凡人でも理解できてるんだから
>難しくて一部のエリートしか
なお一部のエリートや天才レベルでも難しいと感じている模様
日本でも某ocaml使いとか愚痴ってたような
ていうか俺も仕事でc++を使うときあるけどc++を理解しないで使ってる連中の頭をかち割りたいね
0320デフォルトの名無しさん
2015/05/20(水) 00:02:05.71ID:j7/9a0p9弱い自分が強いと思いこめる武器を手に入れて暴れてるだけです
どうぞ生温かくても冷たくてもいいので見捨ててやってください
0321デフォルトの名無しさん
2015/05/20(水) 00:06:06.64ID:xG2YivgYjavaやjavascriptだって全然分かってない人が使ってたりしますし
ていうかtiobeって話題になってる言語を選定するサイトじゃなかったっけ?
0322デフォルトの名無しさん
2015/05/20(水) 00:39:39.55ID:hcXMT3AI使ってる人口じゃなくて、使っててこれどう書くのーってネットに書いてる人口を反映してるよね。
前者が多ければ当然後者も増えるが、難度が増しても後者は増える。
0323デフォルトの名無しさん
2015/05/20(水) 00:47:54.79ID:tyUici8Hや、書き方が悪かったよ。今でもモナドの使い方を淀みなく完璧に理解してるか? って自問したら、そこまでの自信は無いなあ。と思ってさ。そのサイトの解説はグッドでした。
>>317
いやいや俺なんてHaskell歴5年くらいになるけど、未だにMonadインスタンス自作したこと無いぜ… (deriving除く)
0324デフォルトの名無しさん
2015/05/20(水) 01:06:36.36ID:sW1Q6d6X俺もHaskell歴そのくらいだけど、自作Monadは2個だけだよ。
ほとんどの事は既にあるモナドで足りるよね
0325デフォルトの名無しさん
2015/05/20(水) 13:10:54.59ID:1z9LSkg7作った型が実はモナドだったということが多いのです」
みたいなことをすごいH本か何かで読んだ
0326デフォルトの名無しさん
2015/05/20(水) 14:32:34.25ID:XsmEqg/3オレは、FunctorやApplicativeに比べるとえらく不自然だなって思う
0327デフォルトの名無しさん
2015/05/20(水) 16:10:01.72ID:2N8UJ/7p(->) で作れる型はあれもこれもモナドだったから大半の型はモナドになる
モナドクラスは表向きは個々のインスタンスに依存しないふりをしているが
本当は (->) の力が無ければ何も出来ない
0328デフォルトの名無しさん
2015/05/20(水) 19:36:47.33ID:dadGQyQVモナドを完璧に理解することが目的(目標)なら、がんばれとしか言いようがない。
でも、何かを作ることが目的で、その手段としてモナドの完璧な理解が必要だと考えているのなら、
落ち着いて、完璧な理解までは必要としない方法を模索してみることを勧める。
0329デフォルトの名無しさん
2015/05/20(水) 19:48:41.11ID:XsmEqg/3> ラムダ計算で作れるデータ構造は大体 (->) で出来ている
> (->) で作れる型はあれもこれもモナドだった
これはどういうことを言ってるの?
0330デフォルトの名無しさん
2015/05/20(水) 21:00:24.87ID:+UYg+JjB関数に型を付けたら実はそれは>>=と同じ構造を持ってました
0331デフォルトの名無しさん
2015/05/20(水) 22:24:23.25ID:2N8UJ/7pnewtype Bar a b = Bar ((b -> a) -> a)
の二つが基本
他に類似品みたいなのがいっぱいあってみんなモナド
b -> (c -> a) -> a
b -> (b -> c -> a) -> a
(b -> a) -> (c -> a) -> a
0332デフォルトの名無しさん
2015/05/20(水) 22:38:43.62ID:XsmEqg/3どれもモナドにはみえないんだが、
どう見たらモナドになるんだ?
0333デフォルトの名無しさん
2015/05/20(水) 23:45:21.62ID:tyUici8Hありがとう。俺自身は、使う分には不自由してないんだ。初心者向けにモナドクックブック書いたら売れるかなあ、って思ってさ。
>>331
Fooがリーダーモナドで、Barが継続モナドですよね。
下のもモナドになるの?
0334デフォルトの名無しさん
2015/05/21(木) 00:00:34.02ID:de5tZE8e0335デフォルトの名無しさん
2015/05/21(木) 00:36:31.12ID:CoyRjUjS0336デフォルトの名無しさん
2015/05/21(木) 08:06:45.42ID:8IjR4TZr0337デフォルトの名無しさん
2015/05/22(金) 16:33:13.83ID:rEwHo9Ucbuild環境には debootstrap + schroot が便利という知見を得た
0338デフォルトの名無しさん
2015/05/22(金) 21:31:26.16ID:ISp/Va/90339デフォルトの名無しさん
2015/05/23(土) 11:21:43.20ID:0SRxUMd70340デフォルトの名無しさん
2015/05/23(土) 14:14:24.76ID:UgSbq8g00341デフォルトの名無しさん
2015/05/23(土) 16:41:37.34ID:lgd4dVFx0342デフォルトの名無しさん
2015/05/23(土) 18:06:20.76ID:BXmR/qwLその方が建設的かもしれない
LinusがCVSやSubversionを全否定したみたいに
0343デフォルトの名無しさん
2015/05/23(土) 18:35:43.05ID:JvMC0aIfほんと余計な苦労させられる
0344デフォルトの名無しさん
2015/05/23(土) 20:15:12.23ID:fe/IYzrE0345デフォルトの名無しさん
2015/05/24(日) 09:43:51.03ID:cgfZawIe0346デフォルトの名無しさん
2015/05/24(日) 19:42:49.77ID:3b2NjmUtさすがにbaseの衝突回避は無理か
0347デフォルトの名無しさん
2015/05/24(日) 20:15:13.71ID:XsNzee8o俺なら、そのインストールしようとしているパッケージがアップデートされるまで、
下記の方法でしのぐ。
そのパッケージの .cabal ファイル内の build-depends の項にある
base のバージョン指定を高くする。
cabal configure
cabal install
コンパイルエラーが出たらその箇所を修正し再度インストール。
エラーが出なくなるまで繰り返す。
テストが用意されているパッケージならテストもしておいた方がいい。
0348デフォルトの名無しさん
2015/05/24(日) 21:27:46.60ID:+ZfT5bPb0349デフォルトの名無しさん
2015/05/24(日) 22:55:26.97ID:XsNzee8oせっかく Haskell があるのだから、試しに作ってみてはどうだ?
いろいろ勉強になるかも知れん。
俺は特に必要とはしていないから取りあえず興味ないが。
0350デフォルトの名無しさん
2015/05/24(日) 23:21:49.16ID:vsIUw6N4#!/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にするなり、好きにしろ。
0351デフォルトの名無しさん
2015/05/24(日) 23:36:19.30ID:vsIUw6N4Before
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内のパッケージ列挙とか。
0352デフォルトの名無しさん
2015/05/24(日) 23:52:10.59ID:vsIUw6N4alias ghci="cabal exec -- ghci"
の方がベター。cabal repl と比べて、hsファイルを渡して実行できるとこがよい。らしい。
おまえらも haskellマメ知識 晒してけ。
0353デフォルトの名無しさん
2015/05/25(月) 00:01:02.95ID:2thWXfeV0354デフォルトの名無しさん
2015/05/25(月) 08:21:00.05ID:GzRiv4UP0355デフォルトの名無しさん
2015/05/25(月) 11:39:32.92ID:qzlNoXZkあきらめてGHCのバージョン上げましょう
0356デフォルトの名無しさん
2015/05/25(月) 22:26:35.18ID:gWg9G8z2インストールしたいパッケージが想定しているより、
今のGHCのバージョンが高いから base が新しすぎると言われているのでは?
0357デフォルトの名無しさん
2015/05/26(火) 07:43:43.97ID:shSvTWy+プリプロセッサを捨てて一本道になった言語は依存関係が一つ壊れるだけで致命傷になる
0358デフォルトの名無しさん
2015/05/26(火) 12:56:29.60ID:Y4vROO870359デフォルトの名無しさん
2015/05/26(火) 13:07:38.46ID:xYtlptqc>プリプロセッサを捨てて
とりあえずGHCのことじゃないことだけはわかった
0360デフォルトの名無しさん
2015/05/26(火) 13:52:36.05ID:nTvEmyje嘲笑することで意識を低下させるのはある意味正しい
0361デフォルトの名無しさん
2015/05/26(火) 19:09:40.90ID:XXhPjawb彼らが楽しく砂遊びできる環境
0362デフォルトの名無しさん
2015/05/26(火) 21:26:37.23ID:8xzkswfT0363デフォルトの名無しさん
2015/05/27(水) 08:11:39.10ID:tHNT180U0364デフォルトの名無しさん
2015/05/27(水) 14:47:53.27ID:IRVvjMC1おい、岡部が住井先生を相手に公開スキル対決したいと言ってるぞ!
会場どこにする?
0365デフォルトの名無しさん
2015/05/27(水) 16:37:40.89ID:j/Edc2+cうぜえからここに引用されてるドーキンスの文章でも暗誦してろよ
http://d.hatena.ne.jp/NATROM/20141231/p1
0366デフォルトの名無しさん
2015/05/27(水) 19:47:09.26ID:NxdwWN3aとにかくまず「先生」つけるのやめろ
お前は家来でも俺たちは違う
話はそれからだ
0367デフォルトの名無しさん
2015/05/27(水) 19:58:53.76ID:dwpwEnF2もうずっと未解決の問題に対しても
制限時間を設定してやれば時間内に成果が出るんじゃないかと錯覚してしまう
0368デフォルトの名無しさん
2015/05/27(水) 20:22:08.94ID:yzh13mxX0369デフォルトの名無しさん
2015/05/27(水) 20:22:49.61ID:iCUdlE3X現実世界に友達が居ないから、ネットで相手してもらえるのがうれしいの?
仕事無いから暇なの?炎上マーケティング?
それとも、ネットであやふやなことを適当に言いまくって、
誰かに指摘させることで自分がスキルアップできる戦略?
0370デフォルトの名無しさん
2015/05/27(水) 20:27:57.54ID:B0g6EoUC生 同 .じ . /´ | (ゝ___) い
.し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、
.な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j
.い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´
.! ! か の / ´..:.} >、、___, .r、 ソ、`\
/ ..:.:.} / |∨ ` ̄
/ ..:.:./ | 丶
/ _、 ..:.:.:.{ .{.:.:. \
{ ..:Y .ゝ、 {.:.:.:.:. ヽ
|、 ..:/ 丿 .:〉 >.- ⌒ . ヽ
/ {. ..:./ ソ ..:./ .( ..:.:.:` ..:}
./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:}
./..:.:/|.:/ {.:./ X.:.:}.} X X
/..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y
. __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\
/.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
0371デフォルトの名無しさん
2015/05/27(水) 22:10:38.46ID:3uTYMaQfどうしろと
0372デフォルトの名無しさん
2015/05/27(水) 22:23:47.94ID:UvDWsdEw0373デフォルトの名無しさん
2015/05/27(水) 22:39:08.49ID:j/Edc2+c0374デフォルトの名無しさん
2015/05/27(水) 22:52:27.13ID:CaKPB6kG0375デフォルトの名無しさん
2015/05/28(木) 03:03:31.40ID:gCuhL1rI0376デフォルトの名無しさん
2015/05/28(木) 07:50:15.34ID:oT6P6+n+基地外(特に構ってちゃん系)は一切反応せずまるで存在しないかのように振る舞うのが一番効くと思うけど
0377デフォルトの名無しさん
2015/05/28(木) 08:58:11.27ID:clFLgS2Fおいwwwwwwww
0378デフォルトの名無しさん
2015/05/28(木) 12:15:04.59ID:hQk09exV0379デフォルトの名無しさん
2015/05/28(木) 12:57:16.48ID:q7N6UgpTいやなら積極的代案を出せ
消極的異論は認めない
0380デフォルトの名無しさん
2015/05/28(木) 15:27:38.42ID:4gR+9k9Mコロシアエ-
0381デフォルトの名無しさん
2015/05/28(木) 19:32:48.07ID:TqklPbnTえっ、結城さんそんなことしてるの?
あの人だけはバカなことに関わらないと思ってたのに。
0382デフォルトの名無しさん
2015/05/28(木) 20:47:10.51ID:q7N6UgpTバカなことに関わらないという義務はない
どうするかは自由
0383デフォルトの名無しさん
2015/05/28(木) 21:58:53.30ID:gCuhL1rIでも数学もソフトウェアも西洋の物だから。
それを変に東洋風に解釈しなおして可笑しくなっているんじゃないかと予想。
0384デフォルトの名無しさん
2015/05/28(木) 23:05:28.91ID:gCuhL1rIhttp://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
「「名誉」という言葉をあなたがどういう意味で使っているのか、よくわからないわ」アリスが言いました。
するとハンプティ・ダンプティは馬鹿にしたような笑いを顔に浮かべました。
「もちろんわからないだろうさ、僕が説明しないかぎりね。僕は「もっともだと言って君が降参するような素敵な理由がある」という意味で「名誉だ」と言ったんだよ!」
「でも、「名誉」という言葉に「もっともだと言って君が降参するような素敵な理由がある」なんて意味はないわ」アリスは抗議しました。
「僕が言葉を使うときはね」とハンプティ・ダンプティはあざけるように言いました
「その言葉は、僕がその言葉のために選んだ意味を持つようになるんだよ。僕が選んだものとぴったり、同じ意味にね」
0385デフォルトの名無しさん
2015/05/29(金) 11:33:50.58ID:UvEliUlK詐欺は犯罪だが秘密は犯罪ではない
0386デフォルトの名無しさん
2015/05/29(金) 14:59:20.11ID:QoqBsPX0上から衒学的単語を浴びせかけるのではなく、自ら同じ知識水準まで降りていって話すものだ
0387デフォルトの名無しさん
2015/05/29(金) 17:40:28.18ID:2KSZyB2Q件の人物はどうでもいいが、それにかこつけて東洋哲学や数学をdisるのはやめてほしいw
近代、既に井上円了や西田幾多郎をはじめ、優れた哲学思想者がいたし、近世にさかのぼっても、
和算は優れた数学の体系とみなしうる。先人が件の人物の主張を聞けば、へそで茶を沸かすだろうw
0388デフォルトの名無しさん
2015/05/29(金) 17:54:20.08ID:2KSZyB2Qまったくその通りです。>>387に絡めて言えば、東洋思想や仏教全般に不案内な人々に対して、
相手の解りやすい論理の枠組みで対話し、西洋哲学だけが思考の最高峰に立つのではないことを、
米国や西欧で知らしめたのが、鈴木大拙。鈴木が伝えた"禅"は以後、世界的な影響を保っている。
0389デフォルトの名無しさん
2015/05/29(金) 18:41:37.14ID:UvEliUlKと評価されるパターンが多い
だから解りやすさという基準は使いたくない
0390デフォルトの名無しさん
2015/05/29(金) 18:50:35.89ID:rC7lKM23Haskellerってこんな胡散臭い似非哲学者ばっかなの?
0391デフォルトの名無しさん
2015/05/29(金) 20:11:55.35ID:eyi3DmdL「面白がって」ってのは全然あたってないと思うけど。
0392デフォルトの名無しさん
2015/05/29(金) 20:57:19.41ID:5MhrblBL技術者ならありのまま受け入れろよ。空想に浸ってんじゃねーよ。禅も糞もあるかよ。
再解釈や独自の世界観も要らん。そういうことがしたければエヴァンゲリオンの監督でもしてろ。
0393デフォルトの名無しさん
2015/05/29(金) 21:32:12.05ID:CaA5FwTY0394デフォルトの名無しさん
2015/05/29(金) 21:59:14.56ID:6mGsQHLKただのあおりだと思うけど、長く続ける話でもないので、一応、一度だけ返答を。
Haskellどころかプログラムコード全般を書くのに、禅や、井上・西田・鈴木の思想に触れる必要なんて、
まったくなく、主張もしてません。そういう類のことをやって悦に入っているのは、件の人物です。
>>387は>>383への、>>388は>>386への話に対する"例示"として出しただけです。
いわば、プログラムでいうところの、特定の箇所のみ有効な、ローカル変数としての扱いの話題で、
Haskellスレ全体に及ぶグローバル変数的な話題ではありません、お間違いなく。
なお、Haskellは意図せずに変数がグローバルに扱われることを防ぐ手立てが、独特かつ学びがいも
あるので、興味があるのなら、各種情報をあたってください。
0395デフォルトの名無しさん
2015/05/29(金) 22:24:42.09ID:UvEliUlK意図しないことを防ぐことは
両立しないと思うがどうするんだ
0396デフォルトの名無しさん
2015/05/29(金) 22:28:07.67ID:1bdHe0ko時々ありのままを受け入れて
時々意図しないことを防げば良いだけだと思うが
0397デフォルトの名無しさん
2015/05/29(金) 23:00:38.74ID:5MhrblBL意図しないことを防げばよい。
相手の言うことをよく聞いて、十分理解したうえで、
それを否定的に考えるかどうかは当然自由だわな。
それを相手の言っていることが、理解できないからといって、
自分の辞書で再解釈し始めると、
会話が通じなくなってきて、あの人みたいになる。
これは最も相手をイラつかせる方法だろうな。
はっきり言ってケンカになる。
0398デフォルトの名無しさん
2015/05/30(土) 00:06:51.02ID:y2xM1Hhu意図的に作ったものと自然にできたものを区別しない
0399デフォルトの名無しさん
2015/05/30(土) 01:53:48.06ID:/LSFXZZf0400デフォルトの名無しさん
2015/05/30(土) 08:55:45.75ID:I7OEXYWz岡部健(毛の壁)のような最先端が不在だよね
0401デフォルトの名無しさん
2015/05/30(土) 11:19:25.28ID:99bpmAVW0402デフォルトの名無しさん
2015/05/31(日) 07:54:58.92ID:tRtL6h/C>えっ、結城さんそんなことしてるの?
>あの人だけはバカなことに関わらないと思ってたのに。
キリスト教徒は愛とか善とか押し売りするクズばっかりで嫌い
0403デフォルトの名無しさん
2015/05/31(日) 09:07:02.06ID:6v3o16Hx0404デフォルトの名無しさん
2015/05/31(日) 09:52:05.60ID:y0vichKB0405デフォルトの名無しさん
2015/05/31(日) 10:22:25.59ID:/wZ7j18U実際のソース
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
0406デフォルトの名無しさん
2015/05/31(日) 10:28:49.84ID:Z+YrU6Ep0407デフォルトの名無しさん
2015/05/31(日) 11:16:11.11ID:Y5Q5hqkxother-modules
0408デフォルトの名無しさん
2015/05/31(日) 11:23:47.90ID:/wZ7j18Uありがとうございます
other-modules: Util, Hoge
としたら出来ました。.hsつけちゃダメなんですね
040910人に一人はカルトか外国人
2015/05/31(日) 12:47:30.55ID:gFQ+S0pm・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト
10人に一人はカルトか外国人
「ガスライティング」で検索を!
0410デフォルトの名無しさん
2015/05/31(日) 23:07:34.36ID:bhwHs6KpMyData型というのがあるとして、
次のような感じの再帰的なデータ構造を
作りたいのですがどうやって
宣言したらいいのでしょうか?
MyData = [A | B | C | MyData]
0411デフォルトの名無しさん
2015/06/01(月) 00:37:34.71ID:7t5thP4ddata MyValue = A | B | C | D MyData
0412デフォルトの名無しさん
2015/06/01(月) 07:49:51.08ID:2iXePbMK憎しみと悪が世の中に満ちて欲しい我らとしては目障りよのう^^;
0413デフォルトの名無しさん
2015/06/01(月) 08:39:30.47ID:E7FyS8+c岡部氏の本、売れているようだが、これでもまだおまえらは否定するか?
0414デフォルトの名無しさん
2015/06/01(月) 10:31:20.23ID:hNOdkfuP金返せだとw
返金保障はしてないの?
FX本で揉め事起こしておいてよくやるぜ
0415デフォルトの名無しさん
2015/06/01(月) 15:23:30.31ID:Z2VsugfRあの厚さにしては安いし。
0416デフォルトの名無しさん
2015/06/01(月) 21:41:48.25ID:AkSsBG070417デフォルトの名無しさん
2015/06/01(月) 22:06:25.83ID:K67NswvK最終警告。なめんな
0418デフォルトの名無しさん
2015/06/01(月) 23:47:52.81ID:Y6nutYnE直接言えよ
0419デフォルトの名無しさん
2015/06/02(火) 06:11:38.24ID:rgUwgwJK0420デフォルトの名無しさん
2015/06/02(火) 06:33:33.99ID:/sF+2pLLというのは、田中氏はAskとTwitterを同期させているからです。よって(どこかの誰かがした質問に含まれる)毛の壁リンクも田中氏(のアカウントから自動的)に呟かれることになります。
0421デフォルトの名無しさん
2015/06/02(火) 10:16:26.38ID:Tk2gIrJG$ cd xxx
$ cabal sandbox init
$ cd ../
$ mv xxx yyy
$ cd yyy
$ cabal install hoge
cabal: No sandbox exists at /.../xxx/.cabal-sandbox
0422デフォルトの名無しさん
2015/06/03(水) 08:39:22.30ID:aJoKJBXt0423デフォルトの名無しさん
2015/06/03(水) 10:26:36.81ID:I/rtMDUu0424デフォルトの名無しさん
2015/06/03(水) 10:53:49.25ID:lNaMRMgLµ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。
Haskellのモナドクラスってのは単にμとηに相当する関数を持っていることを要請するだけで、
上の式を満たすようにインスタンスを定義しないと圏論で言うモナドにはならない。
Haskellのモナド3則は、上の式をKlisli starを使って書き直すと出てくるんじゃなかったっけな。
一度やったが、ここだけやっても面白くなかった記憶がある。
0425デフォルトの名無しさん
2015/06/03(水) 14:12:43.98ID:I/rtMDUu> 圏論で言うところのモナドってのは<T,η,μ>の3つ組が
> µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。
なぜそんな3つ組を考えてなぜそういう条件をつけるのかというのは、
ここでは聞いちゃいけなかったのかな?w
圏論の本では天下りに書いてあるだけなので教えてくれるとうれしい
0426デフォルトの名無しさん
2015/06/03(水) 17:22:57.96ID:lNaMRMgLHaskellで何故モナド則が必要かは↓を見れば分かる。
https://wiki.haskell.org/Monad_laws
モナド則を満たさないインスタンスは取り回しが悪い。モナドにする必要性が無い。
f : (Monad m) => ...なジェネリックな関数の振る舞いに何も期待できなくなる。
圏論の話をしたいなら他所でやってくれ。単芝生やす前に>>423で>>425の意図が読めるか拙い頭で自省しとけ。
0427デフォルトの名無しさん
2015/06/03(水) 18:36:14.98ID:nbbdPdbj0428デフォルトの名無しさん
2015/06/03(水) 20:40:35.99ID:o4gP2WaRfoo 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))
0429デフォルトの名無しさん
2015/06/04(木) 11:03:34.20ID:TEKHUXbi関手圏における対象(元の圏での自己関手)Fたちの「べき乗」 FF, FFF, FFFF, ... たちを
Fにまとめるための積に相当するものとしてμが、そしてそのような「積」が結合法則を
満たすことの要請として
μ(Fμ)=μ(μF)
が,そしてFの「ゼロ乗」に相当するものとしてηが与えられる。ηが「積の単位元」
に該当するための要請が、μ(Fη)=id F =μ(ηF) となる。
半群の代数法則を集合と写像の図式で書き表してみると上のような法則がどのように
して導かれるかわかる。
このような意味でモナドは「一般化された半群」だと言える。
一度モナドFが与えられたとき、Fを利用して X -> F Y 型の射を「合成」する手段が得られることが
わかる。KleisliにちなんでKleisli射などと呼ばれる。
詳しいことはマクレーン「圏論の基礎」を読んで欲しい。例がいちいち高尚なので読みづらいが
どのみちあの全ての例を理解できるひとなどいないと思っておけばいい。
0430デフォルトの名無しさん
2015/06/04(木) 12:14:47.63ID:6HPpoO/kサンクス
要するに、まず、μはモナド領域における積演算であり、それは結合法則を満たす、でいいよね。
そしてηはその積演算についての単位元、と言いたいが、ηはモナド領域の元ではないので
そうは言えないよね?
0431デフォルトの名無しさん
2015/06/04(木) 17:28:26.87ID:TEKHUXbi「モナド領域」で何を言いたいのかわからない。
#言葉はなるべく正確に使おう
>>429の補足
モナドと半群Gの類似性を捉えるためには「単位元」を「ゼロ項演算」とみなすとよい:
e : * --> G
ここで、* は単元集合ならなんでもよいのだが、何か一つ決めておく。そして任意の集合Sに対して
* × S と S
が 1-1 かつontoな写像で結ばれているので同じと「みなす」ことにより、* は「デカルト積における単位元」
とみなせる。(集合A,Bの共通部分 A ∩B を「積集合」と呼ぶ場合があるが、全然違う「積」であることに注意)。
半群Gの「積をとる演算」m はもちろん
m : G×G --> G
となる。
(つづく)
0432デフォルトの名無しさん
2015/06/04(木) 17:30:36.75ID:TEKHUXbi(つづき)
こうやって考えてみると半群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>
など。半群というものをこのような視点で捉えて初めてモナドとの関係が見えてくるわけです。
抽象的に見て初めて見えてくるのであってそれを乱暴に「モナドは半群である」と言い切ると、
色々誤解を招くわけです。
0433デフォルトの名無しさん
2015/06/04(木) 17:33:45.51ID:TEKHUXbi0434デフォルトの名無しさん
2015/06/04(木) 17:52:43.81ID:6HPpoO/kむしろモナド則を満たさないように定義する方が難しいのでは?
0435デフォルトの名無しさん
2015/06/04(木) 18:10:46.82ID:OGWHpt3Yリストはモナドであることを証明せよとか
このデータ型はモナドか? 理由と共に答えよ
とか
必要な関数を足して、このデータ型をモナドにせよ
とか出るんでしょ!ひえぇ
0436デフォルトの名無しさん
2015/06/04(木) 21:25:30.08ID:yrg33OPnηと恒等関手の違いがさっぱりわからない
こんなの絶対おかしいよ
0437デフォルトの名無しさん
2015/06/04(木) 22:57:11.06ID:yrg33OPn恒等関手も単位元
F^n ⇔ F ってことは F も単位元かな
1^n = 1 と同じように
0438デフォルトの名無しさん
2015/06/04(木) 23:01:33.99ID:TEKHUXbiηは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ってノリの箇所も結構あるので一度きちんと自分で整理してみることを
勧める。
0439デフォルトの名無しさん
2015/06/05(金) 16:27:16.31ID:oA4lY9uSおまえら【自称】関数型コミュニティーのしょーもない組織票も、所詮はごくごく一部の小さな力に過ぎない
「正しさ」ってどんなにおまえらがわめいてもねじ曲げられないのさ
0440デフォルトの名無しさん
2015/06/05(金) 16:27:52.01ID:oA4lY9uS0441デフォルトの名無しさん
2015/06/05(金) 16:56:46.59ID:NH+N2vxp正しい力学w
☆☆☆☆☆ 4 人中、0人の方が、「このレビューが参考になった」と投票しています。
☆☆☆☆☆ 55 人中、7人の方が、「このレビューが参考になった」と投票しています。
☆☆☆ 30 人中、2人の方が、「このレビューが参考になった」と投票しています。
☆☆☆☆☆ 85 人中、9人の方が、「このレビューが参考になった」と投票しています。
☆ 106 人中、97人の方が、「このレビューが参考になった」と投票しています。
0442デフォルトの名無しさん
2015/06/05(金) 19:45:34.72ID:wKAWiqlA問い合わせ: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 氏のレビューページ
http://www.amazon.co.jp/gp/cdp/member-reviews/A2KNM1BDUB22Q の google
キャッシュを見たらユーザ名が kenokabe で吹き出しそうになった
http://f.hatena.ne.jp/xr0038/20150426201833
0443岡部健
2015/06/06(土) 07:00:48.03ID:/qvfFI9eえー加減にせーよ
0444デフォルトの名無しさん
2015/06/06(土) 07:04:20.42ID:EMdVS6mwアホか
0445デフォルトの名無しさん
2015/06/06(土) 14:03:45.58ID:/qvfFI9e0446デフォルトの名無しさん
2015/06/06(土) 14:04:41.32ID:/qvfFI9e0447デフォルトの名無しさん
2015/06/06(土) 15:09:56.77ID:EMdVS6mwどアホが
0448デフォルトの名無しさん
2015/06/06(土) 16:17:49.33ID:G0vvOPfV0449デフォルトの名無しさん
2015/06/06(土) 17:04:05.29ID:QYGhKlvXおまえらが国際的にみて異端だとするこの記事について論理的に反論してみて?ほれ?
村上、いつも遠くから吠えるだけだな?たまには立論してみろやクソアマ
0450デフォルトの名無しさん
2015/06/06(土) 17:04:35.64ID:QYGhKlvXこれは権威主義のおまえらの試金石だ
0451デフォルトの名無しさん
2015/06/06(土) 17:27:34.64ID:ZV6D40F6前提である【自称】関数型コミュニティが横暴に振る舞っているのかどうかさえ判断はできないのだから反論する必要すらない
マイクロソフトの定義は正しいだろう
しかしそのことが【自称】関数型コミュニティが横暴に振る舞っていることの証拠にはならないのだから
つまり
そもそもこの記事に論点が存在するのかどうかすら怪しい
誰かソースを出してはくれないだろうか
0452デフォルトの名無しさん
2015/06/06(土) 17:34:13.60ID:EMdVS6mw終わり
0453デフォルトの名無しさん
2015/06/06(土) 18:20:24.88ID:sdR7Jr6ehttp://kanae.2ch.net/test/read.cgi/prog/1431818519/635-636
「全く意味不明」
「完全に不可解」
0454デフォルトの名無しさん
2015/06/06(土) 18:59:18.59ID:GcGbQkecタイトルからして「関数型プログラミングと命令型プログラミング」。
https://msdn.microsoft.com/ja-jp/library/bb669144.aspx
「一方、C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む
ほとんどの主流言語は、主に命令型 (手続き型) プログラミングをサポートするために作成されています。」
「C#、Visual Basic、C++、Java などのオブジェクト指向プログラミング (OOP) 言語を含む」
「ほとんどの主流言語は、主に」「命令型 (手続き型) プログラミングをサポートするために作成」
誰もオブジェクト指向と関数型を対比してない(毛を除く)。毛の読解力が小学生レベルで欠如してるだけ。
そもそもSchemeやHaskellでオブジェクト指向プログラミングしたり、
C++やJavaScriptで関数型プログラミングできるんだから、対立してるわけがない。
0455デフォルトの名無しさん
2015/06/06(土) 19:36:56.78ID:IblTw25F「C言語でもOOPできる」みたいな話に全力で反論してたんだぜ
古本屋で買った「オブジェクト指向入門」に
「混血によるアプローチは混血なりの品質しかもたらさない」って書いてある
いま確認したから間違いない
0456デフォルトの名無しさん
2015/06/06(土) 19:51:13.31ID:GcGbQkecHaskellみたいな専用の関数型言語に比べて不自然な面があるのは
否定はしない。逆に然り。両方ともサポートした言語もあるにはあるが。
0457デフォルトの名無しさん
2015/06/06(土) 19:53:20.38ID:GcGbQkec× 逆に然り
○ 逆も然り
0458デフォルトの名無しさん
2015/06/06(土) 20:03:34.07ID:0M3+/TFN0459デフォルトの名無しさん
2015/06/06(土) 20:19:35.99ID:uv2S2fjH特権意識・差別意識まみれの根腐れたおまえらが「見たくないものはみえないふり」して小さな島国のごく一部の界隈で、
国際的潮流に乗ってる有識者を【村八分】にしたい、してるだけ。
チョン同然、あるいはチョンそのもので構成されていても別段驚かないし、その傾向がある
0460デフォルトの名無しさん
2015/06/06(土) 20:25:57.60ID:KMNvqcU5不自然というか、C++とかでも頑張れば関数型プログラミングも可能。
ただしそれは「関数型プログラミング言語をC++で実装」するようなもん。
実際、初期の関数型言語はCで実装されていたりしたしね。
だから今時は最初からHaskellなり使えばいいというレベルの話。
0461デフォルトの名無しさん
2015/06/06(土) 20:43:39.24ID:sdR7Jr6eフランス情報学研究所で博士号取得して欧米外資銀で関数型プログラマやってたり
米計算機科学会や国連情報処理学会の関数型プログラミング委員とか委員長だからなw
0462デフォルトの名無しさん
2015/06/06(土) 20:46:43.22ID:24cQnkdA【茶道モテ】毛の壁ファンクラブ57【孤立無援】 [転載禁止]&#169;2ch.net
http://yomogi.2ch.net/test/read.cgi/net/1432605927/
土曜・日曜は岡部健のブログを読み解こう!★2 [転載禁止]&#169;2ch.net
http://kanae.2ch.net/test/read.cgi/prog/1432729445/
0463デフォルトの名無しさん
2015/06/06(土) 20:48:26.12ID:0M3+/TFNもっと有意義な話をしてくれ
0464デフォルトの名無しさん
2015/06/06(土) 20:57:41.59ID:GcGbQkecどこぞで話題になってたones=1:onesのonesが(1:)の最小不動点(実際には唯一の不動点)という件、
Haskellでも再帰的定義は常に最小不動点という解釈で合ってる? もちろん:とか関数はlazyだとして。
0465デフォルトの名無しさん
2015/06/06(土) 22:10:30.32ID:h/G/zDwfもっとふざけたことしてるやつもいるからな。VBAで関数型プログラミングとか。
0466デフォルトの名無しさん
2015/06/07(日) 05:28:41.31ID:MhTDgKGm0467デフォルトの名無しさん
2015/06/07(日) 12:56:36.19ID:jVcLNsk7結局あれ流行らなかったね
0468デフォルトの名無しさん
2015/06/07(日) 13:37:10.71ID:lpscvJOy割と早期にTimberに移行したから。
http://timber-lang.org/index.html
そもそもサブタイピング便利か? というのもあり。
OlegのHListとか見るとねえ……
0469デフォルトの名無しさん
2015/06/08(月) 08:10:38.52ID:rqAfod0u0470デフォルトの名無しさん
2015/06/08(月) 13:32:32.63ID:ZD5oJ+MT岡部健、チマチマとメールでこっそり罵倒ww
http://b.hatena.ne.jp/entry.touch/253482981/comment/shokai
0471デフォルトの名無しさん
2015/06/08(月) 14:13:06.97ID:pkFJsD/2kenokabe こと 岡部健 #毛の壁 のブログにてコメントを出すと、もれなくメールにて毛の壁による罵倒、ならびにヘア告訴されるかもしれない権利が付与されるそうに御座いまする。 桑原桑原。
0472デフォルトの名無しさん
2015/06/08(月) 19:10:07.57ID:dWqRejTW2chだけじゃないですよ?
0473デフォルトの名無しさん
2015/06/08(月) 20:21:54.95ID:cjhIgMXyMLスレは閑古鳥が鳴いているのに、マ板の岡部スレでは月曜の朝からOCamlerで大賑わい。
少しは自分たちの異常さを認識したほうがいい。
0474デフォルトの名無しさん
2015/06/08(月) 21:03:59.90ID:wHGZFrsFmapから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)
0475デフォルトの名無しさん
2015/06/08(月) 21:31:31.35ID:zzT0ePpxscanl z f xs = ys
where ys = z:(zipWith f xs ys)
と書いてから、zipWith xs ys をmapで書き直せば
確かにこうなるな。最後の要素を取ればfoldlになるわけだ。
0476デフォルトの名無しさん
2015/06/09(火) 05:59:45.81ID:keQMp1Zr>>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
0477デフォルトの名無しさん
2015/06/09(火) 14:28:52.87ID:keQMp1ZrzipWith 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)。
もちろん再帰をこのようにまわりくどく用いた定義をせずに簡明な普通の再帰で書くべきです
0478デフォルトの名無しさん
2015/06/09(火) 15:29:01.79ID:Wpjwmkjsそこからの転載も不要。
0479デフォルトの名無しさん
2015/06/09(火) 16:22:18.33ID:AVtZDhrR0480デフォルトの名無しさん
2015/06/09(火) 16:28:45.86ID:GtnmaKAw0481デフォルトの名無しさん
2015/06/09(火) 17:31:06.57ID:keQMp1ZrHaskellプログラミング以外の話はよそでやれ
0482デフォルトの名無しさん
2015/06/09(火) 18:12:13.77ID:s+m3IBNOは面白いと思う
0483デフォルトの名無しさん
2015/06/09(火) 18:36:24.03ID:Wpjwmkjsしばしば目にするパターンではあるんだよな。
余再帰を巧く使いこなせるようになりたいとは思う。
0484デフォルトの名無しさん
2015/06/09(火) 19:37:05.34ID:YMX6lY//「$演算子による関数適用の区切り」と「.演算子による関数合成」
この違いというか使い分けって
$演算子は括弧対応を沢山省略できて便利
例: sin $ cos $ tan $ x + 1
.演算子は関数合成で変数に束縛可能になるから便利
例: fun = sin . cos . tan . (+ 1)
くらいかなと思ったのですが、後者は
fun x = sin $ cos $ tan $ x + 1
別にこれでも構わないわけですよね。
.演算子の利点って他に何があるんでしょうか?
0485デフォルトの名無しさん
2015/06/09(火) 19:46:28.21ID:Wpjwmkjsポイントフリー教信者が使うため。
ってのはともかく、mapみたいな高階関数に関数を
渡さなきゃいけないところで、
map (¥x -> f $ g x) xs
map (f . g) xs
を見比べれば意味がわかるのでは。
なにかに関数を連鎖して適用した結果ではなくあくまで
連鎖した関数そのものが欲しい時には ( . ) が便利。
0486デフォルトの名無しさん
2015/06/09(火) 20:00:13.95ID:YMX6lY//fun x = sin $ cos $ tan $ x + 1
一応これでも目当ての関数 fun が得られてると思うのですが、要は「引数って邪魔だよね」的な感覚?
美的感覚だけでなく実行効率も違ってくるのでしょうか。
0487デフォルトの名無しさん
2015/06/09(火) 20:10:23.23ID:Wpjwmkjs(f . g) を普通に「gしてfする」とか読むのになれると引数の方がじゃまになる。
「¥x -> f $ g $ x +1 」 より 「 f . g . (+1)」の方が、
「1足してgしてfする」と読みやすいし明瞭でしょ。
そのうちmapの引数にいちいちラムダ式書いてられるかって気になるよ。
よく使うものの構文は軽くなくてはいけない、というだけ(美的感覚とは少し違う)。
0488デフォルトの名無しさん
2015/06/09(火) 20:13:23.65ID:YMX6lY//例えば
fact :: Integer -> Integer
fact n = product [1..n]
よりも
fact = foldl (*) 1 . enumFromTo 1
のほうがスマートで好まれるのでしょうか。
実行効率同じなのになんだか可読性を犠牲にしすぎのように思えるのですが。
0489デフォルトの名無しさん
2015/06/09(火) 20:21:06.13ID:Wpjwmkjsポイントフリー教に入信する理由は全然ない(本当にやめてほしい)。
簡単に「〜して…して〜する」みたいに読める時だけ使えば十分。
いちいち名前をつける必要のない(むしろ使い捨てなので名前をつけるべきでない)ような
関数のチェインをラムダ式よりも軽い構文で書ける、というのがまずは利点。
もう少し慣れてくると今度は Control.Lensパッケージが 関数合成演算子( . )を
あたかもオブジェクト指向言語のメソッド呼び出しであるかのように見せる
芸当を見せてくれるけど、それはまだ先の話。
0490デフォルトの名無しさん
2015/06/09(火) 20:39:29.39ID:YMX6lY//0491デフォルトの名無しさん
2015/06/09(火) 22:00:18.96ID:On8D0YSk人間が書いたものは読めないならクレームをつけて書き直させることができるが
自然現象のようなものを読む場合は読む人の能力に全てがかかっている
0492デフォルトの名無しさん
2015/06/09(火) 22:31:32.15ID:lp6qdJfP0493デフォルトの名無しさん
2015/06/09(火) 23:05:53.18ID:On8D0YSkなんで驚いた側ではなく驚かせた側を改善しようとするのかね
両方改善した方がいいのに
0494デフォルトの名無しさん
2015/06/09(火) 23:31:39.42ID:nX857Zqc0495デフォルトの名無しさん
2015/06/09(火) 23:31:47.34ID:s+m3IBNO驚く側=プログラマのほうが圧倒的に人数が多いから、
前者が改善したほうが合理的。
…とかくだらないこと聞くなよ。
mapでreduce実装のほうがまだためになる
>>492はワロタ
0496デフォルトの名無しさん
2015/06/09(火) 23:49:25.76ID:On8D0YSkそれは自明ではないよね
0497デフォルトの名無しさん
2015/06/10(水) 00:12:15.37ID:4dIY3WJF0498デフォルトの名無しさん
2015/06/10(水) 02:25:01.58ID:7goP4N8P0499デフォルトの名無しさん
2015/06/10(水) 07:04:49.86ID:xkthzaZS合理的かどうかは知らんが、
出来る奴程仕事が舞い込む理屈だよ。
0500デフォルトの名無しさん
2015/06/10(水) 10:52:14.97ID:t1zCKUmg設計者を探し出して可読性とかを要求するという古典的なやり方が効く保証がない
0501デフォルトの名無しさん
2015/06/10(水) 11:04:20.00ID:McYDyKet0502デフォルトの名無しさん
2015/06/10(水) 11:56:36.76ID:t1zCKUmg可読性かな?
0503デフォルトの名無しさん
2015/06/10(水) 12:46:16.17ID:vkTp1NO/0504デフォルトの名無しさん
2015/06/10(水) 13:15:55.24ID:t1zCKUmg後者がすごい自信を持っている理由を教えてほしい
常識的には「わからない」より「わかる」方が有能だと思う
今それが逆転しているのはなぜなのか
0505デフォルトの名無しさん
2015/06/10(水) 14:01:51.47ID:vxCnSfpA0506デフォルトの名無しさん
2015/06/10(水) 14:08:38.12ID:YrTGTRFm◯ 文章の論理が根本的に間違っていてコミュニケーションが成立しない
完全に対話不可能だから二度と出てくんな。
0507デフォルトの名無しさん
2015/06/10(水) 14:09:43.52ID:YrTGTRFm0508デフォルトの名無しさん
2015/06/10(水) 17:54:46.33ID:9PwGA43Z0509デフォルトの名無しさん
2015/06/10(水) 19:36:45.21ID:Gkss7rSHつまりハングルか。
0510デフォルトの名無しさん
2015/06/10(水) 21:12:55.26ID:7i1MtT87理論計算機科学ってへぼいということでしょうか?
0511デフォルトの名無しさん
2015/06/10(水) 21:22:17.53ID:vkTp1NO/モデルをモナドで与えようという発想が提出されてるのだが、
「今までモナドという概念がなかった」とはこれいかに。
0512デフォルトの名無しさん
2015/06/11(木) 00:21:14.93ID:hzM+9d/O>>511 ScottからMoggiまで十数年ぐらい?
確かに意外と短かったんだな…
0513デフォルトの名無しさん
2015/06/11(木) 00:38:40.42ID:pB1BlG5QE. Moggi. Computational lambda-calculus and monads. In 4th LICS Conf. IEEE, 1989.
この間ほぼ20年かな? いずれにせよ「今までなかった」はないw
0514デフォルトの名無しさん
2015/06/11(木) 00:53:54.36ID:QUqBUSLw1980年代初めには応用可能性が知られてて、
1985年にMoggi含む複数人の「圏論とプログラミング」という
ワークショップが開かれてるんで、10年ほど、と計算した。
0515デフォルトの名無しさん
2015/06/11(木) 01:06:20.81ID:pB1BlG5Qhttp://dx.doi.org/10.1007/3-540-17162-2_126
ぱっと見、まだmonadとは書かれていないが。
http://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.
とあるな。
0516デフォルトの名無しさん
2015/06/11(木) 03:59:27.71ID:bOOr6QDNそのために生み出されたのでなく元々そこに(見過ごされたまま)あった
0517デフォルトの名無しさん
2015/06/11(木) 09:14:47.16ID:XjBiZb+Wモナドもしょぼい概念だったとそろそろ分かれよw
0518デフォルトの名無しさん
2015/06/11(木) 09:31:44.59ID:IhjRP6Ev0519デフォルトの名無しさん
2015/06/11(木) 09:44:54.00ID:XjBiZb+Wしょぼいっていうのは分かってんだな?
ScottやMoggiにあこがれてるんじゃまだかなと思うんだが
0520デフォルトの名無しさん
2015/06/11(木) 10:16:52.40ID:kAIL8Wh00521デフォルトの名無しさん
2015/06/11(木) 10:57:09.42ID:npoi0wO00522デフォルトの名無しさん
2015/06/11(木) 11:01:20.03ID:PuDMuD0lプログラマの地位は向上しないだろうな
0523デフォルトの名無しさん
2015/06/11(木) 12:10:32.39ID:bAVDGSXl少なくとも言えることは、知識ゼロでマウンティングできる最悪の状況は回避してほしい
0524デフォルトの名無しさん
2015/06/11(木) 12:55:54.03ID:5wVrf0wy0525デフォルトの名無しさん
2015/06/11(木) 13:47:53.72ID:MCnGDuRk0526デフォルトの名無しさん
2015/06/11(木) 14:26:29.66ID:bAVDGSXlなぜなら動的型だから
ドヤ顔したいやつは静的型に群がっているのであって、関数型はあまり重要ではない
0527デフォルトの名無しさん
2015/06/11(木) 17:04:10.51ID:QUqBUSLw0528デフォルトの名無しさん
2015/06/11(木) 18:26:19.74ID:npoi0wO0>>481
0529デフォルトの名無しさん
2015/06/11(木) 19:26:15.71ID:bOOr6QDN0530デフォルトの名無しさん
2015/06/11(木) 19:45:13.61ID:yf7swl7Yキチガイはお前だよ
0531デフォルトの名無しさん
2015/06/11(木) 20:02:46.43ID:npoi0wO0>>523>>519>>517>>516>>511は情報価値0以下の荒らし。
0533デフォルトの名無しさん
2015/06/11(木) 21:32:50.42ID:pgVrj2dA犯人とか功労者とかが誰か調べることに拘ってるのか
すごい納得してしまった
0534デフォルトの名無しさん
2015/06/11(木) 22:17:16.64ID:3DdkuOqEプログラムの話をまともに出来ない奴は
お呼びじゃない、ってだけだろ。
0535デフォルトの名無しさん
2015/06/11(木) 22:48:19.91ID:QpuB/nCQ0536デフォルトの名無しさん
2015/06/11(木) 22:57:20.66ID:npoi0wO00537デフォルトの名無しさん
2015/06/11(木) 23:43:07.37ID:pgVrj2dAプログラムを書く話なんてしなくなるでしょ
読んだ人の感想とかそれに対しどう返答するかみたいな事ばかり考えるようになる
0538デフォルトの名無しさん
2015/06/12(金) 00:12:07.74ID:lWqlv+DR0539デフォルトの名無しさん
2015/06/12(金) 00:48:31.06ID:de1HjIPaその割にHaskellで作ったアプリが世の中にないのは、
このスレに書き込んでいる人間の大半は結局喋っているだけで、ちっとも作っていないから?
それとも、ごく少数の口数の多い人間がこのスレに常駐しているということか?
0540デフォルトの名無しさん
2015/06/12(金) 01:09:28.05ID:kpQWF1y90541デフォルトの名無しさん
2015/06/12(金) 01:11:49.35ID:ewifs/WC0542デフォルトの名無しさん
2015/06/12(金) 01:14:23.65ID:3H6DdNeRアプリは https://wiki.haskell.org/Haskell_in_practice とかあるし、
外資もNTTデータも金融とかclosedなので外に出ないのも多いと思うが、
それでもC++とかJavaとかに比べれば実験的な言語だから少ないな……
0543デフォルトの名無しさん
2015/06/12(金) 01:29:41.08ID:ewifs/WCなによりParsecのお蔭で色々とはかどるのでなあ。
わりと最近3000行程度のGUIのツールを書いたが、
他所で役に立つようなものでもないので、公開するとか
そういうことも特にない。
0544デフォルトの名無しさん
2015/06/12(金) 07:19:43.33ID:1CtSfxjIじゃあ静的型付けなら読めるのか実験したい
0545デフォルトの名無しさん
2015/06/12(金) 10:25:49.56ID:ppIf3q9e外資と金融の間に、さりげなくNTTデータを入れるセンスが絶妙。
0546デフォルトの名無しさん
2015/06/12(金) 11:52:15.09ID:lWqlv+DRhttps://www.google.co.jp/search?q=ntt%E3%83%87%E3%83%BC%E3%82%BF+haskell
こういう世界でどうなるか、少なくとも実験としてはすごいと思う。
数理システムも買収したし。
0547546
2015/06/12(金) 11:54:37.53ID:lWqlv+DR>>546は「NTTデータ Haskell」の検索結果な
0548デフォルトの名無しさん
2015/06/12(金) 12:00:11.55ID:nIxAy/au0549デフォルトの名無しさん
2015/06/12(金) 12:08:38.69ID:lWqlv+DRいろんな意味ですげーとか思ったが
最近はどうなん?
0550デフォルトの名無しさん
2015/06/12(金) 12:26:32.05ID:bMq/lwLt0551デフォルトの名無しさん
2015/06/12(金) 12:46:55.72ID:ppIf3q9eNTTデータって、空き巣に絶対に破られない鍵を設置して、
鍵を閉め忘れて出かけるような感じだよね。
0552デフォルトの名無しさん
2015/06/13(土) 04:35:41.57ID:VBb4KC+kフリーメールで届いた添付.exeダブルクリックする連中とかソーシャルエンジニアリング以前の問題
0553デフォルトの名無しさん
2015/06/13(土) 10:21:50.46ID:+dSTwJziユーザが多数で開発者が少数なら、ユーザのせいにするのは非合理的という思想があった
その合理主義の結果がこれ
それとも蒸し返す意図がなくても自然に繰り返されるパターンなのか
0554デフォルトの名無しさん
2015/06/13(土) 11:17:16.80ID:kXcfUXOo0555デフォルトの名無しさん
2015/06/13(土) 11:22:32.93ID:fmObtMJM0556デフォルトの名無しさん
2015/06/13(土) 12:05:27.26ID:+dSTwJzi衒学的な意図がないならないと正確に説明できれば普及しやすいのでは
0557デフォルトの名無しさん
2015/06/13(土) 12:20:08.70ID:RjEVnwaL普及するのにそんな御大層なものは要らんよ。
必要なのは次の3つのみ。
・馬鹿でも簡単に始められて、扱いやすいGUIアプリ用フレームワーク
・そのフレームワークと連動するRAD統合開発環境
・数多くのGUIアプリのサンプル
これに加えてスマホアプリも簡単に作れれば尚良い。
逆に、Haskell というアプリ開発環境はこれらが無いから流行らない。
0558デフォルトの名無しさん
2015/06/13(土) 13:26:03.85ID:+dSTwJziVBやObj-Cが普及した理由はそれだが長続きしない
それらを終わコンにする圧力があった
MSやAppleでも逆らえない
0559デフォルトの名無しさん
2015/06/13(土) 14:42:11.49ID:gPoekrm5環境が悪化するだけだわ。
0560デフォルトの名無しさん
2015/06/13(土) 14:43:22.99ID:CpRxCXBF0561デフォルトの名無しさん
2015/06/13(土) 14:55:15.57ID:fmObtMJM0562デフォルトの名無しさん
2015/06/13(土) 16:08:55.81ID:U7fz6F5N圏論とSTLがどーたらみたいな謎文章が目に入って困惑している
"圏論 STL"でググれば当該箇所Google Booksで読めるんですけどこれってまともなんですかね?
Haskell関係ないけど圏論がらみということで一つ
0563デフォルトの名無しさん
2015/06/13(土) 16:55:46.04ID:KIURMs4/何故、普及に拘るの?
0564デフォルトの名無しさん
2015/06/13(土) 17:04:10.62ID:oBvXXQ5V強いて言えば原文の"categorical theories"が和訳では勝手に「圏論(categorical theory)」になってたり、
"not computationally isomorphic"のnotが訳し漏れで「計算上は同型」になってたりと訳の問題も大きくて、
原文のほうは好意的に解釈すればまだ理解可能だけど。
0565564
2015/06/13(土) 17:09:54.96ID:oBvXXQ5VFor a long time, people believed that only categorical theories were useful for programming
云々は聞いたこともないので違う並行宇宙の話としか思えないw)
0566デフォルトの名無しさん
2015/06/13(土) 18:44:09.66ID:P5CgqW+9普及させたくない層もいるけど、ごく一部だろう。
普及すると、割を食うのはトップ層だからな。
0567デフォルトの名無しさん
2015/06/13(土) 20:11:39.38ID:sBN7IsLr誤訳するのもわからなくもない
(notの訳し漏れは論外)
https://en.wikipedia.org/wiki/Categorical_theory
> "Categorical theory" redirects here. Not to be confused with Category Theory.
0568デフォルトの名無しさん
2015/06/13(土) 20:13:41.36ID:xQVzvj+B普及するとゴミが増えるのも事実
0569デフォルトの名無しさん
2015/06/13(土) 20:21:22.10ID:ZkFtP6doそうは言っても、そうとう長続きしてきたような気がするが。
>>557 は普及する要因ではあってもオワコン化する原因ではないんじゃないか?
それとも、>>557 のせいでオワコン化が早まったということ?
何れにしても、Haskell はその歴史は長いくせに、
アプリ開発という点では未だに始まってすらいないよな。
方法論の研究は行われてるのかな?
0570デフォルトの名無しさん
2015/06/13(土) 20:43:48.20ID:jKGoCo7L0571デフォルトの名無しさん
2015/06/13(土) 21:00:56.80ID:EFCkVZsHそれこそゴミしかないと思うんだが。
0572デフォルトの名無しさん
2015/06/13(土) 21:18:01.62ID:ZkFtP6doまだまだゴミだと評価しようが、
その方法論で実際に数多くの多種多様なアプリが作られてる。
これからも現場で起きた問題に対して改善案が提案されていくと思う。
... --> 問題 --> 提案 --> 問題 --> ... というサイクルができてる。
で、Haskell(関数型)はどうなのよ、という話。
一歩引いた立ち位置の研究者から提案された方法論が現場で使われ始めた段階なのか、
それとも、そういう方法論すらまだ無い状態なのか。
0573デフォルトの名無しさん
2015/06/13(土) 21:19:33.57ID:jKGoCo7L0574デフォルトの名無しさん
2015/06/13(土) 21:22:43.08ID:SsnyuIbcミクロなデザインパターンとかも、そもそも不要か自明になるってよく言われてるとは思う。
マクロな開発プロセスは普通と変わらないんじゃない?
0575デフォルトの名無しさん
2015/06/13(土) 21:32:42.37ID:ZkFtP6doあれは、取りあえず作ってみただけで、その後が続かなかったよね。
あれを叩き台にして色々議論されることもなく、
Haskell でこんなこともできるんだと言われて、それで終わり。
0576デフォルトの名無しさん
2015/06/14(日) 00:34:08.79ID:RWIDraJH他のアプリを真似すればいいんだろ
0577デフォルトの名無しさん
2015/06/14(日) 08:27:51.02ID:OtrhG80aトップ層 普及を望んでいない
中堅層 普及を望んでいる
下位層 普及を望んでいないか、どっちでも良い
0578デフォルトの名無しさん
2015/06/14(日) 09:07:11.87ID:kkYM1O8cproof it!
0579デフォルトの名無しさん
2015/06/14(日) 10:09:03.75ID:Pjcz0hD2コード読めないの?馬鹿なの?
0580デフォルトの名無しさん
2015/06/14(日) 10:32:05.79ID:SL/F9php用途に応じた使い方ができればそれでいい。
一番売れるのは安くてシンプルな電卓だろうが
使う用途や人間を選ぶ高機能な関数電卓や、
ソロバンや計算尺にもそれぞれ需要がある。
計算尺振り回して「使い方が分からん。
こんなモンはゴミだ」と喚いても
メーカーもユーザも苦笑か失笑しか出来ん。
0581デフォルトの名無しさん
2015/06/14(日) 15:29:34.67ID:L5Y5b9kK0582デフォルトの名無しさん
2015/06/15(月) 02:53:59.25ID:LOIdsEui0583デフォルトの名無しさん
2015/06/15(月) 07:50:18.85ID:Hdxb2Sdnprolog とかにはなぜ寄らないのか?
0584デフォルトの名無しさん
2015/06/15(月) 08:34:53.82ID:9GGhHIhr0585デフォルトの名無しさん
2015/06/15(月) 09:14:23.05ID:IHPL8idcまあオオカミ少年みたいに常に言い続ければそのうち当たるわな
0586デフォルトの名無しさん
2015/06/15(月) 22:02:16.43ID:vBLMZKIz0587デフォルトの名無しさん
2015/06/15(月) 22:04:05.10ID:Hdxb2Sdn0588デフォルトの名無しさん
2015/06/15(月) 23:00:49.05ID:q35vzvCmボレロレイプされろ
0589デフォルトの名無しさん
2015/06/16(火) 00:19:10.77ID:WwZ8EXS4いまどき計算尺はごみでしょ。
0590デフォルトの名無しさん
2015/06/16(火) 01:06:35.60ID:nO6QHrwV需要があるから生産も販売もされてる訳で。
0591デフォルトの名無しさん
2015/06/16(火) 08:02:12.01ID:4c+taF0xさすがにHaskellは計算尺じゃないだろw
0592デフォルトの名無しさん
2015/06/16(火) 21:51:02.26ID:CcjDjnqwところで計算尺ってなんだ
0593デフォルトの名無しさん
2015/06/16(火) 22:34:00.92ID:0ci32UBo0594デフォルトの名無しさん
2015/06/16(火) 23:17:45.09ID:MDYhP0lu:browse や :info で得た情報を他のコマンドに渡して処理できれば便利やん。
っていうか、:list hoge でhogeのソースを見れるのに:edit hogeは無理なのか...
いちいちファイル名を探してこなきゃならんのは面倒だよ。
0595デフォルトの名無しさん
2015/06/17(水) 00:38:11.14ID:iYY4vjEN型のためには便利なコマンドを規制するべきと判断したのではないだろうか
0596デフォルトの名無しさん
2015/06/17(水) 06:02:52.89ID:UUD++cQ/0597デフォルトの名無しさん
2015/06/17(水) 08:06:07.46ID:iYY4vjEN0598デフォルトの名無しさん
2015/06/17(水) 08:28:31.12ID:6y+hRJoT0599デフォルトの名無しさん
2015/06/17(水) 09:11:03.75ID:0QSt0PBy0600デフォルトの名無しさん
2015/06/17(水) 11:54:20.02ID:FwmlJS0OControl.Functor.Zipの下に来なきゃいけなくなるから超不便だと思う。
0601デフォルトの名無しさん
2015/06/18(木) 11:51:58.85ID:zIn+ti7/反対称律「a <= b かつ b <= a ならば a = b」を満たさない
0602デフォルトの名無しさん
2015/06/19(金) 15:33:03.81ID:dN77ILvV/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
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, , '-, ゙'ー'ー' ヽ、`,ー、 `'ー'ー'
0603デフォルトの名無しさん
2015/06/19(金) 20:00:49.31ID:rvqvJJVS0604デフォルトの名無しさん
2015/06/21(日) 14:34:33.88ID:yL+fCFF6g = map f
引数 :: a -> b
結果 :: [a] -> [b]
しかし決め付けやレッテル貼りを嫌うのでmapが2変数関数である可能性も否定しない
彼らにとって引数を書くことはレッテルを貼ることに等しい
0605デフォルトの名無しさん
2015/06/21(日) 20:14:27.96ID:HwEzsZwlつうかポイントフリー信者がどうだろうが
Haskellにはそもそも1変数関数しかないのだが
0606デフォルトの名無しさん
2015/06/21(日) 20:18:32.21ID:RBHwsW1q>Haskellにはそもそも1変数関数しかないのだが
どういう意味?
0607デフォルトの名無しさん
2015/06/21(日) 20:33:23.95ID:HwEzsZwl(nullary constructorをとりあえず脇に措けば)
普通の関数のアリティは本質的に1だけだ。
0608デフォルトの名無しさん
2015/06/21(日) 21:08:54.24ID:pK1SDj/K0609デフォルトの名無しさん
2015/06/21(日) 21:12:32.01ID:7XsQ/1hlf :: X -> Y -> Z
は 「X型変数とY型変数を取ってZ型の値を返す関数」 というより
「X型変数を一つ取って『Y型変数を一つ取ってZ型の値を返す関数』を返す関数」 ということだな。
言葉で書くと却ってわかりづらいな。
0610デフォルトの名無しさん
2015/06/21(日) 21:12:49.77ID:HwEzsZwl関数型の値としての関数は常に1引数だ。
データ構築子はそもそもこの意味の関数ではない。
0611デフォルトの名無しさん
2015/06/21(日) 21:14:20.58ID:HwEzsZwl0612デフォルトの名無しさん
2015/06/21(日) 21:22:10.14ID:7XsQ/1hlそのように言われてしまった
curry :: ((a, b) -> c) -> a -> b -> c
さんの気持ちを答えよ(140字)
0613デフォルトの名無しさん
2015/06/21(日) 21:24:27.97ID:Sh7VBIsF0614デフォルトの名無しさん
2015/06/21(日) 21:40:32.89ID:HwEzsZwlそれはカリー化でもなんでもない。
見ての通り
(a,b) -> c
のアリティは1だ。
0615デフォルトの名無しさん
2015/06/21(日) 21:42:45.93ID:7XsQ/1hl・立場や考えた方によって「多引数関数とは何か」は異なりうる。
・一つの答えは「タプルを引数に持つ関数」
・「タプルという一つの引数を持ってるだけですよね?」というツッコミ。
よーく気をつけないと「多引数関数とは何か」 という話を蒸し返してしまう。
0616デフォルトの名無しさん
2015/06/21(日) 21:51:01.56ID:HwEzsZwl関数の引数は常に(->)の左に来る型なんだからな。
タプルを引数にとるのが多引数だと言い出せば
リストを引数にとるのは可変長引数だということになる。
後者がおかしいと思うなら前者もおかしい。
0617デフォルトの名無しさん
2015/06/21(日) 22:16:31.58ID:X7jEdUgs0618デフォルトの名無しさん
2015/06/21(日) 22:29:13.88ID:yL+fCFF6reduceは二項演算を可変長引数にする
というのは別におかしくない
Haskellにこだわらない人ならそう思う可能性がある
0619デフォルトの名無しさん
2015/06/22(月) 00:13:49.02ID:egF2isgn/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
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 `(_、_) / \´ )゚
\_) `ヽ : :;;*:; : : : | (_ノ
人__;;:;;、___ノ ヽヽ ヽヽ
;:;;:;;:;,, ──┐ | | ──┐ | |
∬ ;;:;::.;::.::;::..:;:..: ∬ / | | /. | |
・〜 ;::;.:;:;:;:;:.:;:.:::.;:;:;.:.:.: ノ ノ ┐ ノ ノ ┐
∬;;;:::;;;:;:.:;:.::.:;;.:.;.:;.:; ∬ ┴ ヽヽ ┴
:"
0620デフォルトの名無しさん
2015/06/22(月) 07:30:14.32ID:7ItaFFjL0621デフォルトの名無しさん
2015/06/22(月) 07:38:37.78ID:8relXNjB0622デフォルトの名無しさん
2015/06/22(月) 08:33:39.76ID:jkkSdEVtきみたちはいつもそうだ
0623デフォルトの名無しさん
2015/06/22(月) 10:49:06.51ID:HczZ6Mad有り体に言えばそうなるわな
0624デフォルトの名無しさん
2015/06/22(月) 16:22:57.80ID:uDj89vD5/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/
、:::::.. /:::; .,-、 l:::/、
:::::::: ゝヽ- ー' 、 l::/,
,:、:: / ,--、,-.、_ l /
、::、 `ー ̄-' /
、::ヽ /:
/´⌒´ヽゝ ── 'ヽ⌒ヽ
/ ィ , ヽ , )` `ヽ
/ ノ^ ー '` ー 'ヽ ゙i
.. ノ ,,,ノ Y´゙ )
( < | ! /
ヽ_ \ ノ_/
ヽ、__ ヽ.ー @ ノ ソ、
〈J .〉 ヾ、.::;;;;;;::.ノ |ヽ-´
/"" ;ミシミッ .|
レ .イ、_∪ノ .リ
.,ゝ ,ノ | ' ヽ ノ
/ ` レリ i´ リ
i / `、 i'
〉 イ 〉 |
/ ::| (_ヽ \、
(。mnノ `ヽ、_nm
0625デフォルトの名無しさん
2015/06/22(月) 20:02:55.77ID:yB0CTLEJ0626デフォルトの名無しさん
2015/06/23(火) 02:22:17.45ID:wiF7wKM1case x #長さ1の文字列とする
when 'a'..'z'
...
when '0'..'9'
...
when '#'
...
else
...
end
0627デフォルトの名無しさん
2015/06/23(火) 05:33:12.62ID:EWNumgncもっとかっこいいやり方はあるかも
f :: Char -> a
f x
| x `elem` ['a'..'z'] =
| x `elem` ['0'..'9'] =
| otherwise =
0628デフォルトの名無しさん
2015/06/23(火) 11:17:40.69ID:30kOauSN命令型のループでしか書けません。なぜならば、ノイマン型コンピュータという
ハードウェアは究極的には命令型でしか動作しないからです。
関数型の機械語なんて存在しません。
0629デフォルトの名無しさん
2015/06/23(火) 12:56:24.51ID:HcqKhimH究極的には人間は原子でてきてますとか言われてふーんとかはーとかしか思わんし
目の前の人が美人かどうかは原子関係ないすね。
0630デフォルトの名無しさん
2015/06/23(火) 13:34:07.31ID:DUXK3D31>あのさー、「二次元はただの絵」なんて言葉には何の意味もないわけよ。当たり前すぎる。
>ただの絵って、そりゃ絵だよ。そんなの誰にでもわかるって。
>これは言い換えるとね、例えば友達が彼女の写真を見せてくれたとして、
>「これはただのインクの集合だ」と言ってるのと同じなわけよ。
>もっと言うと、友達の恋人を指差して、「こいつはただのタンパク質だ」と言ってるのと同じなわけよ。
>別に間違ってないよ。写真はインクだし、人間はタンパク質だ。でもそれがなんだっての?
>インクだから感情を抱くのは間違いだ、タンパク質だから好きになるのは間違いだ、とでも言うの?
>それはちょっとバカすぎるね。バカすぎる。「二次元はただの絵」ってのはそういうのと同じなんだよ。
>好きになるのは人格としての、存在としての彼女だろうが。物理的構造なんてどうだっていいんだよ。
>そんな当たり前のこともわからないわけ?
0631デフォルトの名無しさん
2015/06/23(火) 13:47:23.60ID:6v7jQlndFPGAのお蔭で個人レベルでもできるんだが。
0632デフォルトの名無しさん
2015/06/23(火) 14:35:28.11ID:GZlJHPMKあとは
「定義の循環なんて存在してはならない」
という思い込みを否定できるかどうか
それさえ否定できれば、逆に機械語を関数型で定義する可能性も理解できると思う
0633デフォルトの名無しさん
2015/06/23(火) 14:49:11.65ID:rMQdQ9WV0634デフォルトの名無しさん
2015/06/23(火) 14:50:45.63ID:5/w+bsnnhttp://kenokabe-techwriting.blogspot.jp/2015/04/amazon_28.html
0635デフォルトの名無しさん
2015/06/23(火) 18:05:36.94ID:x4Ozc/Jnむっさいオッサンが生み出したものでヌいておかしいっていうなら、そのむっさいオッサンに可愛い娘さんがいたらセックスしたいと思わないのかね
0636デフォルトの名無しさん
2015/06/23(火) 19:55:42.17ID:909KpOvq0637デフォルトの名無しさん
2015/06/23(火) 21:15:50.96ID:6v7jQlnd>まあ関数型言語が機械語のようなもので定義されることが多いのは事実だよね
なにいってんだか意味がわからん。
関数型言語の意味論が機械語で与えられた例なんかないだろ。
0638デフォルトの名無しさん
2015/06/23(火) 21:17:42.47ID:AaIPqvR+0639デフォルトの名無しさん
2015/06/23(火) 21:37:51.41ID:rcOEv9Ao0640デフォルトの名無しさん
2015/06/23(火) 23:28:11.76ID:GZlJHPMK完全な定義は実装で決まるという意味なんじゃないの
0641デフォルトの名無しさん
2015/06/23(火) 23:35:23.41ID:FjdLJNiv0642デフォルトの名無しさん
2015/06/24(水) 00:16:40.45ID:KkHlevhVそれは実装依存で未定義とは区別することが多い
0643デフォルトの名無しさん
2015/06/24(水) 00:26:39.98ID:MR5fwWu8ってことじゃないの
0644デフォルトの名無しさん
2015/06/24(水) 01:16:05.07ID:k2PpIK+fそんな(少し前までの)Rubyみたいなこと言われても。
>>640
未定義っつうのは文字通り未定義。
言語仕様にないので、なにが起きようが関知しない。
未定義動作の結果オレの財布が空になっても富士山が噴火しても構わない。
というか、もっと正確に言えば、未定義部分は言語仕様がないのだから
そこがどうなっていようが、それはその言語の「実装」とすら言えない。
0645デフォルトの名無しさん
2015/06/24(水) 02:27:11.04ID:zaWMLH1h(まともな言語における)未定義ってのは、その部分については、各実装によって内部表現が異なっても構わないという明言だよ
要は速度と効率のために各ベンダに独自の最適化が許される、意図的に定義されない部分
そういう未定義部分に依存しないコードを書くのはプログラマの責任
0646デフォルトの名無しさん
2015/06/24(水) 02:58:03.53ID:k2PpIK+f未定義動作を許すことが何の役に立つかと未定義動作そのものが何かは別の問題だ。
0647デフォルトの名無しさん
2015/06/24(水) 07:27:51.62ID:uN9f53jR未定義の部分はコンパイラ作成時点でテストして保証されてないから
出力が一意になるかわからんし最悪実行不可能なファイルが生成されるかもしれないってくらいか
0648デフォルトの名無しさん
2015/06/24(水) 07:37:20.43ID:NJ59k6EW>オレの財布が空になっても富士山が噴火しても構わない
実装がどうなるか予知できないと書いてあるだけだが
「予知能力がない」ではなく「全知全能の筆者が許可した」と解釈すると大変な事になる
0649デフォルトの名無しさん
2015/06/24(水) 11:36:01.73ID:Dk9G0+2n0以外の実数を0で割れば解なし
0を0で割れば未定義
みたいな
0650デフォルトの名無しさん
2015/06/24(水) 13:33:31.02ID:q/iymKMR0651デフォルトの名無しさん
2015/06/24(水) 13:41:36.12ID:RcaJrYdVというだけ。
0652デフォルトの名無しさん
2015/06/24(水) 15:06:59.29ID:4h3P/eVf0653デフォルトの名無しさん
2015/06/24(水) 18:30:23.37ID:jBd8hVQLLisp系だとambや継続使って解を1つみつけて終了だけど
モナド使うと全ての解を列挙できるってことでいいのかな
0654デフォルトの名無しさん
2015/06/24(水) 21:39:12.60ID:RcaJrYdVわりとマジであなたが言ってることイミフ。
「非決定性」だとか「継続」だとか難しげな言葉を振りかざすのではなく
基礎からきちんと学ぶことをおすすめします。
0655デフォルトの名無しさん
2015/06/24(水) 22:58:58.61ID:+CIvGoel妙な思い込みをしているようだけど…
グレアムのOn Lispに、簡易Prologみたいなのを実装する非決定性プログラミングの例が載ってるから、
ちょっと勉強してみたら?
0656デフォルトの名無しさん
2015/06/25(木) 01:30:55.42ID:L5oPYlD8Haskell使ってもこの問題はなくならない
0657デフォルトの名無しさん
2015/06/25(木) 01:49:40.68ID:tWs5pbMG非決定性ともバックトラックとも遅延評価とも関係ない…
0658デフォルトの名無しさん
2015/06/25(木) 08:02:56.67ID:L5oPYlD8出題範囲とか関係ない
0659デフォルトの名無しさん
2015/06/25(木) 09:34:06.79ID:En38UG6V0660デフォルトの名無しさん
2015/06/25(木) 10:42:57.71ID:GMFUAARU0661デフォルトの名無しさん
2015/06/25(木) 12:46:25.61ID:jSlSTYLT0662デフォルトの名無しさん
2015/06/25(木) 13:31:24.59ID:X9iBWgn+JavaScriptがフリーザだとしたら、Haskellは18号くらい
0663デフォルトの名無しさん
2015/06/25(木) 16:41:37.97ID:YBkNncXPとか、その後の難しい話の下準備の為に修行できるドリルみたいなサイトありませんか?
なるべく解答付きで。
0664デフォルトの名無しさん
2015/06/25(木) 17:09:47.33ID:B9JLKsO8qiita 7shi で検索。
0665デフォルトの名無しさん
2015/06/25(木) 17:20:28.66ID:B9JLKsO8fac(3)とかfib(4)あたりを手で簡約して見ると原理がわかる。
いったん理解すれば、あとは殆ど機械的に変換できるようになるよ。
そういや最初にCPS理解したときはその後しばらくCPS猿みたいなコード書いてたな……
0666デフォルトの名無しさん
2015/06/25(木) 17:32:34.99ID:5pnqx1ovarityが見えるとかいう意味不明な能力がないとできないよね
0667デフォルトの名無しさん
2015/06/25(木) 21:38:45.58ID:YBkNncXP0668デフォルトの名無しさん
2015/06/25(木) 21:40:43.48ID:YBkNncXP頑張ります
0669デフォルトの名無しさん
2015/06/25(木) 23:22:04.84ID:LfFLypOB0670デフォルトの名無しさん
2015/06/25(木) 23:33:50.49ID:eM2m5jCT0671デフォルトの名無しさん
2015/06/26(金) 00:28:21.26ID:bFSe+PPP料理のレシピのためのミニ言語、は楽しくてよかったんですが、便利か、実用的か、っていうとそうでもない感じがしました。
モナド的側面、つまり、前のコマンドの結果に応じて後に続くコマンドを変えられる、って性質を有効利用できれば良い、と思うのですが、いい案が浮かばず…
たまごを焼きすぎたらスクランブルエッグは諦めてたまご焼きにする。
うーん
0672デフォルトの名無しさん
2015/06/26(金) 01:05:51.23ID:sGcqyMBffinally taglessな表現/Symanticsを使う方がいい。
0673デフォルトの名無しさん
2015/06/26(金) 20:39:02.22ID:hymME7nUreturnとjoinを作れないまたは作れるが使いたくない場合にFreeモナドを使うんだろ
0674デフォルトの名無しさん
2015/06/28(日) 07:58:01.92ID:UfM5xTqU0675デフォルトの名無しさん
2015/06/28(日) 09:29:10.20ID:PsA9Isd2どうした突然。何かつらいことでもあったのか。
0676デフォルトの名無しさん
2015/06/28(日) 14:22:33.44ID:eK2mTTNw0677デフォルトの名無しさん
2015/06/28(日) 14:45:38.67ID:oAeIj0m70678デフォルトの名無しさん
2015/06/28(日) 15:08:18.01ID:CsAfdxFY0679デフォルトの名無しさん
2015/06/28(日) 15:45:29.76ID:sCkqyjMf型が違うとか批判ばかりで代案を出せないコンパイラと、そいつに逆らえないプログラマ
全然すごくない
0680デフォルトの名無しさん
2015/06/28(日) 17:40:06.78ID:A43RH85D作るのに使ったリソース(人、時間、金など)で比較すべき
まぁ、たいした成果物が挙げられないようでは話にならんがな
0681デフォルトの名無しさん
2015/06/28(日) 18:22:42.20ID:sCkqyjMf言われても平気な言語を二つも三つも覚えるんだよね
観賞用、保存用、予備みたいなあれ
0682デフォルトの名無しさん
2015/06/28(日) 18:45:49.13ID:TzgnuxBg0683デフォルトの名無しさん
2015/06/28(日) 20:48:17.29ID:sCkqyjMf0684デフォルトの名無しさん
2015/06/28(日) 22:57:53.15ID:GoQYkhEFあなたはHaskellを知ってるOcamlerです。Haskellerではありません。
0685デフォルトの名無しさん
2015/06/28(日) 23:08:27.40ID:PermaxaH0686デフォルトの名無しさん
2015/06/28(日) 23:24:45.18ID:CsAfdxFY0687デフォルトの名無しさん
2015/06/29(月) 05:59:50.21ID:Qi5/2Z+90688デフォルトの名無しさん
2015/06/29(月) 06:43:23.70ID:brwnweVx調査する側が答えを決めてるなら世論調査とかビッグデータとか無意味だな
0689デフォルトの名無しさん
2015/06/29(月) 10:57:15.25ID:8+Jbzv8W>型が違うとか批判ばかりで代案を出せないコンパイラと、そいつに逆らえないプログラマ
>全然すごくない
才能を感じるw
0690デフォルトの名無しさん
2015/06/29(月) 20:28:54.62ID:UsldY24Z0691デフォルトの名無しさん
2015/06/29(月) 20:34:47.53ID:I6LM+XSdほざいてないし作れない
0692デフォルトの名無しさん
2015/06/29(月) 22:11:01.07ID:6j3t6Ku/0693デフォルトの名無しさん
2015/06/29(月) 23:37:46.91ID:dOBb6but無駄に苦労するだけで、たいしたメリットは得られないと思うが。
C# や Java などの方が意図したことを素直に書けると思うぞ。
0694デフォルトの名無しさん
2015/06/29(月) 23:43:17.21ID:8+Jbzv8W作れるし作っているが楽しくはない。
0695デフォルトの名無しさん
2015/06/29(月) 23:46:32.90ID:QGo7kC4a0696デフォルトの名無しさん
2015/06/29(月) 23:56:20.64ID:NIwVXw8K0697デフォルトの名無しさん
2015/06/30(火) 00:41:54.66ID:xJJVLGS/EmacsとVimを懲らしめる主義(適当)
0698デフォルトの名無しさん
2015/06/30(火) 01:13:42.18ID:Jhz+vTOP0699デフォルトの名無しさん
2015/06/30(火) 07:58:21.93ID:c40dQzwL苦労は特にない
0700デフォルトの名無しさん
2015/06/30(火) 08:02:38.09ID:c40dQzwLGUIなんかロジックの部分に比べれば簡単
0701デフォルトの名無しさん
2015/06/30(火) 12:03:29.96ID:xY5YXWOJGUIで使えるアプリも書けない
0702デフォルトの名無しさん
2015/06/30(火) 12:19:59.61ID:avn7235t0703デフォルトの名無しさん
2015/06/30(火) 12:55:10.53ID:g8mVBFW2ただ抽象化が巧く嵌らないから楽しくないだけ。
0704デフォルトの名無しさん
2015/06/30(火) 15:13:39.82ID:X6br0/jBウィンドウってオブジェクトそのものだし。
0705デフォルトの名無しさん
2015/06/30(火) 17:14:12.45ID:vxf+DpiBCのswitch文を使うウィンドウシステムと同じ
0706デフォルトの名無しさん
2015/06/30(火) 18:20:38.25ID:c40dQzwL0707デフォルトの名無しさん
2015/06/30(火) 18:42:24.07ID:X6br0/jB2chで作ってたOSにも及ばない感じに見える。
世界の一流研究者が集って10年かけて作ったものがこれでは、Haskellの
実力が低いように見える。
ドヤって感じで出されると余計。
少なくとも2chで作ってたOSは、もう少し実用性があった。
0708デフォルトの名無しさん
2015/06/30(火) 18:51:10.78ID:X6br0/jB2chのスレに貼り付けられてた。
今のHaskellは同じような感じがする。
JSは、アプリケーションを拡張するのに使えばとても楽な言語だし、Javaは
互換性やわかりやすさに焦点をあてた言語。
良い部分を宣伝したらいいと思うのだけど、どうも原理主義の人は欠点を
否定することに一生懸命になる。
Haskellはこういうことに向いてないね、でも出来ないわけじゃないよって
位で良いんじゃないのかな。
0709デフォルトの名無しさん
2015/06/30(火) 19:02:56.27ID:c40dQzwL0710デフォルトの名無しさん
2015/06/30(火) 19:04:08.01ID:c40dQzwL0711デフォルトの名無しさん
2015/06/30(火) 19:10:15.18ID:9foLA8yUそういえばhigeponさんも関数型erになったが最近どうしてるんだろう
0712デフォルトの名無しさん
2015/06/30(火) 19:55:09.60ID:FWhQ2ahgまた、なぜそれが他言語に比べてHaskellが有利だと言えるのでしょうか。
0713デフォルトの名無しさん
2015/06/30(火) 20:01:42.67ID:g8mVBFW2構造を持ったデータの処理・操作。
理由は人智を超えない範囲で充実した型システム。
0714デフォルトの名無しさん
2015/06/30(火) 20:34:52.77ID:vxf+DpiB得意なことは何かではなく最悪のケースは何かを考えること
理由は型システム
0715デフォルトの名無しさん
2015/06/30(火) 20:54:40.33ID:FWhQ2ahgリスクというのは人命ですか?
もしかして医療関係のアプリケーションでよく使われていますか?
0716デフォルトの名無しさん
2015/06/30(火) 21:54:36.59ID:vxf+DpiB単に死ぬことと意図的に殺すことを区別できなくなる
0717デフォルトの名無しさん
2015/06/30(火) 21:57:27.47ID:X6br0/jB0718デフォルトの名無しさん
2015/07/01(水) 00:19:00.28ID:hCLvX6t9>> 状態のセーブがすげー簡単
これどういう意味? MonadIOの中だったらどこでもliftIO でファイル保存アクション実行できるよ、ってこと?
0719デフォルトの名無しさん
2015/07/01(水) 08:39:27.15ID:tJW6CsdE0720デフォルトの名無しさん
2015/07/01(水) 08:49:50.77ID:wl+QWyy/型システムのおかげでバグが出にくいっていう長所は
GUIアプリ作るときにも活かされますか?
0721デフォルトの名無しさん
2015/07/01(水) 09:37:31.97ID:I91Dcp9KHaskellつかったらバグが自動的に減るのではなく、
強力な型システムのお陰で、型レベルのバグがコンパイル時に
検出できるだけ。Cなんかではポインタへの誤ったキャストが
コンパイルを通ってしまい実行時(システムが稼働したとき)にようやく
発見されるという惨事が相次いだので、コンパイル時に前倒し
してエラーを補足できるという点が期待されていた。
現実には型が合っていても実装を間違うことはあるので、
Haskell使ったら「自動的に」高品質になるというのは完全嘘だと思ってる。
0722デフォルトの名無しさん
2015/07/01(水) 10:28:08.57ID:tOajYpeJ713くらいしかまともなこたえがない
0723デフォルトの名無しさん
2015/07/01(水) 11:45:24.51ID:gMCljQ/IGUIはコロコロ仕様が変わるので
むしろバグっぽいコードも書けるというメリットのほうが大きい
0724デフォルトの名無しさん
2015/07/01(水) 11:45:40.65ID:zqTVEjze自然にプログラム書けて楽なことが多い。Type-directedプログラミングというか。
0725デフォルトの名無しさん
2015/07/01(水) 11:48:56.78ID:zqTVEjzeまあGUIアプリに限った話ではないか。
0726デフォルトの名無しさん
2015/07/01(水) 12:00:05.77ID:XEDFaQMZType-directedはHaskellを書く機会を減らしてしまう諸刃の剣
0727デフォルトの名無しさん
2015/07/01(水) 14:49:29.48ID:rMwDHu3xHaskellは並列化が効率的に行えるのでC++の10倍速いと言う記事を見た。
0728デフォルトの名無しさん
2015/07/01(水) 16:22:48.22ID:YQJkkFEW経済界に寄与するソフトウェアを他言語版より多く送り出しているならばHaskellはリスクと戦う最前線の言語だといえよう
0729デフォルトの名無しさん
2015/07/01(水) 18:22:25.85ID:NjN/zNsyHaskellでカットアンドペーストできるエディタやペイントソフト書けんの?
0730デフォルトの名無しさん
2015/07/01(水) 18:22:57.88ID:NjN/zNsy0731デフォルトの名無しさん
2015/07/01(水) 18:35:28.08ID:wHMLdS0x0732デフォルトの名無しさん
2015/07/01(水) 18:38:03.08ID:tOajYpeJもちろんHaskellでも問題なく書ける。エディタでバイト列収納しとくための
ロープから実装しろという話ならHaskellはかなり有利だ。
0733デフォルトの名無しさん
2015/07/01(水) 19:31:24.61ID:W0dcBNHQ確かに、机上の空論からのぶっつけ本番は非常に危険だ
しかし机上を危険視するのは間違っている
0734デフォルトの名無しさん
2015/07/01(水) 19:53:03.17ID:XO0z7h0V0735デフォルトの名無しさん
2015/07/01(水) 19:53:39.62ID:XO0z7h0V0736デフォルトの名無しさん
2015/07/01(水) 20:02:00.78ID:I91Dcp9K0737デフォルトの名無しさん
2015/07/01(水) 20:16:46.99ID:zqTVEjze0738デフォルトの名無しさん
2015/07/01(水) 20:18:47.95ID:zqTVEjze0739デフォルトの名無しさん
2015/07/01(水) 20:25:01.06ID:N2f2t6hFHaskellが凄いという話はよく聞くし、現代的なGUIエディタの実装に超有利という話も出てきた。
ところが、Haskellで書かれた著名なエディタは無いし、ライブラリやコンポーネントを使うなどと言うけど、
そのライブラリやコンポーネントはHaskellで書かれた著名なものがあるの?
極端な話、そんなに有利なら、Haskellで書かれたコンポーネントをそして
APIを他の言語から使ってるんじゃないの。
凄い凄いという話をよく聞くものの、最終的にC/C++で書かれたライブラリを
呼び出せますよって話になる。
C/C++を呼び出してて本当にHaskellの凄いところであるゼロバグを実現できるの?
言っとくけど、C/C++は容易にバグが紛れ込むし、Haskellのようにゼロバグなんてことは無いよ?
Haskellから呼び出すだけで、C/C++のバグも本当に消えるの?
0740デフォルトの名無しさん
2015/07/01(水) 20:30:36.90ID:WaFLqKtq0741デフォルトの名無しさん
2015/07/01(水) 20:35:48.17ID:hkSyx5v6Haskellネイティヴなライブラリへの置き換えが必要ではないか
0742デフォルトの名無しさん
2015/07/01(水) 20:40:40.77ID:RlBRpOsXどこかよそで読んだなら、まともな話かどうか判定するからソース教えて
0743デフォルトの名無しさん
2015/07/01(水) 20:45:43.16ID:hhCpaelW逆に、マイナーだから優れている、も成り立たないが。
0744デフォルトの名無しさん
2015/07/01(水) 20:56:44.98ID:4S8xRTlrHaskellで自動回避できるのは型の不整合にまつわるバグであって、算法上のバグを回避できるわけじゃあないよな
システム記述言語としてのHaskellは、他言語に比べて特に凄いということはないよ
動かしながらバグを取る必要があるのはC/C++と同じ
0745デフォルトの名無しさん
2015/07/01(水) 20:59:56.29ID:WaFLqKtqあと、テストライブラリのQuickcheckも色んな言語に輸出されてるね。
思うんだけど、Haskellerのみんなの興味が、売れるアプリ、広く使われるソフト、
で必要とされるもんとズレてんじゃないかな。
1. その言語を使える技術者の確保が容易
2. ハード(スマホ)の最新機能がすぐ使える、
ドキュメントが豊富
0746デフォルトの名無しさん
2015/07/01(水) 22:46:09.54ID:SBuzyDQs最初からArrowにしとけばよかったやん
0747デフォルトの名無しさん
2015/07/01(水) 22:54:31.49ID:hkSyx5v6Haskellは何か実践的開発上の問題を抱えてるの?
0748デフォルトの名無しさん
2015/07/01(水) 23:08:08.48ID:1n3wggjU0749デフォルトの名無しさん
2015/07/01(水) 23:09:21.21ID:WaFLqKtqもちろんHaskellのリアクティブライブラリもそれなりに使えるもんだったし、以降今に至るまで派生ライブラリがたくさん作られた。
でも、javascriptの方がより賑わっていて(開発者が多くて)Facebookにも資金力がとても高い、ってことさ。
つまり、Haskellの弱さは人がいないことだ、と俺は思う。
なぜ人がいないかは、理由は色々あるけど、外から見て何が得意なのかがよくわかんないつーのが大きくて、それはHaskellでの目に見える成果があんまり無いからで、その理由は人がいないからで、つまり
0750デフォルトの名無しさん
2015/07/01(水) 23:32:51.19ID:W0dcBNHQ逆に他言語で実践できない部分にガラパゴス化という問題があるとも言える
ガラパゴスが強いと思うか弱いと思うかは人それぞれ
0751デフォルトの名無しさん
2015/07/01(水) 23:50:13.91ID:j1v8qj3k0752デフォルトの名無しさん
2015/07/02(木) 01:00:22.82ID:xB5xsyxT0753デフォルトの名無しさん
2015/07/02(木) 01:43:36.68ID:0H4A+sBi0754デフォルトの名無しさん
2015/07/02(木) 06:15:08.75ID:0QJ6vZJG黙秘権とか
逆に、対案を出せなど沈黙しないことが強く求められれば言葉遊びはもっと酷くなる
0755デフォルトの名無しさん
2015/07/02(木) 09:19:10.46ID:RsQjnldo0756デフォルトの名無しさん
2015/07/02(木) 09:50:57.63ID:L8xarZNp0757デフォルトの名無しさん
2015/07/02(木) 10:03:54.46ID:u7x11Nqb0758デフォルトの名無しさん
2015/07/02(木) 10:28:08.52ID:zhB7tSAgStackでどうなるか
0759デフォルトの名無しさん
2015/07/02(木) 11:10:25.42ID:e+SQ5knv単に使用するGUIライブラリ・グラフィックスライブラリのドキュメントが読めれば充分なので、
その趣旨は私にはまったく判然としません(当該の記事で著者がOCamlで「お絵かきロジック」を
実装してみせよと要求する一方で自身ではJavaScriptによるそれを公表していない点も気になります)。
もちろん、OCamlであれHaskellであれ破壊的代入の類の副作用を使用せずに書くのもなんら困難ではありません。
0760デフォルトの名無しさん
2015/07/02(木) 13:57:23.04ID:y1SlVF6x0761仲本だいすけ
2015/07/02(木) 15:06:12.36ID:ZQFEgiVc0762デフォルトの名無しさん
2015/07/02(木) 17:11:55.72ID:L8xarZNp環境のクソさのお陰でわりと布教しづらかったので stack にはマジ期待してる
>>759
なんら困難ではない。。。かなぁ???
0763デフォルトの名無しさん
2015/07/02(木) 17:35:08.64ID:xB5xsyxT入出力そのものを副作用だと言い出すならどんな言語でも無理だしな。
0764デフォルトの名無しさん
2015/07/02(木) 17:46:38.81ID:FcRiDZyX当事者ご降臨ですかw
確かに保身第一、全く相手にしてませんが何か?っていう答え方だな
0765デフォルトの名無しさん
2015/07/02(木) 18:22:32.80ID:aW/wUO6Rおまえらの不徳の致すところ
0766デフォルトの名無しさん
2015/07/02(木) 18:30:48.79ID:e+SQ5knv0767デフォルトの名無しさん
2015/07/02(木) 18:55:57.21ID:y1SlVF6x0768デフォルトの名無しさん
2015/07/02(木) 19:00:17.41ID:xB5xsyxT追記部分があるのを知らなかった、めっちゃ面白かったです
関数型言語 - 『関数型プログラミングに目覚めた!』のレビュー(Day-1)
on @Qiita http://qiita.com/nonstarter/items/2763f5d85f2b8df3b18b …
kenokabeさんの謎クリックカウンタとお絵かきのネタは仙台でも大人気だ!
0769デフォルトの名無しさん
2015/07/02(木) 19:26:05.17ID:gqhA8KsA0770デフォルトの名無しさん
2015/07/02(木) 21:46:14.33ID:E90eWw9yその程度のために Googleモナドを持ち出すなど軟弱な
0771仲本だいすけ
2015/07/03(金) 01:48:03.52ID:RZmOyo0m/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/
、:::::.. /:::; .,-、 l:::/、
:::::::: ゝヽ- ー' 、 l::/,
,:、:: / ,--、,-.、_ l /
、::、 `ー ̄-' /
、::ヽ /:
r‐''''^¨^⌒ ̄ ̄ ̄ヽ
,ノ`, \
ノ/ ヽ
ι.} λ )
ヽ(,. ノ! r'
( l .,/
ノ,,,,,,,,,,,,,,,,,,,,,,,,,,,,丿へ
ノ ,)
( ∵ ∧∵ /,,丿
\,,,,/人\__ノ /
( ) (__) ( )
《 l (___) 《 ̄ ̄》
《__(____) 《____》
0772デフォルトの名無しさん
2015/07/03(金) 03:37:23.69ID:aag7hyI70773デフォルトの名無しさん
2015/07/03(金) 08:29:08.65ID:8+5j5k8x相手が弱者だと思って戦いを始めるやつは撤退する口実を作れないから泥沼化する
強敵ならいつでも撤退を正当化できるのに
0774デフォルトの名無しさん
2015/07/03(金) 08:38:57.07ID:R0ApVOfB入出力は副作用でしょ普通
入出力無しにGUIを描くと言ってるのと同じで矛盾してる
0775デフォルトの名無しさん
2015/07/03(金) 08:39:40.10ID:uImfavx20776デフォルトの名無しさん
2015/07/03(金) 08:41:04.32ID:wl7u/SNJ意味論による。
0777デフォルトの名無しさん
2015/07/03(金) 08:46:11.05ID:R0ApVOfB言ってる事が理解できないので詳しく
入出力で参照透過性を維持できる説明もよろ
0778デフォルトの名無しさん
2015/07/03(金) 09:04:39.28ID:wl7u/SNJIOモナドの仕組みくらい自分で調べたらよろしい。
そして、グラフ書換系のどこにも副作用なんかない。
0779デフォルトの名無しさん
2015/07/03(金) 09:11:48.16ID:R0ApVOfBグラフ書換系はGUIとは関係ないだろう
はぐらかさないで説明ヨロ
0780デフォルトの名無しさん
2015/07/03(金) 09:15:30.38ID:wl7u/SNJIOモナドは世界状態RealWorldを取るStateモナドと同じ意味論を与えることができる。
Stateモナドに副作用がないのと同様にIOモナドはモナドにも副作用はない。これが1。
IO a を RealWorld -> (RealWorld, a) と元の形に直した上で
Haskellのグラフ書換系上で入出力がどう見えるか考えてみればいい。これが2。
これでわからんなら私のせいではない。
0781仲本だいすけ
2015/07/03(金) 09:46:07.14ID:6Fdm7Fxt0782デフォルトの名無しさん
2015/07/03(金) 09:57:24.37ID:p7lUbcZEしかし関数プログラミングやFRPは銀の弾ではないとも思う。
なぜこうも銀の弾が出てこないのか?
0783デフォルトの名無しさん
2015/07/03(金) 10:02:29.75ID:Iifsm05F0784デフォルトの名無しさん
2015/07/03(金) 10:17:59.41ID:R0ApVOfBグラフ書換系からモナドがどう見えるかは関係ない
実際にIOモナドから値を取り出し、副作用を伴う処理を使う際
参照透過性を維持できるという説明をよろしく
0785デフォルトの名無しさん
2015/07/03(金) 10:19:49.54ID:vDmQcknfhttp://d.hatena.ne.jp/kazu-yamamoto/20090627/1246135829
0786デフォルトの名無しさん
2015/07/03(金) 10:26:38.47ID:R0ApVOfBそのリンク先の説明は理解できるが
今レスしている人はどの趣旨の説明でもない
0787デフォルトの名無しさん
2015/07/03(金) 10:26:38.81ID:R0ApVOfBそのリンク先の説明は理解できるが
今レスしている人はどの趣旨の説明でもない
0788デフォルトの名無しさん
2015/07/03(金) 10:28:25.82ID:wl7u/SNJ決してノードが共有されないことに気が付かなかったんですかねえ。
グラフ書換でノードが共有されることと参照透過性との関係が
理解できてない可哀想な子だったか。
0789デフォルトの名無しさん
2015/07/03(金) 10:32:05.52ID:R0ApVOfBタプルをRealworld aと勘違いしてた
0790デフォルトの名無しさん
2015/07/03(金) 10:39:21.05ID:R0ApVOfBよく読んでいなかったよ謝る
0791仲本だいすけ
2015/07/03(金) 10:48:00.79ID:Dt4z3lubThinkDifferent(笑)
0792デフォルトの名無しさん
2015/07/03(金) 10:49:58.03ID:aSIkPSGQ0793デフォルトの名無しさん
2015/07/03(金) 11:24:59.81ID:p7lUbcZEそういえば、この解釈は酷い解釈だったな
0794デフォルトの名無しさん
2015/07/03(金) 11:35:30.05ID:8+5j5k8x・副作用は定義した時ではなく実行時に発生する
・引数 (RealWorld) は関数を定義した時ではなく呼び出した時に渡される
ほぼ同じ内容だ
同じ内容に優劣をつけるのは言葉遊びだ (遊ぶなとは言っていない)
0795仲本だいすけ
2015/07/03(金) 11:39:29.06ID:TviClge20796仲本だいすけ
2015/07/03(金) 12:04:29.45ID:ri2L7Lgt/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
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 `(_、_) / \´ )゚
\_) `ヽ : :;;*:; : : : | (_ノ
人__;;:;;、___ノ ヽヽ ヽヽ
;:;;:;;:;,, ──┐ | | ──┐ | |
∬ ;;:;::.;::.::;::..:;:..: ∬ / | | /. | |
・〜 ;::;.:;:;:;:;:.:;:.:::.;:;:;.:.:.: ノ ノ ┐ ノ ノ ┐
∬;;;:::;;;:;:.:;:.::.:;;.:.;.:;.:; ∬ ┴ ヽヽ ┴
:"
0797デフォルトの名無しさん
2015/07/03(金) 12:15:29.28ID:p7lUbcZEほぼ同じ内容だろうが、それらはどれも酷い解釈だと思うよ
0798デフォルトの名無しさん
2015/07/03(金) 12:36:08.66ID:IUu1So5+0799デフォルトの名無しさん
2015/07/03(金) 12:38:18.64ID:InleWrcM0800デフォルトの名無しさん
2015/07/03(金) 15:16:07.46ID:msRG1Yik顎の両脇の部分が、後ろで済ませたとぐろ糞に見える
0801デフォルトの名無しさん
2015/07/03(金) 15:58:45.53ID:Vi+qPEKLhello
hello
Prelude> let x = putStrLn "hello" in seq x x
hello
Prelude>
0802デフォルトの名無しさん
2015/07/03(金) 19:01:10.98ID:V10CPSDi0803デフォルトの名無しさん
2015/07/03(金) 19:04:32.10ID:Vi+qPEKL0804デフォルトの名無しさん
2015/07/03(金) 21:18:44.48ID:XD0nd274IOはコンストラクタが隠蔽されているのだから必然的にそうなる
0805デフォルトの名無しさん
2015/07/03(金) 22:59:59.80ID:8flj3gJm0806デフォルトの名無しさん
2015/07/03(金) 23:22:54.07ID:XD0nd274Haskellの半分以上はコンストラクタやパターンマッチでは説明がつかない
0807デフォルトの名無しさん
2015/07/04(土) 02:18:23.55ID:XsL/EKLB0808デフォルトの名無しさん
2015/07/04(土) 09:50:27.87ID:WNuVOXDD0809デフォルトの名無しさん
2015/07/04(土) 10:25:08.25ID:8ixaKuBtその「ので」が「今日は天気が良い『ので』どこかに出かけよう」ぐらいエエカゲンなんだよなあ
0810仲本だいすけ
2015/07/04(土) 10:41:07.54ID:uNR/QH/o/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
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, , '-, ゙'ー'ー' ヽ、`,ー、 `'ー'ー'
0811デフォルトの名無しさん
2015/07/04(土) 11:47:31.61ID:D//5Uocc0812デフォルトの名無しさん
2015/07/04(土) 14:12:51.24ID:WvwJxr100813デフォルトの名無しさん
2015/07/04(土) 16:46:21.33ID:rWY2qCze0814デフォルトの名無しさん
2015/07/05(日) 03:00:57.48ID:18u325sL↑ ↑ ↑ ↑ ↑
0815デフォルトの名無しさん
2015/07/05(日) 03:18:53.53ID:5EFP5F9v0816デフォルトの名無しさん
2015/07/05(日) 11:32:05.80ID:j/NgsVfb最初は眼鏡で途中から眼鏡を外せば流行ると考えるんだ
0817デフォルトの名無しさん
2015/07/06(月) 00:22:13.25ID:wlw6otNxデメリットは多いのに。
0818デフォルトの名無しさん
2015/07/06(月) 04:07:14.46ID:W9Wle9it0819デフォルトの名無しさん
2015/07/06(月) 04:12:56.58ID:G+yljX6jHaskellは禁断の果実だった
0820デフォルトの名無しさん
2015/07/06(月) 10:19:51.08ID:9VlVzieP代数的データ型、型クラス、型推論、immutableがデフォルト、パターンマッチ、
メモリリークをコンパイルエラーにする
と結構 ml likeな言語
0821デフォルトの名無しさん
2015/07/06(月) 10:24:54.61ID:9VlVzieP毛を引き寄せたのはhaskellじゃなくてjsだろ
0822デフォルトの名無しさん
2015/07/06(月) 18:54:20.21ID:yIxlkBRi749 名無しさん@ゴーゴーゴーゴー! 2015/07/06(月) 14:17:10.21 ID:IaVh3M450
http://kenokabe-techwriting.blogspot.jp/2015/07/javascript.html
おかえり!入院しろ!
0823デフォルトの名無しさん
2015/07/06(月) 21:10:08.11ID:EN2KuOqG0824デフォルトの名無しさん
2015/07/06(月) 21:43:24.49ID:G+yljX6jRustは人口少ないしScalaよりさらに関数型で安全そうだけどじゃあHaskellでいいじゃんってなる
0825デフォルトの名無しさん
2015/07/06(月) 22:13:00.63ID:pYzRJ5bG0826デフォルトの名無しさん
2015/07/06(月) 22:38:54.30ID:/jetTYu7ループでしか書けないからね
0827デフォルトの名無しさん
2015/07/06(月) 23:08:12.61ID:G+yljX6j直和型
再帰型
抽象型
独自(ドメイン固有)型
型推論
ダブルディスパッチ
高階関数
map/filter/fold
末尾再帰最適化
オブジェクト指向でもこれくらいサポートしてほしい
0828デフォルトの名無しさん
2015/07/06(月) 23:11:36.25ID:8//4HfJE0829デフォルトの名無しさん
2015/07/06(月) 23:28:12.05ID:IO/OfGDxrustは日本人ユーザが少ないだけでコミュニティは盛り上がってる
0830デフォルトの名無しさん
2015/07/07(火) 00:34:34.08ID:/AiLg+DVその結果を叩いてるぞ
0831デフォルトの名無しさん
2015/07/07(火) 01:15:52.91ID:6n40dgbK0832デフォルトの名無しさん
2015/07/07(火) 01:30:24.54ID:0l2OmbIXrustはc,c++と同じ低レベルプログラミング言語だから
haskell、scalaとは被らないよ
0833デフォルトの名無しさん
2015/07/07(火) 01:44:46.81ID:5T5xC6jaHaskellとRustでは型に意図された機能がぜんぜん違う。
0834デフォルトの名無しさん
2015/07/07(火) 04:38:19.84ID:wEQ5fYPFどういう部分が?
所有権という概念が入るだけで、型付けは結構強めだと思うが
0835デフォルトの名無しさん
2015/07/07(火) 05:07:24.51ID:wEQ5fYPF洗脳…ですかね
0836デフォルトの名無しさん
2015/07/07(火) 08:27:24.02ID:5T5xC6jaRustは高階カインドやGADT使えないでしょ。モナドすらない。
だけど線形型は使えて(所有権)、要するに基本のHindley-Milner systemからの
強化方向とその背景にある思想が全然違う。
データの構造に対する表現力を求めるのとリソース管理を求めるのと。
なおどっちも突っ込むと人智を超え始めるのはATSを見ればお分かりの通り。
0837デフォルトの名無しさん
2015/07/07(火) 08:30:37.69ID:6KFd5cV4最初はOCamlで開発されていたからか、letとかOptionとかML系の匂いはする。
ただし簡潔さよりもゼロオーバーヘッドを優先しているから、冗長な表記が多々含まれる。
あと型推論は関数定義内だけに適用されるから、エラーメッセージが見当外れの場所を指さない一方、
borrow checkerのエラーはすごく把握しづらい。impl書いている時は特に。
自分がいかにGCに依存し、リソース管理を怠っていたかをこれでもかという程思い知らせてくる言語。
0838デフォルトの名無しさん
2015/07/07(火) 08:31:10.23ID:bP16dll80839デフォルトの名無しさん
2015/07/07(火) 11:38:06.78ID:ZG49EUnhトランポリンとかモナドとかよりもっと抽象度高い系の片鱗を味わったぜ
0840デフォルトの名無しさん
2015/07/07(火) 12:46:53.46ID:KLvjH7rL0841デフォルトの名無しさん
2015/07/07(火) 15:14:42.99ID:kS7BAnfS岡部究(master_q)さん、暇なんですか?
0842デフォルトの名無しさん
2015/07/07(火) 15:31:19.79ID:AZjd+yQY0843デフォルトの名無しさん
2015/07/07(火) 15:36:54.07ID:kS7BAnfSParsec の改良実装が Trifecta だそうです(TwitterのTL調べ)
0844デフォルトの名無しさん
2015/07/07(火) 16:41:16.20ID:kvoehb1fメモリを食いつぶしてることの裏を取ってないわけねーだろ。
これには何か事情があるんだろう。
0845デフォルトの名無しさん
2015/07/07(火) 16:44:08.49ID:kvoehb1f岡部「破壊的代入を使わないクリックカウンターやお絵かきロジック(マウスのドラッグ)はFRP(自称)でなければ書けない」
→OCamlでもHaskellでも瞬殺
→岡部「再帰でメモリリーク(※スタックオーバーフローの意)する」
→末尾再帰なのでスタックオーバーフローしないし、実際のメモリ消費量も増えていない。
岡部の示した「証拠画面」はメモリ不足ではなくプロセスを強制終了しただけ。
0846デフォルトの名無しさん
2015/07/07(火) 16:57:06.07ID:AzQt5h10前者だとちょっとガッカリ…
0847デフォルトの名無しさん
2015/07/07(火) 17:57:25.43ID:T57Vd7z30848デフォルトの名無しさん
2015/07/07(火) 18:14:46.72ID:50EUtPEU0849デフォルトの名無しさん
2015/07/07(火) 18:17:56.32ID:Ra6qpxUVそれに比べて関数型という安易な言葉に苦しめられる人は多い
0850デフォルトの名無しさん
2015/07/07(火) 20:57:42.46ID:strljqHr末尾再帰と言われたのだが。
0851デフォルトの名無しさん
2015/07/08(水) 00:23:41.84ID:D8OEoYJfなぜ良くないの?
0852デフォルトの名無しさん
2015/07/08(水) 00:43:21.45ID:lu3S4QgmOCaml版はloop_at_exit使ってるのがダメと指摘されますた><
Graphics.wait_next_eventかGraphics_js.loop使ってください
0853デフォルトの名無しさん
2015/07/08(水) 01:57:29.30ID:T1Ir4r2m末尾再帰はあのコード例では関係なくて、イベントハンドラを経由したtrampolineになってるのでスタックオーバーフローしない、が正しそう。
0854デフォルトの名無しさん
2015/07/08(水) 03:26:31.55ID:gcJIUX06末尾再帰の最適化がかからない言語は使うべきではないともレスがあったな。
0855デフォルトの名無しさん
2015/07/08(水) 05:37:16.57ID:D8OEoYJfよく分かりませんが、ところで、あなたにレスを見て気になって、調べて初めて知りました。
Haskellって末尾再帰の最適化って無いんだね。
ずっと勘違いしてた。気付かせてくれてありがとう。
0856デフォルトの名無しさん
2015/07/08(水) 06:38:51.11ID:k4MH4D3R>Haskellって末尾再帰の最適化って無いんだね
TCOが無いんじゃなくて、あくまでサンクの問題。
0857デフォルトの名無しさん
2015/07/08(水) 07:15:31.29ID:asOwE27P0858デフォルトの名無しさん
2015/07/08(水) 08:22:34.09ID:SmYj13jCkwsk
0859デフォルトの名無しさん
2015/07/08(水) 08:29:06.72ID:gcJIUX06そもそも最適化が無い言語とはC言語のことで、Cは使うなHaskellを使えと言う話だったのだが。
0860デフォルトの名無しさん
2015/07/08(水) 08:53:04.13ID:Hcg+sLDhサンクが末尾にあったらTCOと同じだろ
0861デフォルトの名無しさん
2015/07/08(水) 09:03:37.61ID:k4MH4D3Rできる。ghcなら-O2つければいい。
0862デフォルトの名無しさん
2015/07/08(水) 09:44:23.49ID:gcJIUX06オフセットを指定してジャンプ程度の違いしかないので、インストラクションに
関しては大して違いが無いのだが。
どうもハスケラーは関係ないことを指摘して、「だから◯◯はダメだ」と言い出す
傾向が強い。
0863デフォルトの名無しさん
2015/07/08(水) 10:56:59.54ID:k4MH4D3R0864デフォルトの名無しさん
2015/07/08(水) 11:02:57.48ID:Mh0VppoTオフセットを指定してジャンプ程度の違いしかないので」
はあ???
0865デフォルトの名無しさん
2015/07/08(水) 11:10:43.42ID:+0ZOrsx3「TCO効いた後なら」同じだが、>>862 は「Cの関数呼び出し」と言ってるから
Cも関数呼び出しもまったくわかってない。プログラムわからないんだったら出てくんな。
0866デフォルトの名無しさん
2015/07/08(水) 11:28:35.90ID:k4MH4D3Rまさかスタック積むことすらわかってないとかなんかね?
0867デフォルトの名無しさん
2015/07/08(水) 15:11:37.94ID:TEEbED7EHaskellは破壊的代入をしようとすると面倒なのがつらい。
巨大な1次元配列の任意の場所を参照しながら大量に書き換える処理とか
純粋性を保ったままやろうとすると凄いことになる。
*例えば画像データの一部に別の画像をmixするとか
0868デフォルトの名無しさん
2015/07/08(水) 16:24:24.26ID:Eo9ZYfU/スタックに引数、戻り値と積んでからジャンプするんだから、アドレスを渡す
関数ならスタックは積む必要が無い。
再帰してるんだから。
ハスケラはどうも自分は天才で自分以外は全員馬鹿と思い込む傾向がある。
0869デフォルトの名無しさん
2015/07/08(水) 16:25:04.00ID:Fj3AV/LFいつものマウンティング合戦。
0870デフォルトの名無しさん
2015/07/08(水) 16:26:57.55ID:Fj3AV/LFなぜかオカマちゃんが出没するのだ。
0871デフォルトの名無しさん
2015/07/08(水) 16:51:49.63ID:TEEbED7E怖い人多そうで誘いづらい
0872デフォルトの名無しさん
2015/07/08(水) 17:09:26.71ID:F0vddBGo「まさかスタック積むことすらわかってないとかなんかね? 」
毎日こんなこと言われると思う。
0873デフォルトの名無しさん
2015/07/08(水) 17:22:12.92ID:TEEbED7E製品完成する前に心折られそう
0874デフォルトの名無しさん
2015/07/08(水) 17:24:08.22ID:g9xxt+x4「スタックに引数、戻り値と積んでからジャンプするんだから、アドレスを渡す関数ならスタックは積む必要が無い。再帰してるんだから。」とか
(しかもTCOの話をしてるのに)、本当にCも関数呼び出しもわかってない知ったかぶりがHaskellerを中傷してるだけ。
それ以上でもそれ以下でもない。
0875デフォルトの名無しさん
2015/07/08(水) 17:29:09.36ID:TEEbED7E簡単なプログラムができる程度の初心者でもいいんだけど
一緒に自社製品つくりたい
(ただし売上あるまで一緒に無給)
0876デフォルトの名無しさん
2015/07/08(水) 17:33:01.82ID:3bDYKzqvどうもハスケラーは関係ないことを指摘して、「だから◯◯はダメだ」と言い出す
傾向が強い。
0877デフォルトの名無しさん
2015/07/08(水) 17:34:43.10ID:3bDYKzqv0878デフォルトの名無しさん
2015/07/08(水) 17:37:24.50ID:ikFma15Cわかってないのに自覚せず威張ってるから馬鹿にされてるんだが…。
そういう奴がいて、間違いを指摘すると逆ギレされる職場とか絶対嫌。
0879デフォルトの名無しさん
2015/07/08(水) 17:39:55.04ID:coR9sNH70880デフォルトの名無しさん
2015/07/08(水) 17:46:11.37ID:TEEbED7Eそしてこのスレが荒れるのも彼の呪いじゃないかとおもう
もうそっとしておくのが一番いいとおもう
0881デフォルトの名無しさん
2015/07/08(水) 17:48:42.74ID:3bDYKzqvCは再帰の最適化が必要ないのに何言ってんの?と答えた。
0882デフォルトの名無しさん
2015/07/08(水) 17:54:30.07ID:3bDYKzqv「遅延呼び出しによって必要のない計算を無くせるスゴイ!」
他の言語では最初から必要ない計算はしないからそんな最適化は必要ない。
自らゴミを持ち込んで
「ゴミを減らせたスゴイ!Cはゴミを減らせないから使うべきでない!」
とか言い出すのがハスケラー。
0883デフォルトの名無しさん
2015/07/08(水) 17:54:46.50ID:jdKxxZpi0884デフォルトの名無しさん
2015/07/08(水) 18:02:40.05ID:7bDc6WAXそれはさておき、Cではループを末尾再帰で書いたりしないから、そんな最適化はいらない、という意見もそれはそれでわかる。
末尾再帰使わないのに、末尾再帰最適化がないからダメ、なんて言ってる奴がいたらそいつがおかしいので具体的ソース希望。
0885デフォルトの名無しさん
2015/07/08(水) 18:11:09.96ID:LC6Y88mm末尾再帰最適化を知ってて制御構文を知らないなんて
そんな支離滅裂な馬鹿を前提としてる時点で察しろと
0886デフォルトの名無しさん
2015/07/08(水) 18:13:26.90ID:7bDc6WAX戻り番地や、まだ使う変数をセーブしておくためにスタックを消費する。
(引数渡しにスタックを使うこともあるけど、そうでなくても)
(再帰でも、再帰でなくても)末尾呼び出しの場合、そのセーブが不要なので、
ただのジャンプ(と引数のセット)だけに最適化できる。
この最適化は関数型言語の処理系では普通は実装されている。
Cでも全くできないことはないと思うが、いろいろ面倒そうなので
やってるコンパイラは寡聞にして知らない。
0887デフォルトの名無しさん
2015/07/08(水) 18:14:38.28ID:3bDYKzqv変換する最適化という言い方が、ハスケラーっぽいなあ。
Cは積む必要のないものは積まないんだから。
スタックに何も積まなければループも関数呼び出しも大した違いは無い。
そういうわけでこれからは、最適化しないと使い物にならないHaskellと考えていただこう。
0888デフォルトの名無しさん
2015/07/08(水) 18:14:42.05ID:7bDc6WAX0889デフォルトの名無しさん
2015/07/08(水) 18:17:33.59ID:7bDc6WAX戻り番地と、生きている変数と、レジスタに入りきらない引数。
0890デフォルトの名無しさん
2015/07/08(水) 18:27:23.28ID:Fj3AV/LF低い。学者さんに多いタイプ。アカハラ怖い。
0891デフォルトの名無しさん
2015/07/08(水) 18:27:27.64ID:LC6Y88mm????
Cもfastcallじゃない限り戻りアドレス積むよ
0892デフォルトの名無しさん
2015/07/08(水) 18:28:15.90ID:LC6Y88mm0893デフォルトの名無しさん
2015/07/08(水) 18:39:15.89ID:2M74HMLS0894デフォルトの名無しさん
2015/07/08(水) 18:50:26.80ID:7bDc6WAX884 :デフォルトの名無しさん: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)
0895デフォルトの名無しさん
2015/07/08(水) 19:00:46.58ID:Hcg+sLDhnullは不要 → 初期化と代入の区別が必要 → 面倒だから代入も不要 → ループも不要
0896デフォルトの名無しさん
2015/07/08(水) 19:03:01.21ID:7bDc6WAXループで書くと破壊的代入が必要になるから、関数的に書くと自然に末尾再帰になる。
なので関数型プログラミングをするなら末尾再帰最適化は必須だし、
実際に(再帰以外の末尾呼び出しの最適化も)まともな処理系はみんな実装してる。
関数型言語では必須かつ簡単な最適化なので。
0897デフォルトの名無しさん
2015/07/08(水) 19:04:06.48ID:7bDc6WAX0898デフォルトの名無しさん
2015/07/08(水) 20:23:51.51ID:oVqSZ92Lvcは引数が全く同じ関数の末尾呼び出しをgotoにするよ。
0899デフォルトの名無しさん
2015/07/08(水) 20:46:18.84ID:7bDc6WAX末尾再帰は>>884にあるとおりGCCも(引数が違っても)最適化してる。
>>886は再帰以外の末尾呼び出しの話だった。
一続きだったんだが、独立して読むと明示されてないね。
>>894でまとめて読んでくれ。すまん。
0900デフォルトの名無しさん
2015/07/08(水) 22:36:48.90ID:oVqSZ92Lいいや、tail callだよ。
0901デフォルトの名無しさん
2015/07/08(水) 22:53:06.86ID:TEEbED7Eマジで早く使いたいんだけど
0902デフォルトの名無しさん
2015/07/08(水) 23:02:56.60ID:zrPw7vNx0903デフォルトの名無しさん
2015/07/08(水) 23:32:53.31ID:oVqSZ92Lほらよ。
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
0904899
2015/07/09(木) 05:48:11.05ID:KPxfvpRW逆に、なんで引数の数や型が同じじゃないといけないの? スタックポインタの調整が面倒だから?
0905899
2015/07/09(木) 05:57:34.42ID:KPxfvpRWCでも需要があるのかな。
extern int foo(int);
int bar(char *a)
{
return foo(10);
}
bar:
.LFB0:
.cfi_startproc
movl $10, %edi
jmp foo
.cfi_endproc
0906899
2015/07/09(木) 06:13:19.89ID:KPxfvpRWにGCCがTCOする条件が解説されてた。Cだとややこしいけど需要はあるらしい。
連投&スレ違い失礼しますた。
0907デフォルトの名無しさん
2015/07/09(木) 06:35:27.16ID:OEKsJpEx>「引数が全く同じ」って、値じゃなくて、数や型が同じってことね。サンクス。
再帰で値が同じならそれは無限再帰と呼ばれる。
>逆に、なんで引数の数や型が同じじゃないといけないの? スタックポインタの調整が面倒だから?
引数の個数はcalleeではわからないから、面倒ではなく、出来ない。
0908デフォルトの名無しさん
2015/07/09(木) 08:19:53.49ID:e+1UNYHr>再帰で値が同じならそれは無限再帰と呼ばれる。
Cだと副作用でメモリの中身が変わってるかもしれない
>引数の個数はcalleeではわからないから、面倒ではなく、出来ない。
Cだと同じ関数の型の見え方がcallerとcalleeで違ったりするからね。
>>906みたく条件緩和できるがなかなかややこしい
0909デフォルトの名無しさん
2015/07/09(木) 09:12:59.14ID:LXpNU/xqVSの色んな機能を使えるなら欲しいけど、vimやemacsのプラグインと同じ事しか出来ないならいらん
0910デフォルトの名無しさん
2015/07/09(木) 10:48:24.29ID:h1Dw9jX8バックトレースが不正確になるのでやっかい
大規模な開発ではあえて無効にされることもあるよ
0911デフォルトの名無しさん
2015/07/09(木) 10:56:32.05ID:sAbBvj66使えないの・・・?(´・ω・`)
詳細しらないけどきっと使えるんじゃね?
VSのデバッガ使いたい
0912デフォルトの名無しさん
2015/07/10(金) 07:10:09.65ID:0h1M+LeE0913デフォルトの名無しさん
2015/07/10(金) 10:31:36.54ID:j3g7NrlER -> A や A -> R もモナドにできるの?
0914デフォルトの名無しさん
2015/07/10(金) 11:04:46.48ID:XOUMSF+T>>913
m (r -> a)
m (a -> r)
モナドにしたったで
0915デフォルトの名無しさん
2015/07/10(金) 12:28:35.80ID:j3g7NrlEreturnと>>=はそれぞれどうなるの?
0916デフォルトの名無しさん
2015/07/10(金) 13:29:21.43ID:NSmmAGhSつうか
(-> R A)と(-> A R)で普通に関数モナドな。
return = const
(>>=) f g = ¥x -> g ( f x ) x
0917デフォルトの名無しさん
2015/07/10(金) 13:50:04.51ID:j3g7NrlE(-> A R)のreturnと>>=は?
0918デフォルトの名無しさん
2015/07/10(金) 16:23:11.40ID:NSmmAGhS>(-> R A)はそれで分かったが、
>(-> A R)のreturnと>>=は?
あたま大丈夫?
0919デフォルトの名無しさん
2015/07/10(金) 18:30:43.38ID:j3g7NrlE0920デフォルトの名無しさん
2015/07/10(金) 19:04:13.42ID:l6c5ofseそして、自動車より安全と発言した人間が狂っていると断言できる者はあまり多くない
0921デフォルトの名無しさん
2015/07/10(金) 23:42:39.10ID:ucCSbhAHRが具体的な型で、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パッケージより)
共変関手にならない理由は、このサイトがわかりやすい。
http://kinokkory.hatenablog.com/entry/20131203/p1
0922デフォルトの名無しさん
2015/07/11(土) 09:25:20.24ID:6sFnysGrありがと。
M(A)がモナドになる条件を簡単に言えるのかな?
0923デフォルトの名無しさん
2015/07/11(土) 09:30:00.73ID:S9PAD2xfhttps://github.com/flycheck/flycheck
既出ならスマソ
0924デフォルトの名無しさん
2015/07/11(土) 09:42:11.42ID:Yc/lws0vこういったノード間通信ライブラリを使ってる方がいたら
バリエーションや感触を教えてもらえないでしょうか
もしくはベタに書いたほうがいいでしょうか
0925デフォルトの名無しさん
2015/07/11(土) 11:24:25.49ID:aYDDmLduでもフレームワークや統合環境は質より量でごまかせるから人気はどうでもいい
0927デフォルトの名無しさん
2015/07/11(土) 15:05:57.90ID:8xsgKabx0928デフォルトの名無しさん
2015/07/11(土) 15:12:01.82ID:V/wpM/3h反論記事って言い合いを面白がってみてる人以外には何の得もない気がするんだけどなあ
0929デフォルトの名無しさん
2015/07/11(土) 16:20:10.41ID:obYDcaZK使えるとどうなる?教えて
0930デフォルトの名無しさん
2015/07/11(土) 16:44:05.06ID:aYDDmLdu0931デフォルトの名無しさん
2015/07/11(土) 16:46:52.16ID:obYDcaZK0932デフォルトの名無しさん
2015/07/11(土) 20:42:56.70ID:/RrsVJlS0933デフォルトの名無しさん
2015/07/11(土) 22:25:31.98ID:6sFnysGrやっぱり自分はアホだった。全然分かっていなかった。
ファンクターにはなるがモナドにはならないものがあるはずだが、
その例が作れん
0934デフォルトの名無しさん
2015/07/12(日) 00:46:11.12ID:KOjB2nQF解けた方だけどうぞ
ttp://blog.livedoor.jp/superprojectx/archives/1030198512.html
0935デフォルトの名無しさん
2015/07/12(日) 01:52:00.85ID:9fi2nz0K0936デフォルトの名無しさん
2015/07/12(日) 06:13:49.33ID:/rMkRh/q破壊的代入がなければwrite barrierもいらないから
Haskellのほうが簡単というだけじゃなくて?>ガベコレ
Javaは旧SunやIBMががんばった結果、細かい最適化はされてるだろうけど。
0937デフォルトの名無しさん
2015/07/12(日) 08:26:42.75ID:zJqA9jr9もうJavaは無視してC++のようにGCショボいけど速いやつを参考にしよう
0938デフォルトの名無しさん
2015/07/12(日) 11:00:37.13ID:AGKmbBWcということでrustやろうぜ!
0939デフォルトの名無しさん
2015/07/12(日) 11:10:50.31ID:s7w6GHZY0940デフォルトの名無しさん
2015/07/12(日) 11:44:20.38ID:fsP2XOSVRCあるぞ。
0941デフォルトの名無しさん
2015/07/12(日) 12:48:25.98ID:KGquBeD3一例を教えて下さい
0942デフォルトの名無しさん
2015/07/12(日) 12:52:34.01ID:fsP2XOSV0943デフォルトの名無しさん
2015/07/12(日) 13:07:29.47ID:KGquBeD3ストリーミングサイト作ったCavetube管理人のほうがすごいんだよなぁ
0944デフォルトの名無しさん
2015/07/12(日) 13:26:20.29ID:kel+atw2そんなの気にするより、そいつらのソース参考にするとかして
Haskell を楽しんだ方が何倍も有意義だよ。
0945デフォルトの名無しさん
2015/07/12(日) 13:33:21.56ID:rAeLMId1GCサポートは付いてるけどな。
RAIIで設計するとGCは遅くなるだけであまり意味ないから誰も使わないな。
0946デフォルトの名無しさん
2015/07/12(日) 15:30:30.95ID:ryFHmMNk0947デフォルトの名無しさん
2015/07/12(日) 20:10:37.89ID:abu6RaU00948デフォルトの名無しさん
2015/07/12(日) 20:16:28.54ID:bkprvq+c0949デフォルトの名無しさん
2015/07/12(日) 21:16:22.96ID:uwDfGRH40950デフォルトの名無しさん
2015/07/12(日) 21:17:29.74ID:fsP2XOSV最初からCと競合するような言語じゃない。
0951デフォルトの名無しさん
2015/07/12(日) 22:05:39.58ID:zJqA9jr9コンパイラのゴリ押しが良くない
0952デフォルトの名無しさん
2015/07/12(日) 22:06:55.79ID:x1Gu8TTq0953デフォルトの名無しさん
2015/07/12(日) 22:18:58.68ID:fsP2XOSV>Cと競合しないならバイトコードインタプリタで十分
>コンパイラのゴリ押しが良くない
意味がわからん。
LLVMコードを出力するのとコンパイラとの境界ってなによ
0954デフォルトの名無しさん
2015/07/12(日) 22:24:58.59ID:s7w6GHZYRCをGCというならC++にもGCあるだろ
0955デフォルトの名無しさん
2015/07/12(日) 22:42:25.31ID:bkprvq+c0956デフォルトの名無しさん
2015/07/12(日) 22:43:02.61ID:fsP2XOSVその理解で何の問題もないと思うが。
RCがGCの主要実装方法のひとつだという点まで争いたいの?
0957デフォルトの名無しさん
2015/07/12(日) 22:47:38.71ID:7yEOwALsやたら言語の優劣をつけたがる奴は
まともな開発経験も知識も能力もない
アホだと断定していいだろ。
0958デフォルトの名無しさん
2015/07/12(日) 23:08:59.10ID:bkprvq+c0959デフォルトの名無しさん
2015/07/12(日) 23:48:11.69ID:s7w6GHZY>>938 がC++はGCないからRustやろうぜとか言ってたんですよ
0960デフォルトの名無しさん
2015/07/12(日) 23:48:45.86ID:zJqA9jr9バイトコードを外部に出力する機能があったら仕様変更の影響が外部に伝播するから
その機能が無くても十分なら無い方が良いってこと
0961デフォルトの名無しさん
2015/07/12(日) 23:53:56.51ID:fsP2XOSVなるほど。
Rustのリージョナルポインタによるメモリ管理を
GCと間違えたんだろうな。
0962デフォルトの名無しさん
2015/07/13(月) 00:22:31.58ID:FwNm1COsC 組み込み
こういう風になっています。
富豪プログラミングが出来る所でCを使う必要性はあまり無い。
0963デフォルトの名無しさん
2015/07/13(月) 00:58:02.40ID:QeuWC4DgいやrustにGCがないのは知ってる
0964デフォルトの名無しさん
2015/07/13(月) 02:59:06.50ID:6i7dJOia0965デフォルトの名無しさん
2015/07/13(月) 07:50:41.60ID:Ml9NNXKoだからRCあるだろうが!
0966デフォルトの名無しさん
2015/07/13(月) 08:16:40.56ID:5ZThykAiRSSじゃなくて毛自身がコメ書いてる事を自分でバラす事になるんだな(笑)
0967デフォルトの名無しさん
2015/07/13(月) 10:09:26.25ID:gqfr1aBw0968デフォルトの名無しさん
2015/07/13(月) 10:57:00.94ID:cCxFevQ1右から左に流すだけの虚業のように見えるのは仕方ない
0969デフォルトの名無しさん
2015/07/13(月) 11:18:47.64ID:Ml9NNXKo0970デフォルトの名無しさん
2015/07/13(月) 11:35:14.43ID:UsYUluT9丸っきり分かってない一部のバカにとっては、
「一般ユーザが利用可能なパッケージソフト」だけが
「実用的な成果物」なんだろ。
0971デフォルトの名無しさん
2015/07/13(月) 12:24:32.84ID:O7974LG10972デフォルトの名無しさん
2015/07/13(月) 13:38:57.82ID:tAtIl5MT0973デフォルトの名無しさん
2015/07/13(月) 13:40:49.84ID:cCxFevQ1C++でさえdllの作成に向いていない
0974デフォルトの名無しさん
2015/07/13(月) 15:07:15.86ID:6ctAAsGS仕方がない。
>>962 のとおり。
0975デフォルトの名無しさん
2015/07/13(月) 18:30:29.23ID:htwOfG4rC がわからないようでは、そいつの言うことは信用できない
http://builder.japan.zdnet.com/script/sp_c-programming-language/20370255/
0976デフォルトの名無しさん
2015/07/13(月) 19:05:07.18ID:xmoiVj3U特定言語を知らん事を根拠にした
レッテリングにはあんまり賛同できないな。
0977デフォルトの名無しさん
2015/07/13(月) 19:27:16.94ID:9wI4712XData.HashTableが入ってないようなので
cabal install hashtablesして、成功したのですが
未だにimport Data.HashTableで失敗します。
何がいけないのでしょうか?
0978デフォルトの名無しさん
2015/07/13(月) 19:50:15.17ID:Ml9NNXKo>Data.HashTable
Data.HashTableならbaseパッケージに入ってるんで、
hashtables要らないよ。
hashtables使うならData.HashTable.ST.Basicとか
Data.HashTable.ST.Cuckooをimportしないと。
多分どこかでなんか勘違いしてると思う。
0979デフォルトの名無しさん
2015/07/13(月) 19:56:02.53ID:Ml9NNXKohashtables入れて import Data.HashTabl.IO でいいんじゃないかな。
0980デフォルトの名無しさん
2015/07/13(月) 20:11:29.72ID:Ml9NNXKo{-# 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
0981デフォルトの名無しさん
2015/07/13(月) 21:15:03.79ID:6helnrAX動作確認まだ出来てませんが、何とか先に進めそうです!
0982デフォルトの名無しさん
2015/07/14(火) 14:33:35.00ID:d1S9qbgPノイマン型コンピュータというハードウェアは究極的には命令型でしか動作しない。
関数型の機械語なんて存在しない。
ここ、重要ね。反論はないと思うけど
0983デフォルトの名無しさん
2015/07/14(火) 14:35:07.84ID:Bu3+R9wfだからなに?
0984デフォルトの名無しさん
2015/07/14(火) 15:11:21.95ID:GNUjvMWE0985デフォルトの名無しさん
2015/07/14(火) 15:22:11.58ID:RRB/2bWF関数型プログラマならBackusのCan programming be liberated from the von Neumann style?くらい読んでるわよ!
バカにしないでくれる!?
0986デフォルトの名無しさん
2015/07/14(火) 15:26:34.91ID:lfdsryMV一万を超えるメニーコアが・・・Haskellは・・・神!
などと宣伝しすぎたから言われるんじゃないの。
結局速くなってないし。
0987デフォルトの名無しさん
2015/07/14(火) 15:57:28.35ID:krmtTpmZその金を汚いと思うかどうかは自由だが少なくとも金をかけてないやつは潔白だろ
関係ないやつを巻き込むなよ
0988デフォルトの名無しさん
2015/07/14(火) 16:16:14.81ID:lfdsryMVと思う人がいても不思議じゃないだろ。
宣伝しすぎたんだよ。
0989デフォルトの名無しさん
2015/07/14(火) 16:18:10.13ID:Bu3+R9wf0990デフォルトの名無しさん
2015/07/14(火) 16:44:47.28ID:lfdsryMVチラシお断りと貼ってあるのに、ドンドン入れていく感じだね。
Haskellの宣伝がひどいので、コメント欄を無くしたブログも多かったんだよ。
そこまで宣伝したのに、宣伝されたことが全然実現されていないからね。
宣伝では5億並列で一ナノ秒以下を実現とか平気で言ってたからね。
もともと無理だったんだよ。
0991デフォルトの名無しさん
2015/07/14(火) 17:50:31.44ID:Bu3+R9wfどこの世界のお話ですか? 君の中の平行世界?
0992デフォルトの名無しさん
2015/07/14(火) 18:47:54.12ID:JhU5Z9W0>reduce関数やrange関数やmap関数は、命令型のループでしか書けないことをわかってな奴が居るな。
>ノイマン型コンピュータというハードウェアは究極的には命令型でしか動作しない。
>関数型の機械語なんて存在しない。
>ここ、重要ね。反論はないと思うけど
データフローマシンのような非ノイマン型アーキテクチャとか長年試作されてきたし
最近もReduceronはじめFPGAでグラフ書換プロセッサが実装されてるわけだが、
なにを根拠に「存在しない」とか言ってるのこのひとは?
0993デフォルトの名無しさん
2015/07/14(火) 19:33:26.76ID:X8vX3uS6http://peace.2ch.net/test/read.cgi/tech/1436869629/
0994デフォルトの名無しさん 転載ダメ©2ch.net
2015/07/14(火) 19:48:07.17ID:V8pOZFXs当スレのレス数が1000になるまでは当スレを、それ以後は下記スレをご利用ください。
>>993のスレは(残っていれば)実質Part30として使います。
(実質Part29)
関数型プログラミング言語Haskell Part28 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1428597032/
0995デフォルトの名無しさん
2015/07/14(火) 20:33:29.57ID:9t3W2eIVhttps://github.com/worksap-ate/demo/blob/master/Cloud-Haskell.md
0996デフォルトの名無しさん
2015/07/15(水) 00:18:57.00ID:jeRkgPlX0997デフォルトの名無しさん
2015/07/15(水) 00:51:31.43ID:HWtOn7Kkアクターモデル
インターネット
圏論
集合論
非ノイマン型はどれですか?
全部ですか?
0998デフォルトの名無しさん
2015/07/15(水) 01:10:17.43ID:x7KlsBjrそもそもそれらのどこにコンピュータ・アーキテクチャが
含まれているのか教えてくれ。
0999デフォルトの名無しさん
2015/07/15(水) 04:12:42.40ID:WlnCwIoX1000デフォルトの名無しさん
2015/07/15(水) 04:18:56.45ID:meQVGR7r10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。