1 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 09:38:15.76 ID:qg2ggPtj.net] スレタイ以外の言語もok 前スレ 次世代言語11[Rust Swift TypeScript Dart] https://mevius.5ch.net/test/read.cgi/tech/1528037607/
545 名前:デフォルトの名無しさん [2018/07/31(火) 19:36:15.75 ID:zfxDeDFf.net] 正式な定義だと、直積の要素はペアの中にペアがある構造じゃないと駄目www A × B × C = { <x, y, z> | x <- A, y <- B, z <- C } ↑の定義があってるのは日本のWikipediaだっけでしたwwww これを使うにはn-fold Cartesian productという直積を拡張した奴じゃないとだめでした残念www とくにn=1の時はそのままA=Aとちゃんとした本に書いてあるwwww
546 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 19:38:51.12 ID:xC1/ia91.net] 今までの流れをまとめるとpythonはクソ。 TypeScriptが最強。という理解でよいでふか?
547 名前:デフォルトの名無しさん [2018/07/31(火) 20:41:56.45 ID:CfkG900T.net] rustが最強 が正しい
548 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 21:51:57.40 ID:vpErkqT1.net] メソッドチェーンでもリスト内包でも異常なまでのテンポラリ変数嫌悪を感じるのだが、 無理にそんな書き方するくらいならテンポラリ変数使えや。
549 名前:デフォルトの名無しさん [2018/07/31(火) 22:05:54.62 ID:CfkG900T.net] メソッドチェーンは無理なく書けるでしょ 変数はバグの餌だから忌諱するのは当然
550 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:09:04.65 ID:4i5flEMB.net] 変数があって嬉しいのはデバッガでステップイン実行するときだけだな そろそろステップの概念を卒業した新発想のデバッガが必要な時期にきてると思う
551 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:10:09.78 ID:/w6/tE8P.net] 一時的な内部処理でまでステートを毛嫌いする純粋病の関数型信者と似ている
552 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:14:45.36 ID:hpcufxDD.net] お前らみたいなドカタなら兎も角、数学者がn=0やn=1に自然に拡張できる定義をn>=2に限定するわけないじゃん ドカタここに極まれりだな
553 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:17:04.70 ID:10MH4XIN.net] メソッドチェーンってワンライナーと同類だろ
554 名前:デフォルトの名無しさん [2018/07/31(火) 22:23:11.93 ID:CfkG900T.net] プログラマならバグの素を毛嫌いするのは当たり前じゃん あくまでリーダビリティを損ねない範疇でだけども
555 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:24:35.12 ID:omk/SwPI.net] >>540 途中でクラスが変わるようなメソッド呼び出しを10個も20個もチェインするヤツは知らんが コレクションに対する操作を数個チェインするぐらいは別に普通じゃね
556 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:27:24.42 ID:10MH4XIN.net] >>539 ちゃうやろおっさん 型理論的にはn>=2に拡張するために持ち出すのがpair なのでn=0,1にpairを持ち出す必要がない 別の言い方をすると型理論的にはAと<A>は同じ そこを区別するのがアドホックにpairを導入した言語ということ 組み込みの土方より
557 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:35:12.06 ID:omk/SwPI.net] >>541 たとえばコレクションのフィルター関数を実装するようなときに 一時的にミュータブルなコレクション作ってループ回して最後にイミュータブルにして返せばいいようなものを 最初の要素が条件満たさなかったらそれを落とした新しい不変コレクション作って返す関数の再帰で書くようなゴミが純粋病
558 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:37:48.27 ID:vpErkqT1.net] >>541 バグの元の一番大きなものは可読性のなさだぞ。 測りにくいものを一切無視するのがこの手の輩のダメなとこだな。
559 名前:デフォルトの名無しさん [2018/07/31(火) 22:39:01.83 ID:CfkG900T.net] >>544 なにそれこわい それってなんというテクニックなの?
560 名前:デフォルトの名無しさん [2018/07/31(火) 22:39:55.17 ID:CfkG900T.net] >>545 だから可読性を損ねてはならないって書いてるじゃん 俺のレスは可読性低かったか?
561 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:43:24.72 ID:10MH4XIN.net] >>542 コレクションの操作ってのが具体的にどういうのかしらんけど (おもちゃのような例は勘弁) 初見のコードだと返り値が何なのか副作用のありなしもよくわかんないのが嫌い 組み込み屋なんでそういうのに神経質なんですわ
562 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:46:40.79 ID:hpcufxDD.net] >>543 お前みたいなドカタには同じに見えるんだろうけど 違うものだよ
563 名前:デフォルトの名無しさん mailto:sage [2018/07/31(火) 22:58:39.97 ID:omk/SwPI.net] >>548 おもちゃのような例とやらがなんだか知らんが 「配列にフィルタかけてマップしてソート」みたいなのはメソッドチェインで書くのが普通だし プロダクトコードで頻出するし 言語組み込みとか標準ライブラリの範囲なので仕様知らないのは知らないほうが悪いで終了
564 名前:デフォルトの名無しさん [2018/07/31(火) 23:33:40.73 ID:CfkG900T.net] 組み込み屋だからコードが読めないって言い分が通用するのか
565 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 03:26:51.13 ID:KaW6n03Q.net] b=a.filter(hoge).sort(piyo)はaが変化しないけど b=a.sort(piyo).filter(hoge)はaが変化するJavaScriptとかもあるし 気持ちがわからんでもない
566 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 04:53:24.11 ID:52qTUS9q.net] メソチェ嫌い
567 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 05:46:47.82 ID:Lge0gQj8.net] c=a b=a.sort(piyo).filter(hoge) a=c
568 名前:デフォルトの名無しさん [2018/08/01(水) 06:24:23.31 ID:KofKD7jP.net] jsのsortはソート結果を戻り値でも返すからよくないんだよね rustは関数が破壊的な操作をするか一目で分かってよいんだよね
569 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 07:33:14.80 ID:4GZUmxRn.net] 関数の副作用や純粋性が気になるなら 関数型の言語さわるのも良いぞ F#は宗教論争に発展せず 現場でも実用十分的
570 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 08:04:53.43 ID:mJtUlzgh.net] >>552 マジかー。副作用あるかないかわかるようにしてほしいわ
571 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 08:39:51.67 ID:hzuJqRKu.net] JavaScriptはうんこだから仕方ない
572 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 08:54:45.09 ID:/d6Lb+hA.net] >>550 > 言語組み込みとか標準ライブラリの範囲なので仕様知らないのは知らないほうが悪いで終了 なんでそこで特定の言語前提になってんの?w 標準の範囲なら百歩譲ってありだけど標準だけのデザインという保証はないやろ普通 あといちいちAPIリファレンスで確認しないと使えないってのは言語の可読性低いとも言えるわ
573 名前:デフォルトの名無しさん [2018/08/01(水) 09:19:02.07 ID:Lq6vBG3T.net] ドキュメント読まずにコード書くプログラマー降誕
574 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 09:29:11.08 ID:IFtOcB8Z.net] 批評家が口だけで問題解決することを理想としているように 可読性は目だけで解決するのが理想的である
575 名前:デフォルトの名無しさん [2018/08/01(水) 10:27:41.74 ID:Lq6vBG3T.net] そしてハンガリアン記法が産まれた
576 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 10:54:20.08 ID:hzuJqRKu.net] >>559 土方は古代言語をメモ帳で書いてるのか…… 写像や部分集合、ソートなんぞはほとんどの言語で標準で用意されてるし IDEなりプラグイン入れたエディタならリファレンスはマウスオーバーするかショートカット叩くだけだよ
577 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 11:14:28.61 ID:+WQ1j7Jt.net] やっぱりCOBOLなんだよなあ
578 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 22:15:44.23 ID:zZ0QT3av.net] >>523 > そもそも = が代入って時点で数学と違うんだから それは単なる記法上の問題であって本質じゃない C一族みたいないい加減な言語でなくAlgolやPascalのなどの正統派Algol系言語のように代入を表す記号を “:=” で書く言語であっても変数の概念が数学のそれと全く違うという問題はCなどでの変数と同じ 見掛け上の記号の使い方がいい加減という問題と、ある用語で表される概念がいい加減(間違っている)という問題とはレベルが全く違う
579 名前:デフォルトの名無しさん [2018/08/01(水) 22:27:10.95 ID:KofKD7jP.net] それが何レベルなのか知らんけどどうでもいいじゃん 数学とプログラミングは別物なんだし
580 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 22:44:31.92 ID:vVTk17fP.net] >>565 タプルがどうとかも十分同じレベルだろ。 そんなところで誤解して問題起こす奴なんて代入以上にいねーわ。 自分の理解の都合でイチャモンつけてるだけってことにそろそろ気づけや。
581 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 23:08:34.73 ID:KaW6n03Q.net] >>554 c=aではオブジェクトは作られないので、そうやってもaは変化する 更に言うと c=a b=c.sort(piyo).filter(hoge) でaが変化する
582 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 00:36:50.69 ID:RmPassIF.net] こういう話を見ると言語としてイミュータブルな変数しかない言語が良い気がしてくる。
583 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 03:06:06.93 ID:68/YZkTI.net] 「いふ」とか言っちゃうイタイ奴にろくなのはいないな
584 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 03:23:08.65 ID:7JMdFE06.net] >>518 いつ誰が「メソッドチェーン vs 内包表記」なんて下らん比較したんだよ 内包表記は内包表記で便利だっつっただけで、 メソッドチェーンつーかポイントフリースタイルが内包表記があれば不要なんて言った記憶は少なくとも俺にはないな つーか>>478 下段、まさにPythonにはポイントフリースタイル実現する記法が足りねえっつってんのが読み取れねえのか? 今時エセ歴史的仮名遣いで書き込むクルクルパーは国語の勉強しなおした方がいいぞ
585 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 03:24:30.81 ID:uTIVZVJH.net] ずっと数学言ってるやついい加減うぜえわ 別スレ立ててそっちでやれやボケが
586 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 06:18:26.62 ID:iydYt4gP.net] JavaScriptのsortとreverseが破壊的なのがぱっと見わからないのも、 JavaScriptの命名規則がうんこなだけでメソッドチェーン自体の良し悪しとは関係ない
587 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 06:58:50.64 ID:NbZtWKau.net] 関数合成大好きな関数型バカがメソッドチェーン腐すの、マジ笑えるww
588 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 08:25:49.67 ID:j9EqWGQJ.net] >>573 こればっかりはなぁ。後発の言語は、副作用有無が明示されるようになってほしい。命名規則とか人間が頑張るタイプはやめて
589 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 09:00:45.23 ID:St12vf3Y.net] やはりRustだな
590 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 09:09:27.15 ID:eWP0KV4o.net] webサービス作るとき。というかrdbとの連携って静的言語より動的言語のほうが向いてる気がするんだけど、そんなことはない?
591 名前:デフォルトの名無しさん [2018/08/02(木) 13:33:10.21 ID:2LzP698W.net] そんなことなかっぺ
592 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 21:52:10.29 ID:yHWyeNWP.net] TypeScriptは事実上死んだだろ
593 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 21:54:23.55 ID:RP1FF5pC.net] >>579 >>513
594 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 21:55:36.74 ID:0KRWeg2T.net] >>579 新しいのが出たんだが
595 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 22:57:15.05 ID:U+SwOe4H.net] typescriptなしにjavascriptを書こうとは思わないからな
596 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 23:26:38.99 ID:xmgsCqay.net] 頑なに副作用嫌ってる人意味分からん java.awt.Graphi
597 名前:cs2Dとかにあるような コンテクストオブジェクトをイジイジするのってめちゃ便利やんけ [] [ここ壊れてます]
598 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 23:45:39.47 ID:Ihv2w8Qg.net] >>575 バカは引数のconst外してでも副作用入れてくるから言語で規制するって発想自体が無駄。
599 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 23:58:42.08 ID:2ToUeHg/.net] 1行に書かなきゃどんどん一時変数を増やさなきゃならない関数パイプラインはそれなりに意義が あると思うけど、そうじゃないメソッドチェインはわざわざ見にくい1行の式にしなくても、と思う。
600 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 01:33:05.65 ID:xgfpZ/vV.net] とはいえtypescriptは型情報が嘘つくことあるのがしんどい。ないよりはマシなんだけど。 いまいち信用できない。 jsに、標準で型情報ついてくれないかなー。
601 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 04:43:38.64 ID:K19AvQuK.net] ESの付け焼き刃的実装に限界があるでしょ
602 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 06:06:54.20 ID:2wLWPbYE.net] 嘘つき「何も宣言しないよりはマシ」 付け焼刃「何もしないよりはマシ」 ギャンブル依存症「何も賭けないよりはマシ」
603 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:32:16.64 ID:bzinJLAw.net] 所詮MSの作った詐欺言語だわな
604 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:34:43.31 ID:bzinJLAw.net] >>390 の徹底を求めます
605 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 10:46:59.25 ID:Nsq6cZsy.net] TypeScriptはもうデファクトスタンダードなのよね
606 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 11:49:14.47 ID:5Gvag+uQ.net] >>590 病的になんだか拗らせてるのかな
607 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 14:13:45.54 ID:2wLWPbYE.net] なぜ病気とか健康とかなんですか 悪とか正義とかではだめなんですか
608 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 14:37:25.10 ID:284JcKyJ.net] Linus氏曰く「マイクロソフト嫌悪は『病気』」 https://srad.jp/story/09/07/28/0326208/
609 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 15:01:39.29 ID:2wLWPbYE.net] 病人は生産性がないなんて言ったらたぶん炎上するし 悪人は生産性がないと言う方が無難だと思うけどなあ
610 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 21:26:18.77 ID:2vUMzRdm.net] 生産性がないならまだいいが生産性がマイナスな輩というのがいる。 こういう輩を見るとベイシックインカムはいいんじゃないかと本気で思うよ。
611 名前:デフォルトの名無しさん mailto:sage [2018/08/03(金) 22:58:37.04 ID:iVE9Y99e.net] >>586 嘘って?
612 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:28:43.19 ID:uVhwgvNs.net] やっぱ副作のないメソチェが最高やろ リス内記は読つら
613 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:30:16.07 ID:uVhwgvNs.net] >>597 それは愛だよ
614 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 10:58:41.10 ID:RjyiLlMo.net] 初心者用の言語は上級者の要求を満たすことが出来ないということだな。 上級者が初心者用の言語使うのが間違ってるな。 haskellを使えば副作用を分離出来るし、メソッドチェーンも出来るし、 直積のタプルも0次元からN次元まで使えるし(1次元は普通の集合) 解決だな。
615 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 11:18:31.48 ID:uVhwgvNs.net] ハスルケはセパレイタとしての記号が少ないからリイダビリティが悪い そして誰もいなくなっただろう
616 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 12:29:28.79 ID:uqPZ4G5F.net] Haskellはタプルを使わなくてもコンストラクタのアリティを2以上にできる 多変数コンストラクタの具体例のひとつにすぎないのがHaskellのタプル 1変数コンストラクタも無数にある だから a と (a,) が同じ型にならないPythonを見ても違和感はない
617 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 14:55:00.60 ID:PeeX9dIT.net] >>601 オレオレ略語とか変なカタカナ表記とか、お前さんのレスもreadability低いぞ
618 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 16:06:26.17 ID:uVhwgvNs.net] >>603 これが通なんだよなあ
619 名前:デフォルトの名無しさん mailto:sage [2018/08/04(土) 18:12:45.89 ID:2981o0py.net] ナウいハスルカー来たな
620 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 14:41:08.25 ID:mInzEOma.net] >>598 だからなんでリスト内包vsメソッドチェーンの対立になってんだよ
621 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 16:48:04.88 ID:F/jngZf9.net] ハスケルはエコシステムが腐ってるという話を聞いたけど本当? 言語がいくらすごくても環境構築で、しんどい思いするなら用無しなんですが
622 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 16:59:19.53 ID:N1MnEH4U.net] 改善されたことになっているが正直クソ
623 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 17:02:40.30 ID:bv191ZQE.net] 理論ばかりの頭でっかちの奴等ばっかりだからな。 実用性なんかどうでもいいんだろ。 だから実用されないんだよw
624 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 19:32:00.71 ID:ykSda89u.net] >>607 パッケージ管理ツールのcabalもstackも依存把握がすぐぶっ壊れる。 あれは何が副作用がないからバグが少ないだって気分になるわ。
625 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 21:10:23.18 ID:6BhDg/Vc.net] 1. 関数プログラミング自体が実は大したことない 2. 副作用禁止の強制が邪魔 3. 使ってるプログラマーのレベルが低い(偏屈しか使わない・ユーザー層が薄い) 4. まだ成熟していないだけ どうだろう。4だと思いたいが…
626 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 21:20:23.85 ID:2AWODdBK.net] ・Web系→モデルやロジックが単純なので関数型のメリットなし ・ゲーム系→常に時間変化を扱うので関数型のメリットなし ・業務系→PGの単価が上がって割に合わないので関数型のメリットなし
627 名前:デフォルトの名無しさん [2018/08/06(月) 21:28:53.61 ID:13KQrLiC.net] 関数型の定義が未だに分からない 2だけならどの言語でも原則として受け入れられているんじゃないの
628 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 21:45:44.03 ID:2AWODdBK.net] 関数型はテストするまでもなく結果の明らかな極めて宣言性の高いコーディングができるというのが実用上最大の強みなわけだけど、 関数型マニアの関心は主に無限リストやら再帰やらモナドやら、自らその宣言性を捨てるテクニックにばかり向いていて、 結局関数型の何が嬉しいのかよくわからん状態になってしまってるのが現状
629 名前:デフォルトの名無しさん [2018/08/06(月) 21:58:21.43 ID:13KQrLiC.net] 具体的にはどんなコードになるの? そんな単純なコードの断片だけを組み合わせるだけで実用に耐えうる可読性や性能を発揮できるもんなの?
630 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 21:59:00.02 ID:iAZi0X5l.net] 関数単位、メソッド単位でなるべく純粋にしておくのは重要 短い関数内部の実装まで純粋にしようとするのは宗教
631 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 22:15:10.24 ID:GZIQzwJh.net] 平気で数百メガあるようなデータに対して副作用のないメソッドチェーンで加工するのって普通にやることなの?
632 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 22:27:24.52 ID:YK5LkNr+.net] >>617 そういうのはステップ毎に一時ファイルに書き出すのが普通でしょ COBOL時代からの伝統的なスタイルであり、今でもHadoopなどに受け継がれている 副作用がなくむしろ関数型的だ
633 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:04:02.54 ID:GZIQzwJh.net] じゃあ数メガぐらいのデータなら?
634 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:11:20.61 ID:4RMVWTln.net] 遅延評価だったりストリーム使えるんなら大体気にしなくていいんじゃないかね
635 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:47:33.03 ID:+WS/BAR+.net] 関数型言語の本質は関数そのものを柔軟に扱うことだと思うんだけどな 例えばジェネリック関数のある言語ではジェネリック関数をジェネリックなまま引数や戻り値として扱えないと関数型言語っぽくない気がする
636 名前:デフォルトの名無しさん mailto:sage [2018/08/06(月) 23:57:07.45 ID:6BhDg/Vc.net] >>613 副作用はよろしくない、というのは確かに広く受け入れられている。 でもHaskellなどが要求する基準は、もっとずっと高い。 ちょっと前にstackツールのコードを見たことがある。今どうなってるかは知らんが当時は、 ある純粋な関数の中でデバッグ用ログをより詳細に出力するってフラグを、ソースコードに即値でベタ書きしていた。 これは他の言語では例えば環境変数を読み込む関数をその場で実行すれば良いだけなのだが、 Haskellでそれをやろうとすると、関数のシグニチャを非純粋なものに置き換えて、使用する全箇所も合わせて換えるか、 あるいはフラグを引き渡す配管を新設するか、などの工事が必要になる。
637 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 00:00:17.86 ID:Cr+icss0.net] >>620 それは勘違い 遅延ストリームでステップ毎にコピーしてるんなら、コピーするオブジェクト数はバッチでステップ毎に全件コピーするのと変わらん というかメモリアクセスが細切れになる分だけ遅くなる 遅延ストリームはレイテンシの低減には有効だけどスループットも下がるよ
638 名前:622 mailto:sage [2018/08/07(火) 00:12:00.15 ID:iXXZIPQ5.net] ...という工事が必要になる。だから仕方ないと言えなくもない。 このような事態は純粋な言語では良くあるのだが、このことだけで、すわHaskellあかんやん、は早計だと思う。 Implicit ParametersやGivenのようなアイデアも出てきてるし、これは解決する余地のある
639 名前:課題なのかもしれない。 あるいはこのような事態を引き起こす設計に問題があるのかも。 [] [ここ壊れてます]
640 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 00:18:57.06 ID:UMEYDAwp.net] 次世代言語たって、シングルスレッドのJSをこねくり回してドヤってる人と Native言語でハードウェアの性能を最大限引きだそうとしてる人とで 必要とするもの違うからいっしょに議論してもかみ合わない
641 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 00:20:39.37 ID:wPKvZYDw.net] そもそもハスケルの仕様通りの評価順序で実装してたらまともな実行速度でないっしょ。 そういうごまかしを含んでる時点でしょーもねーわ。
642 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 00:30:11.90 ID:Cr+icss0.net] 副作用はよろしくない、といってるくせに再帰やら遅延ストリームやらモナドやら状態依存のコードを好んで書きたがるのが関数型マニア そもそも状態に依存するコードなんか極力書くな、避けられるならモナドなんか使うな、という正論を言えない空気があり、 競って予測困難で難解なコードを書いて「俺すげえ」のマウント合戦を繰り広げている こんな状態で流行るわけがない
643 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 01:14:56.51 ID:rAZv+q4y.net] 状態依存は避けられないのに状態を禁止してしまったからやたらと状態関連が発達してしまっているけど、状態なしで書ける部分と状態が必要な部分を分けて書くという理念は守られているはず……
644 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 01:27:00.12 ID:lcDZ2HG8.net] Haskellの定義を知ってる人ならいるけど関数型の定義は誰も知らないんだよ だから「Haskellは関数型である」とか 「Haskellマニアと関数型マニアは同一人物である」とかいう根拠がそもそも存在しない
645 名前:デフォルトの名無しさん mailto:sage [2018/08/07(火) 01:37:43.21 ID:wdyVMIbP.net] つまりおまいらはまたオブジェクティバラブルなコード時代に戻るというの?