- 1 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 04:43:27.12 ID:mNwXvrXv.net]
- いざ、語ろうぞ。
スレタイ超過のため、一部省略。 Go, Erlang, Kotlin, etcもウェルカム。 Haskellは協議により次世代失格になりました 前スレ 次世代言語議論スレ[Go Rust Haskell Scala]第3世代 echo.2ch.net/test/read.cgi/tech/1488608741/
- 903 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:53:22.51 ID:8eoxxCqM.net]
- >>878
何の反論にもなっとらん 俺はHaskellに例外はないなんて言ってないしそもそも知らん 難癖もいいとこだな
- 904 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 05:55:34.28 ID:4rMtQxoJ.net]
- >>891
SmallTalkが一番ウンコだと思った決め手は何?
- 905 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 06:14:00.96 ID:wEozaoTa.net]
- >>879
では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。 言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、 型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。 関数オーバーロードはコンパイル時に解決されるぞ。 さあ、具体的に挙げてみろよ。
- 906 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 07:43:00.95 ID:uGw1TdWN.net]
- 多分、エンジニアガイジの主張は
「rustはコンパイル時に多相を解決する能力がないので、その能力のあるHaskell と違ってデータ構造が作りにくいのは仕方がない」 みたいな感じと思われる。難解だけど
- 907 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 08:28:06.80 ID:uGw1TdWN.net]
- 逆だ「実行時に多相を解決能力がない」だ
- 908 名前:あ mailto:sage [2017/05/31(水) 09:15:21.09 ID:dc+IbjjD.net]
- >>903
あ、例外の一般化をしてる、ってのは「Haskellでは実行時にも多相の解決をする」ってのを「『Haskellでは多相の解決を実行時に必ずする』と一般化(というより誤解)してる」という意味ではないのか。なら的はずれな事言ってすまんな。 >>905 具体的に上げろと言われてもなぁ。 <T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。 >>906 そうそう。能力を敢えて持っていない、に近いけど。 実行時ゼロコストを目指してるから仕方ない。
- 909 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 09:37:51.17 ID:uGw1TdWN.net]
- おお合ってたか。正直自信なかったんだよね
>>906を主張を三行に纏めるお手本にしてくれてもいいぞw
- 910 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:08:26.32 ID:j+YATO3J.net]
- さすがに読み解けんわ……
エンジニアガイジは本気で伝え方の訓練した方がいい。 ID:uGw1TdWNみたいな有能な読み解き手がいつもおるとは限らんわ。
- 911 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:21:53.06 ID:j+YATO3J.net]
- エンジニアガイジの主張がさっぱり伝わらない理由って何かと見返してみたが、
相手の反論を表面的にしか返さないせいだな。その質問がどういう疑問から出たかわかってない 「Haskellは実行時に型を解決する(からRustより型の表現力がある代わりにオーバーヘッドのトレードオフがある)」 って意見に 「Haskellもほとんどコンパイル時に解決できるわ」って反論が来たときに「ほとんどは全てじゃないだろ」なんてなにも伝わらん腐った返しするから伝わらないんだっての 「そのごく一部のおかげでそれが皆無のRustより型の表現力があるんだろ?」って、元の主張の()の部分を伝えればまだ理解してもらえるだろうに。 つまり疑問に対する反論が下手。
- 912 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:31:33.38 ID:j+YATO3J.net]
- エンジニアガイジは相手が自分の主張に何か返してきたとき、「相手に何が伝わってなかったか」を考えるようにした方がいい。
それが出来てないから今はただ論破することしかできてない。
- 913 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:49:08.01 ID:9eeNyIu8.net]
- ハイロンパしたいだけの奴に何言ってもね。。
- 914 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:55:14.91 ID:WMdxYZmu.net]
- >>913
本当に「はい論破」したいだけなのか、かわいそうに論破スタイルしか議論の方法知らんのか俺には区別つかないからなぁ。 自分の意見の伝わらなさの自覚はありそうだから(現状人のせいにしてるが)後者にかけて長文投下した
- 915 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:58:50.65 ID:xgELgHJk.net]
- 彼はアスペルガー症候群でしょう
本人に非があるわけではないが、治ることもない
- 916 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:03:36.26 ID:WMdxYZmu.net]
- >>915
確かに「相手の反論が何を疑問点として出てきたかを推察できずに表面的な論破をしたがる」っていうのは典型的なアレだが、 それだけで病気認定は俺にはできんな。健常者でも多少の訓練は必要な事柄だからな。 ただ可能なら診察は受けた方がいいかもわからんね。純粋な心配として。
- 917 名前:あ mailto:sage [2017/05/31(水) 11:08:50.13 ID:dc+IbjjD.net]
- >>911
一から百指摘しないと理解できません、って取ったらいいの? >>912-913 全然論破もしてるつもりないけど。 反論はまともにしてほしいだけで。 論破スタイルってか、ストレートに言わないと議論にならんでしょ。 雑談所なら雑談するよ。
- 918 名前:あ mailto:sage [2017/05/31(水) 11:10:55.99 ID:dc+IbjjD.net]
- >>916
子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。 残念ながら多動はあった。
- 919 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:17:13.85 ID:+xjBJZk4.net]
- ただのADHDってことか
気持ち良い納得感を得られる良スレだな
- 920 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:18:20.52 ID:4nPr+Atc.net]
- ADHD以前に躁鬱でしょ
- 921 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:20:10.30 ID:WMdxYZmu.net]
- >>917
一から百の全部を要求するやつは蹴り倒していいとは自分も思うが、一から百のうち任意のどこかを要求する人の相手くらいできんと人と議論は進まんぞ。 相手の疑問から一から百のうちどこの説明をするべきか読み取ろうという話 反論がまともに来ないのはこれまでの積み重ねのせいじゃないのか? 別に論破スタイルじゃなくてもストレートに議論はできるだろ。
- 922 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:21:41.06 ID:WMdxYZmu.net]
- >>918
通院済みか。余計なお世話だったようだ。
- 923 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 12:19:10.63 ID:uGw1TdWN.net]
- 彼にガイジとニックネーム付けた奴の先見性高いと思わない?
- 924 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:24:55.30 ID:jQ0rWyUQ.net]
- >>908
><T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。 コンパイル時に解決できないHaskellの多相の例がそれか? おまえHaskell書いたことあるか?
- 925 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:27:38.08 ID:jQ0rWyUQ.net]
- 多動のせいで議論ができないんじゃなくて、
シッタカで主張が支離滅裂になっているのを 多動のせいだと思ったおまえらが勝手に辻褄合わせをしてあげて なんだか最初からそういう主張をしているかのように 本人もおまえらも思い込んでいるだけ。
- 926 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:40:30.39 ID:T8V/ATS8.net]
- >>925
別に多動のせいじゃないと俺は思うがなあ。多動ってそもそも議論できる出来ないに関係あったっけ? 単に意見の擦り合わせが絶望的に出来ないから知ったかと同じような議論破綻に突っ込む感じで、 ディベートを議論と勘違いしてるよくある感じのやつだと思ってる。
- 927 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:53:44.27 ID:T8V/ATS8.net]
- 俺はHaskellはトーシロ(死語)だから実行時に型チェックするパターンがあるかどうかなんて細かいこと分からんが
エンジニアガイジが「Haskellの型はほとんどコンパイル時解決だ」って言われたときに やるべきだった反応は 「俺はこのパターンは実行時解決だと思ってたけど違ったか?」であって 「ほとんどは全部じゃねえよはい論破」じゃない。 こういうところが議論向いてないんだよな。
- 928 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 17:26:35.18 ID:gpiwU3f+.net]
- (TvT)
- 929 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:22:27.22 ID:EynlLbc5.net]
- >>908
enum? もしかしてHaskellとScala間違えてんの?
- 930 名前:あ mailto:sage [2017/05/31(水) 20:17:12.66 ID:dc+IbjjD.net]
- >>921
相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せと言われると、 それは違う思う。 >>929 いや、完全に記憶だよりだからその辺違うなら違うんだと思う。 optionじゃなくてnilだった気もする。 なんと言うか、凄いな。Haskellを否定するだけでここまでヒートアップするのは。 スレタイからも抜けたし、否定し放題だとは思うが。 否定されるのが嫌ならHaskellスレに引きこもってりゃ良いのに。
- 931 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:44:50.62 ID:uGw1TdWN.net]
- 自分の意見が伝わりにくいことは現象として理解してる癖に、優しい人が理由を考えてあげると反論してしまい受け入れられない
誰かがいってた放置されてきた子って的確な表現だな どんな優しい人でもこれは放置する
- 932 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:46:07.28 ID:X6jg+zcK.net]
- 言語についてテキトーな事を書いたらツッコミ入れるような奴が
このスレに集まってるだけだぞ Haskell関係ない
- 933 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:11:21.68 ID:43iY7lC1.net]
- >>930
>相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せ それをお互いにやるんだよ。 でもどちらも人間なんだから限界あるだろ?そこを擦り合わせるんだよ。 それが論破合戦じゃない議論なんだよ。
- 934 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:29:09.19 ID:43iY7lC1.net]
- もしかしてエンジニアガイジは自分の意見に反論や疑問が飛んできたとき、
「こいつは自分を潰しに来たから潰し返さないと」とか思ったりしてる?
- 935 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:25:13.36 ID:ZWDZ9M4A.net]
- それできてる奴このスレにいるんですか
大抵潰し合ってないですかね
- 936 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:39:52.28 ID:EynlLbc5.net]
- >>930
Haskellを否定というか、 明らかに間違えてるので、知りもしないで突っ込んでるとしか思えないが
- 937 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:43:08.23 ID:EynlLbc5.net]
- というか、この人Haskell触ったことなくて叩いてるよね
食わず嫌いは勝手だからいいとしても、さも知っていて、かつ理性的かのように振る舞うのはどうなんだ? 素直に理由はないがキモいと言えばいいのに
- 938 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 23:51:50.75 ID:meGSNm+f.net]
- >>851
大規模案件で採用されているゴミ屑PHPさんの悪口はやめろ
- 939 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:21:45.04 ID:7sVuk+w7.net]
- まあルストはダメだってことはわかった。
- 940 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:21:00.20 ID:P48QZU+o.net]
- >>930
>いや、完全に記憶だよりだからその辺違うなら違うんだと思う。 >optionじゃなくてnilだった気もする。 記憶違いのレベルでなく、それはどこからどう見てもHaskellの型とは似ても似つかない。 記法の問題でもない。 概念レベルから根本的にHaskellとは異なるものをHaskellの欠点と言い張っているだけ。
- 941 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:23:44.43 ID:EiP2TW+2.net]
- carとcdr使う静的言語ってなんだ
- 942 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:29:53.69 ID:P48QZU+o.net]
- 型推論付きのSchemeか?w
- 943 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:27:16.60 ID:8CaOxlMo.net]
- まあHaskell触った事ある奴はOptionとMaybe
Nothingとnilは間違えないよな nullって書いても他言語とは全く異なるし
- 944 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:30:44.70 ID:8CaOxlMo.net]
- あとBottomType的な意味でnilとか言ってもだめだぞ
ないからなw
- 945 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:55:42.04 ID:wUNQCT/b.net]
- >>930
どこから見てもお前の言ってる事がおかしいぞ 論理的におかしい事をさも正しい事のように言ってるから叩かれてるだけ
- 946 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 03:12:08.82 ID:z55iS7vV.net]
- どこから見てもおかしいというだけの主張が論理的なのか
- 947 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 06:01:07.41 ID:8CaOxlMo.net]
- >>946
何を言ってるかわからないほど破綻してるから、おかしいで合ってるし そして論理そのものは前提で変わり、妥当性とは関係ないので、お前の主張もおかしい 論理的云々と言うやつほど論理を知らない証左
- 948 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 06:44:41.63 ID:vNOzF29i.net]
- 関数型の思想を一切使わずアプリケーションをバグ無く作れる者だけが、彼に石を投げなさい
- 949 名前:あ mailto:sage [2017/06/01(木) 07:44:01.52 ID:xXOCh96c.net]
- おお、皆に言われるとHaskellをもう一度学ばないといかん気はしてきたな。
割とありがたいし、せっかくだからちょっとやってみるわ。 >>933 あーなるほど。それはわからんでもないな。 ただ、指導教官に昔言われた「不明点は察するな、現実を話させろ」を実践してて、 言ってしまえばアスペ的思考をしてたから、ちょっと慣れるまでに時間かかるかも。 実際役にもたったしね。その発想。
- 950 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:26:56.92 ID:fZ4Ynj9f.net]
- みんなが言ってくれてんのはね
Haskellbヌうのこうのとb「うよりもまず お前は重度の知ったか自己弁護野郎であり さすがに付き合いきれないよってこと たぶん、そういうとこは伝わってないんやろな
- 951 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:29:11.71 ID:fZ4Ynj9f.net]
- 文字化け修正:
Haskellどうのこうのというよりもまず
- 952 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:36:58.41 ID:2zjIoc8f.net]
- >>949
>不明点は察するな、現実を話させろ 大学の研究室や学会では正しいが、2chっつーかネット越しの文字でやるには向いてない手法だな 手法は場によって選ぼうな? あと自分が間違ってるかもしれないって懸念は常に持っとこうな。
- 953 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:39:52.18 ID:2zjIoc8f.net]
- >>952
下段は今回のHaskellのことに限らず知ったかぶり悪循環に陥ることへのフェイルセーフな。 俺はHaskell詳しくないから知ったかかどうかわからんのだが一応。
- 954 名前:デフォルトの名無しさん [2017/06/01(木) 11:08:27.45 ID:Bx3/ibOs.net]
- 治療法を察するな、症状を話させろ
Haskellを知ったかぶるのは大したことないが、医学を知ったかぶると命に関わる
- 955 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 11:26:50.36 ID:UQSg1EaA.net]
- 誤解の生じない自然言語が望まれる
- 956 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 11:27:26.76 ID:HdFpeWhQ.net]
- ところで質問なんですが
Haskellの型クラスは裏でメソッド辞書を渡して実行時ディスパッチをするって読んだんですがこの理解で合ってます? https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf それともコールする関数の決定も何らかの最適化機構でコンパイル時にすませてしまうのでしょうか
- 957 名前:デフォルトの名無しさん [2017/06/01(木) 11:48:38.71 ID:Bx3/ibOs.net]
- >>956
C++のコンパイル時ダックタイピングと同じ 実行時ディスパッチではない
- 958 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 12:35:37.68 ID:bubu+W4z.net]
- >>956
後者で合ってる GHCの場合は最適化無しでランタイムにdictionary lookupするコードを生成 最適化でコンパイル時解決になる 指定なしなら通常は最適化される
- 959 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 12:56:45.70 ID:sszEh+oH.net]
- >>958
なるほど If the type of a function contains a class, then this is translated into a dictionary that is passed at runtime. The translation simply assures that the appropriate dictionaries passed at run-time; ... One drawback of our translation method is that it introduces new parameters to be passed at runtime, ... 等々しつこく書いてあったのでてっきり今もランタイムかと。 その後コンパイル時に完結できるようになっていたんですね。ありがとうございます。
- 960 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 14:21:39.82 ID:JVCP5RQG.net]
- >>959
念のため言うが、飽くまで一般の話だよ 上での言及のように例外なく、必ずcompile timeになるかどうかはわからない 普通に考えれば、呼出側だけでなく、モジュールに何か細工が必要だろうし
- 961 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 14:30:58.85 ID:Ty12p446.net]
- >>959
調べてみたが、少なくともHaskell 2010ではCompile timeが保証されているようだ というか88年の文献は、いくらなんでも古すぎないか?
- 962 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 19:59:34.59 ID:vNOzF29i.net]
- 他者と誤解なく分かりあえるようになるための共通言語を開発しよう
もちろん、人と人だけでなく、人とコンピュータも分かりあえる共通言語だ それこそが次世代言語だ
- 963 名前:あ mailto:sage [2017/06/01(木) 20:05:18.45 ID:23mplHvr.net]
- >>952
ネット越しだからやるべきかとは。。 >>961 ヨコからだけどありがとう。参考になるわ。見てくる。 >>962 エスペラントを一歩すすめる時代か。
- 964 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:18:08.98 ID:Dnfnpswj.net]
- >>963
やった結果がお前さんの現状なんだよな。
- 965 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:42:26.57 ID:sszEh+oH.net]
- >>961
Haskell 2010 でもまだランタイムに依存しているみたいだけど違う? https://stackoverflow.com/questions/28169119/is-the-dispatch-of-a-haskell-typeclass-dynamic#comment44713002_28170590
- 966 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:45:39.05 ID:14pfKSNM.net]
- あらゆるモダン言語で見るようになったmapとかflatmapっていうのはどこから生まれたものなの?
- 967 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:50:28.99 ID:W7qZGWEB.net]
- LISPじゃね
- 968 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 00:08:33.62 ID:lDZ3L3oh.net]
- >>965
ちょっと話が見えないんだが、もしかして回答してほしいのは >https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf に限定した話ではないのか? 保証については、再帰がない場合の話で、その参照先は>>959とは状況違う その場合>>958 + >>960という回答になる
- 969 名前:デフォルトの名無しさん [2017/06/02(金) 02:50:18.61 ID:bQ6pitWP.net]
- 再帰があっても深さを制限すればspecializeできるんじゃね
制限を超えたらエラーにするか、あるいはspecializeをやめたら無限に再帰できるか?
- 970 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 07:14:02.17 ID:vc1fSB5M.net]
- >>968
あ、いえ、すみません >>958+960 で理解の確認はできています ありがとうございます ただ一方で >>905 >>957 >>961 みたいな主張もあるようなので 最新の実装では型クラスを取り巻く状況もかなり違ってきているのかなと
- 971 名前:デフォルトの名無しさん [2017/06/03(土) 09:45:16.91 ID:1Cu2c1ce.net]
- これ互換性にあまり影響のない実装の変更だよね
それより互換性が完全になくなった変更を批判する方が建設的
|

|