- 1 名前:デフォルトの名無しさん [2017/08/28(月) 21:53:37.12 ID:5I+bTEeA.net]
- ※前スレ
次世代言語議論スレ[Go Rust Scala Haskell]第5世代 mevius.2ch.net/test/read.cgi/tech/1497311647/
- 488 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:24:51.68 ID:qNpzB8Gl.net]
- 今北産業
- 489 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:26:15.80 ID:oDIa36LP.net]
- >>488
次世代は javaの進化系 スレ完
- 490 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:27:09.86 ID:VQ/VXHVC.net]
- 記念パピコ
- 491 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:27:31.65 ID:j0p/1V2e.net]
- 俺が自演してるみたいに思われるだろ
やめろ
- 492 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:48:18.22 ID:luYdXLIJ.net]
- 自演パピコ
- 493 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 00:49:41.17 ID:WzljKSlU.net]
- >>485
>今までにない要素ぶち込む じゃVR/AR/MR or(amazon Echoみたいな)スピーカーデバイスだけで プログラミングできる言語作れと? 確かに次世代っぽくはあるかもねw
- 494 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 02:58:00.79 ID:A1VU6Oqu.net]
- どう考えても次世代はルーストだろう
- 495 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 08:32:15.30 ID:msCJo3bN.net]
- 他言語もそろそろRustのぱくりを考えているだろう
例えば参照カウントが2以上なら例外を投げるだけの機能
- 496 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 14:20:07.64 ID:AD9s+d5U.net]
- Rustが色んな意味で新しい事は確かだ
- 497 名前:あ mailto:sage [2017/09/17(日) 15:03:42.87 ID:4luHVr+4.net]
- VRで作業は少しアリかもしれんけどな。単純に視野的に。
Oculus買ったけど、Unityでアプリのウィンドウをキャプチャしたものを浮かべてたくさんの仮想ディスプレイのようにして遊んだけど楽しかった。NASA感ある。 でもキーボードとトラックボール以上の入力装置は無いな。空間をつかむって思ってるより難しかったわ。 でも何より熱いのと、その仮想ディスプレイを浮かべる部分作る作業は酔う。
- 498 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:49:11.61 ID:iL83YJ5L.net]
- キーを押した感覚とかフィードバックがないとな
タッチパネルの課題としても研究してる人いるけど
- 499 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:56:51.20 ID:T71SjEGu.net]
- 良く知らないんだけど、関数型の言語って関数を動的生成してるんだろうか?
C++のラムダはしてないけど
- 500 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 22:55:01.08 ID:3VVJG3KB.net]
- そんなことしなくても推論したシグネチャ通りの関数をコンパイル時に生成すれば十分。
- 501 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:44:37.23 ID:T71SjEGu.net]
- クロージャとか関数オブジェクトはそう簡単にはいかんくね?
C++だと結構ダイナミックに引数変更してくるし
- 502 名前:デフォルトの名無しさん [2017/09/18(月) 01:25:42.89 ID:+b1AQYPX.net]
- >>499
関数型言語の計算モデルであるラムダ計算モデルを単純に実装すると、 常に(「関数」ではなく)クロージャがヒープ上へ動的に生成され、 最終的にガーベジコレクションによって回収される これはSICP本にあるような初歩的な関数型言語インタプリタ実装や 初期のLISP処理系実装で見ることができる で、現在の最適化技術が反映された関数型言語処理系では 「クロージャ変換」と呼ばれる技術が使われていて、 単に束縛変数(いわゆる関数の仮引数)だけを参照する関数は 手続き型言語と同様にスタック上へ引数が割り当てられ、 本当に必要な時しかヒープを消費しないよう設計されている その概略はTiger本に解説がある なお、Haskellのような純粋関数型言語では「ラムダリフティング」と 呼ばれる技術によってクロージャ変換と同様な最適化が実現されているらしいけど、 自分は知らない
- 503 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 11:44:41.42 ID:iZW012ea.net]
- >>502
知りたいことを過不足なく書いてくれた有能。感謝感激雨霰
- 504 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 12:25:46.18 ID:/x8A7ZAN.net]
- それ最適化と呼ぶようなことなのか?
ラムダを普通の関数として実装するくらいのこと、静的言語だったら必ずやってるよね 静的言語の場合は単にそう実装するのが自然だからそうしてるだけで、最適化でも何でもないな その程度のことにわざわざかっこいい名前をつけなきゃいけないほど動的な関数型言語の最適化技術は貧弱なのかなと思ってしまった
- 505 名前:504 mailto:sage [2017/09/18(月) 12:53:56.59 ID:/x8A7ZAN.net]
- 全ての名前をコンパイル時に解決する言語ではラムダは自由変数を参照してないのがデフォで、
静的解析時に自由変数の参照を発見したら例外として変数をヒープへリフティングする 名前を動的に解決する言語では、あえて静的解析を入れない限り基本的には常に自由変数の参照があると仮定する という意識の違いがあるってことかな
- 506 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 13:07:29.67 ID:DpRq8b6A.net]
- なーにいってだこいつ
動的型付けの言語は全部ゴミってもう証明済みだろ
- 507 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 13:22:40.50 ID:aKawbEQ/.net]
- ID:/x8A7ZANが何言ってるのか良くわからんのだが、まず「動的な関数型言語」って何を指してんだ?
俺の認識では動的な関数型言語って言ったらErlang,Lisp,Schemeを指すんだがそれのことを言ってんのか? 俺は話を動的型付け言語に限定してないぞ
- 508 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:14:51.60 ID:8XcvDR/h.net]
- c++ だと単純に実行コードのメモリ内容をヒープに置いてるだけかと思ってたよ。
- 509 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:46:46.94 ID:/x8A7ZAN.net]
- >>507
名前解決を評価時に行う言語と考えてくれ
- 510 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:47:16.89 ID:aKawbEQ/.net]
- C++はautoで持ってるかstd::functionで持ってるかでもう最適化の内容が変わるし、ラムダは普通の関数ポインタでは持てなかったりするし、autoで最適化したら環境の変数も引数として渡すことになってたりすることもあるし良くわからん
苦手や
- 511 名前:あ mailto:sage [2017/09/18(月) 15:32:23.61 ID:HvWrF9I2.net]
- なんか変な話だな。
ラムダをどう使いたいかの方が最適化では問題になるのでは? インライン展開してしまうか、関数にするか、関数内関数にするかってことになるなら、関数ポインタとして呼びたいか条件分岐の方が良いのかとかそっちの観点が問題になるような。 それは石にもよって、armなんかだと再帰しないならインライン展開と条件実行の方が具合が良かったりすると思う。
- 512 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 15:47:47.30 ID:vOYXlSBd.net]
- >>511
レイヤの違う問題。誰もそんな話はしていない。 インライン展開するにしても、前のプロセスで自由変数に依存しないラムダについては独立した関数への変換を予め済ませておけば、 インライン展開は容易になるだろう。
- 513 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 17:44:30.57 ID:aKawbEQ/.net]
- >>509
ちょっと抽象的すぎんよぉ。Pythonとかか?それ
- 514 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:19:25.45 ID:urldNTTh.net]
- 型概念はリソース制限がきつかったころのレガシーなところはあるかもね
今わざわざunsignedにして1bit節約したい人はまずいない 20年後はchar?そんなのint(64bitだけど意識してない)でいいだろ?になるんじゃない?
- 515 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:57:06.67 ID:7osjOZ8K.net]
- なんならdoubleで整数の計算してもいいですよ
- 516 名前:あ mailto:sage [2017/09/18(月) 20:01:58.72 ID:HvWrF9I2.net]
- >>512
「自由変数に依存していない」から、ラムダが変換出来る訳じゃないよ、って言ってんの。 レイヤの違う話ではなくて、地続きの話では? その上、最適化と言う言葉は危険すぎると思うが。
- 517 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:37:53.46 ID:Rs/BRyvp.net]
- 突っかかり始めた
- 518 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:41:40.52 ID:dU2P6lSN.net]
- なんか突っかかってることはわかるけど、読み辛すぎて読む気がしない。二行目でギブ(笑)
- 519 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 23:48:00.28 ID:Wz+o0dZv.net]
- >>513
jsもそうだな。関数型じゃないけど。 大雑把に書くと 所謂var bindingされる宣言を評価->所謂let bindingされる宣言を評価->実行 だからvar bindingされた名前は一番最初に見えてる。 やろうと思えばIRの変換で出来ることは実行前に(JIT使わずに)できる。 型情報がないから役に立つのか分からんが。
- 520 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 02:02:55.32 ID:jzE0vKua.net]
- わけのわからん理屈話されるよりこういう内容のほうがまだましだろ
- 521 名前:デフォルトの名無しさん [2017/09/19(火) 03:04:41.27 ID:NsD/KMp/.net]
- >>514
レイヤー次第だろうけどそれは無いと思う。 ネットワーク関連のバイナリプロトコルは思いっきりビット・バイト意識しまくりだし。
- 522 名前:あ mailto:sage [2017/09/19(火) 06:53:09.32 ID:GMytP/5k.net]
- なんで疑問に思えないんだろう。
- 523 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 07:36:33.77 ID:L/k3HGkW.net]
- 下手に最適化するとデバッグが困難なイメージを払拭できないどころか助長している
最適化しない動的言語のデバッグは容易な気がする
- 524 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 07:53:57.35 ID:Rp+gHpgj.net]
- 動的言語ってなんだよ
コンパイルしない言語のこと?
- 525 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 08:03:33.07 ID:t8DbjZup.net]
- >>522
じゃあラムダが自由変数に依存してないのに独立した関数へ変換できないケース、 または、その変換を行うことにより最適化が適用しづらくなるケースの例を挙げてくれ あDHDの主張はこのどちらかを反例として挙げることで裏付けられるというのが俺の理解だが、合ってるかな? あと、自然言語で回答されても誰も理解できないと思うから必ず具体的なコードで頼む
- 526 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:30:28.30 ID:B9qsqzra.net]
- >>525
こいつが言ってるのって、たぶん他の最適化如何でラムダ部分のコードそのものが変わるとか、そういう話じゃねえかな… 変換が何を指してるかは分からないから、完全否定はしないけど、反例の種類は対偶もあるだろよ
- 527 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:36:28.47 ID:sbIiLP4m.net]
- あDHD(いいネーミングセンス)の言うことを真面目に読むのは疲れるし、読み人によって解釈が異なる上に詠み人は違う解釈でいる
おまえら良くやるわ でもたしかに自然言語で描かれるよりコードか数学記号で主張してるほうが読みやすそうww
- 528 名前:あ mailto:sage [2017/09/19(火) 18:24:32.47 ID:ORpK0dfd.net]
- >>525
例えば、ARMだとインライン展開してしまえばADDEQとかADDNEみたいな条件付き命令でループ中でもストールさせずに飛ばしたり出来ちゃう時とか。 関数にしてjmpすると効率悪いコードになる時。 最適化では。 >>526 コードは変わらんよ。
- 529 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 18:52:46.88 ID:PJTSF08k.net]
- >>528
だからインライン展開は変換後でもできると何回言われたら理解するのか
- 530 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 20:25:33.85 ID:BJkNW1hw.net]
- コードで言われているのに自然言語で返すガイジ
Haskellの時に具体的に書いた結果無知を晒して大恥をかいたことがよほどトラウマになっているものと見える
- 531 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 21:17:03.18 ID:OwH7JHtJ.net]
- 前原も就任した後のTV出演で
モリカケ問題ばかりをやるきはないっていったそばから モリカケ問題トーク始まったからなw
- 532 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 21:20:11.16 ID:OwH7JHtJ.net]
- >>531
誤爆シマスタw
- 533 名前:あ mailto:sage [2017/09/19(火) 22:09:51.81 ID:ORpK0dfd.net]
- >>529
それは独立した関数が最適ではない、と言う話ではないか。 何が最適化なんだよ。 >>530 別に恥とは思っとらんよ。勉強にはなった。 しかし余程、自分は恥だと思うんだろうなぁ、他人に対してそういう風に「恥ずかしいに違いない」と断定的に言うところ見ると。 余程恥ずかしいな、その思考回路が。
- 534 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:37:12.49 ID:iY7FO3NM.net]
- >>533
ウダウダ言い訳してないで言われた通りコードで書けよ
- 535 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:39:47.10 ID:zY0OeQa1.net]
- >>533
いやあれは流石に恥ずかしすぎ。あれを恥ずかしいと思わない思考回路がまず恥ずかしい。 勉強になったとかじゃなくて、最低限の勉強すらせずしったかしてたのがバレただけだろ美化すんな
- 536 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:40:22.21 ID:6tkowvmv.net]
- なんで最適化の話になってんだか。
javaのGraal使って人間がハンドアセンブルしたマシン語をJITに使える新時代くるで。 いちいちjava bytecode生成しなくて済むよ。TruffleRubyが速い。
- 537 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:17:20.17 ID:y3g67zRP.net]
- あの人にボロクソに論破されて発狂して何とか揚げ足取りたいガイジがおるようやね
- 538 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:20:27.89 ID:0Xd47I4v.net]
- 具体的にコード書くとやっぱりいろいろ明確になる。
- 539 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:27:50.73 ID:4ouvyY05.net]
- >>533
直行する問題だと言ってるんだよ 等価なものは同じものとして扱ったほうが最適化の実装は容易になるだろ
- 540 名前:あ mailto:sage [2017/09/20(水) 07:03:02.13 ID:0AKG+c7B.net]
- >>535
そーかー。 そら楽しかっただろうな、嗤うだけのお前はw 最適化の話は、話の発端>>502で、最初から言うとるぞ。
- 541 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:20:53.05 ID:32CWNlSU.net]
- >>537
Haskellの件は擁護不可能だろ こいつScalaとかOCamlとか関数型全般で知ったかしてたわけだし
- 542 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:21:44.46 ID:32CWNlSU.net]
- ちな上で叩いてるやつとは別人だぞ
- 543 名前:あ mailto:sage [2017/09/20(水) 08:32:31.84 ID:0AKG+c7B.net]
- 最適化を知ったかしてる人にヤイヤイ言われる程度の事っしょ。
間違ってたら正せば良いし、積極的に正されてるつもりだぞ。 「間違ってるウゥ!」って指差して笑い転げるのは中学生くらいで終わらせとけよ。。
- 544 名前:あ mailto:sage [2017/09/20(水) 08:33:34.51 ID:0AKG+c7B.net]
- >>530
ADDEQがどんな命令か知ってれば必要最低限のコードでは?
- 545 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:42:59.18 ID:32CWNlSU.net]
- その文章のどこがコードなのか
自分が何言ってるか考えてからレスしろ
- 546 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:44:43.32 ID:32CWNlSU.net]
- そして抽象度の異なる最適化という事さえ理解してない
- 547 名前:あ mailto:sage [2017/09/20(水) 08:54:13.08 ID:0AKG+c7B.net]
- >>545
オペコードはコードでない、と。 面白いな。 >>546 理解してないんじゃない。 着地点が定義されてない最適化なんぞ、どのレイヤであっても無意味。 末尾再帰を解釈できるコンパイラと関数呼び出しとしてしか解釈できないコンパイラの話をしないうちに、 ループの最適化の話しても無駄でしょ。
- 548 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:02:56.02 ID:lnxmN51d.net]
- 誰もループの最適化の話なんかしてないでしょ
今の論点は、 ・クロージャ変換によりガベージの増加を低減できる ・インライン展開により関数呼び出しのコスト低減を図ることも実行速度の向上には効果的である ・クロージャ変換を行うことによりインライン展開などのより低レベルな最適化が行えなくなることはない ・したがって、両者は直行する問題であり、それらを相反するものとするあDHDの懸念は誤りである これでいいだろ?
- 549 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:12:41.36 ID:meNSbSun.net]
- >>540
嗤うだけっていうのはただのディスやね。決めつけはニート認定みたいで、頭悪そうなのでやめといたほうがいいと思うよ 少なくとも、めっちゃ読みづらい知ったかぶり長々書かれて全然楽しくなかったぞ あの時からずっとおまえのレスは普通に邪魔
- 550 名前:548 mailto:sage [2017/09/20(水) 09:14:30.17 ID:lnxmN51d.net]
- いやインライン展開を先にやっちゃったらクロージャ変換はできなくなるから正確には直行する問題ではないか
何事も負荷逆な操作をできるだけ後回しにするのは基本だよね
- 551 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:24:37.99 ID:NK01lAwy.net]
- >>543
最適化知ったかぶりしてる奴って誰だよ 間違い自体は全然問題にされてなくて、Haskellの実装を知ってるとまで言っておきながら、その基本文法すらわかってなかった酷い知ったかぶりを責められてるのわかってる?
- 552 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:40:23.50 ID:meNSbSun.net]
- あと全く知らないものを、まるで知ってるかのように振舞ってディスってたっていうのも問題だな
あんだけ散々ディスってたくせに知らんのんか〜いって思った あれ以来、こいつは知ったかぶりする傾向があるから動くコード書くまで信頼出来んと思ってる
- 553 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:43:04.73 ID:yYGRyM8i.net]
- そいつは極度の知ったか自己弁護野郎だから、みんなよく観察するように。
- 554 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:53:58.35 ID:qH6V6v7k.net]
- どっちもどっちだな
- 555 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 10:04:00.22 ID:OlAvSaNc.net]
- Cのマクロは人でも読めるコードを生成してくれるから良かった
だがマクロよりインライン関数の方がすごいんだという謎のマウンティングが始まった 人にコードを見せる習慣がなくなったのはそういう歴史の影響があるんだろう
- 556 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:12:40.40 ID:qH6V6v7k.net]
- インライン関数は展開されないときもあるからマクロの方つかっちゃうな
- 557 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:30:55.10 ID:meNSbSun.net]
- 展開されない時って、コンパイラ判断として展開しないほうが良い時なのでは……?
いやコンパイラに任せるより手動で最適化したほうが良いような実力者なら知らんけど
- 558 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:36:58.65 ID:qH6V6v7k.net]
- コンパイラーの判断は機械的に判断するから間違ってることも多いからな。
- 559 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:47:06.69 ID:OlAvSaNc.net]
- 実力者になった後で手動にするか、手動にした後で実力者になるか
現金で買うのとカードで買うのはどちらが賢いかというのに似ている
- 560 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:49:12.59 ID:meNSbSun.net]
- はえー。俺はコンパイラより正しい判断が出来る自信はないから全部コンパイラに任せてるわ
いやすごいな。-O0でコンパイルして-O3並みの速度出せたりすんの?
- 561 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 12:03:51.93 ID:qH6V6v7k.net]
- コンパイラの最適化は速度を優先するかメモリを優先するかバランスとってるからね。
俺みたいな速度最優先の少数派のことなんか考えてくれてないから自分でやるだけ。
- 562 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 13:32:21.76 ID:CdIs01F3.net]
- -Ofast は速度最優先だと思ってたけどそうでもないのか
- 563 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 14:02:50.79 ID:32CWNlSU.net]
- >>547
詭弁もいいとこだな どこがコードなんだよ オペランドすら記述していない上に、 結局大部分を文章で説明している それでも、すべて支離滅裂な文よりはいくらかマシだが
- 564 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 14:07:16.46 ID:32CWNlSU.net]
- そしてオペコードをコードと言いながら>>528で、最適化でコードが変わる事ではないという言い草
恣意的にレスしてるのがまるわかり
- 565 名前:デフォルトの名無しさん [2017/09/20(水) 14:50:54.31 ID:rh0oGGav.net]
- あのー結局のところHaskellが良さそうだけどモナドっていうのが分からないとつかえないの?
それともモナドとか分からなくてもそこそこ普通に使えて、しばらく使ってたらモナドとかも雰囲気でなんとなく分かってくるものなの? YouTuberで圏論の勉強会ビデオ四回目まで見たけどなんとなく理解はできたの 結局のところ集合と関数をより抽象化して記号化していろいろやってるんだよね?
- 566 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 15:00:39.54 ID:f95dJFKd.net]
- モナドはまあ満たすべき性質ではあるけれど、別に理解してなくても問題ない。
コンパイラもモナド則をチェックするわけでもないし。
- 567 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 15:30:18.35 ID:qH6V6v7k.net]
- 俺はネットに無料で上がってる凄いH本よんだけど圏論何て一つもでてこなかったけど
モナドはわかったぞ。
- 568 名前:あ mailto:sage [2017/09/20(水) 15:44:48.04 ID:0AKG+c7B.net]
- テンションすげえな。水曜なのに。
- 569 名前:デフォルトの名無しさん [2017/09/20(水) 17:03:51.19 ID:66cdr9VM.net]
- モナドとか分からなくてもなんとかいけるんやー
ちょっとがんばっておぼえてみよーっと ありがとー
- 570 名前:デフォルトの名無しさん [2017/09/20(水) 18:09:54.14 ID:66cdr9VM.net]
- Ryzenとか出てきてこれからは6コア、8コアあたりまえになったらマルチスレッドとか大切になるんだとおもうの
それでちょびっとぐぐったらどうも関数型プログラミング言語はどれもマルチスレッドが得意らしいの だからやっぱり関数型プログラミング言語が流行よね そんな気がするの
- 571 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:21:45.19 ID:8NhAmDw4.net]
- もうみんなコテハンつけたら?
ここにいるのって、どうせいつも同じ人間じゃね?
- 572 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:29:38.52 ID:eqHukz4h.net]
- Haskellの並列ってあんまりマルチスレッドって認識してなかったけど、たしかにマルチスレッドあるな
- 573 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:35:57.38 ID:OlAvSaNc.net]
- 関数型の入門書はパターンマッチができるデータ構造ばっかり教える
クロージャやモナドはパターンマッチができない構造なのに
- 574 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 19:12:54.78 ID:meNSbSun.net]
- そういや、なんでこのスレOCamlいないんだっけ?
- 575 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:15:05.03 ID:+ftcwVio.net]
- 関数型全般はさておきHaskell自体は並列処理書きづらいイメージがあるんだけど気のせいか
- 576 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:36:57.21 ID:meNSbSun.net]
- あんまり詳しくないんだけど、Haskellの並列だと、いくつかの関数をそれぞれ1スレッド(プロセスだったかも?)に割り当てて並列で計算するのが印象に残ってる。
えらい簡単に並列化出来るんだなって思った記憶ある なんだっけなあのライブラリ
- 577 名前:デフォルトの名無しさん [2017/09/20(水) 21:42:45.54 ID:ej6oPx0l.net]
- 純粋な関数は並列化簡単だからね
- 578 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:59:48.39 ID:OlAvSaNc.net]
- インターネットとマルチスレッドを区別しないと
マルチスレッド派はガベコレ廃止してborrowチェックしないと
- 579 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 23:27:02.45 ID:ocgI6/Nq.net]
- Kotlinの気に入らないところ
anopara.net/2017/09/16/kotlin%E3%81%AE%E6%B0%97%E3%81%AB%E5%85%A5%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D/
- 580 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 23:43:37.21 ID:XmuyR82X.net]
- >>576
HaskellだとControl.Parallel.Strategiesを使うと map関数が容易に並列化できてお手軽だった ちゃんと使おうとするとWHNF(Week Head Normal Form)だとかの理解を要求されるので そういう敷居の高さはあるけど
- 581 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 01:50:38.06 ID:QW6vwaf/.net]
- >>579
この人はScala大好きのようだが 同様に誰かにのScalaここが嫌だと言われそうなレベルの話で ふーんでおしまいだなあ。
- 582 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 05:23:51.87 ID:r0JkAuLO.net]
- { "aaa" }
このラムダ式の凄さが分かって無いな。 ルビーでいうとブロックが何個でも持てるるのと同じことなのにな
- 583 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 06:47:08.30 ID:aDCr5zcn.net]
- >>582
どういうことだってばよ?
- 584 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 07:06:13.16 ID:r0JkAuLO.net]
- >>579
に言っている
- 585 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 07:08:49.84 ID:r0JkAuLO.net]
- わかりやすくいうと
javascriptのcallbackのfunction()という邪魔な奴が消えて見やすくなるということ
- 586 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 08:36:52.83 ID:q4h3VbHC.net]
- Kotlinのパターンマッチは確かにC#の最新版にすら抜かれたダメな子だが、
nullのくだりは全く同意できないな そもそもScalaにnull safetyなんか無くね
- 587 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 09:32:12.51 ID:5FG4CErg.net]
- >>586
c#のパターンマッチはまだ中途半端なのに、それに抜かれたとはヤバイな
- 588 名前:デフォルトの名無しさん [2017/09/21(木) 12:19:06.27 ID:xGEE8GqX.net]
- >>555
inlineの方がいいのは型チェックあるからだろ
|

|