1 名前:デフォルトの名無しさん [2017/05/21(日) 14:04:29.55 ID:9L9dm7b/.net] Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。 www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust 2 echo.2ch.net/test/read.cgi/tech/1478023960
159 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 13:02:17.27 ID:29cDHiwu.net] そういや、crates.ioに公開されてるものって 対応してるrustcのバージョンが不明確だな
160 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 21:24:51.99 ID:LrtFpx4M.net] 案の定、誰もtokioを使ったことない感じでスルーされつつ自己解決した ttps://play.rust-lang.org/?gist=42a8464afde50942d9a162f3d1cfe9c0&version=stable&backtrace=0 futuresのAPI分かりづらいよ zero-costとかそう言う所じゃないレイヤーのI/F設計が頭おかしい気がする いや、気がするだけでzero-costに注視した場合にそうならざるを得なかったのかもしれんが とりあえず、奥深いと言うかなんと言うか、tokio及びfuturesの闇の深さが分かったのでちょっと遊ぼう tokioはstd:netのラッパーで本当に早いの?な感じだったけど、futuresの方は中々に面白い
161 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 21:31:18.02 ID:eZ7grxii.net] mioは本質的にstd::netを使ってなくねなどと重箱の隅を突いてみる
162 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 21:39:21.98 ID:LrtFpx4M.net] tokioもサーバサイドで使うぶんには効率的よ?と直前のレスをちゃぶ台返し エアプログラミングで卓上で論じる分には楽しいけど、実際使ってみようとしたらドキュメント少なすぎるだろ futuresのtutorialみたらtokio.ioに飛ばされてスッゲーあっさりとしか書かれてないでやんの
163 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 10:48:52.84 ID:oMhdv7bq.net] な?Rustってまともに使える言語じゃないだろ? だからもう騙されるのは終わりにしようぜ。
164 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 13:01:49.86 ID:AvS1SMln.net] ソース読めばいいよ
165 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 19:59:59.87 ID:CD/BPHg5.net] 言語じゃなくライブラリの問題なんだよなぁ、言語仕様で躓いたPG(笑)はスクリプト言語にでもおかえり ソース追い回しても分かんなかったよ, crate futuresのソースがC++のマクロ地獄みたいなの 解決したらそりゃそうだと納得なんだが、sink.and_thenのErrとstream.into_future().and_thenのErrが一致しないのは罠だと思った お前ら両方ともtrait Futureのand_thenなのに違う型をツラっと返すなよな・・・ sinkから作ったFutureとstream(のinto_future)から作ったFutureがand_thenで連結できないのかと悩んだよ
166 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 20:19:54.47 ID:xcCDpPBC.net] むしろ同じエラー型しか返せないとしたら面倒臭いわな 例えばfutures_cpupoolで常にio::Errorしか返せないとかだったら扱いにくいのなんのって
167 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 20:43:02.03 ID:CD/BPHg5.net] Futureの操作元(今回はStream)をエラー時にも返したい時がある的な振る舞いは未だに理解できんぞ sinkはErrでstreamは(Err, Stream)とかイミフ、どうせなら両方ともタプルにしてくれよ
168 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 20:44:49.12 ID:aNYsG6oK.net] それはそうだが、StreamFuture::Errorの型はあれはちょっとなあ…… 所有権を返したいってのはなんとなく分かるが
169 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 20:46:10.36 ID:aNYsG6oK.net] >>164 は>>162 宛てな
170 名前:デフォルトの名無しさん mailto:sage [2017/06/08(木) 02:32:18.91 ID:+DWZ9aoq.net] reqwest、HTTPヘッダやMIMEタイプまでそれぞれ別個にタイプセーフとかクレイジーだな、いい意味で いや、hyperのせいか
171 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 01:32:14.88 ID:eJzwOC8V.net] Announcing Rust 1.18 - The Rust Programming Language Blog https://blog.rust-lang.org/2017/06/08/Rust-1.18.html pub(restricted)と構造体フィールドの自動並び替えがstabilized
172 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 07:32:46.19 ID:2Ut1GWuy.net] 時報が少し賢くなってるwww
173 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 12:48:15.05 ID:BBPKL/bd.net] >>167 ありがとう。 これからも頑張って。
174 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 13:10:04.93 ID:+ro9fQGu.net] pijulってなんだよgitだけでいいだろ
175 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 14:25:21.34 ID:2Ut1GWuy.net] gitよりmercurialが好きです(半ギレ pijul(とdarcs)は初めて存在を知ったけどほーって感じ Pull Requestはサービスプロバイダに依存するから、VCS自体にPR管理機能を持つのは良いのかもねぇ
176 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 14:42:06.85 ID:8C3OvAmi.net] pgr
177 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 15:36:57.58 ID:CZ4YsNdD.net] Rustはgithubに依存しすぎだろ GoogleやMicrosoftも似たようなサービス始めるみたいだし、もっと中立的になった方がいい
178 名前:デフォルトの名無しさん [2017/06/09(金) 15:39:14.20 ID:F1/ud66B.net] goもかなり依存してないか?
179 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 15:44:08.83 ID:+ro9fQGu.net] github依存度で言ったらGoよりましじゃないかな?自前でcrates.io持ってるし。 まあgithubに依存してなくてもやらかしたnpm見てるとgithub依存も最悪ではないみたいに思ってしまうがな。 というかgithub以外のまともなホスティングサービスがないのが悪い
180 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 15:49:49.79 ID:CZ4YsNdD.net] Scala/JavaのIvyみたいに、crates.io互換鯖を自由に立てられるようにしようとか crates.ioのログインにgithubアカウント以外も使えるようにしようとかの動きは無いのかな?
181 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 15:51:15.80 ID:+ro9fQGu.net] まあそれはともかく、gitとhgのサポートが既にあるのに pijulとかいうまだまともに使えないVCSをwritten in Rustってだけで突っ込むのは 内輪のノリがきつすぎてイタい子なんだなあって感想
182 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 15:52:47.94 ID:CZ4YsNdD.net] >>177 Haskellのdarcs優遇と同じ現象だな
183 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 16:00:58.60 ID:+ro9fQGu.net] >>178 ghcすらdarcsを捨てたと言うのにな。 というか今気づいたけどcargoってSubversion対応してねえのか。pijulとやらより そっち先じゃねえの?
184 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 16:13:07.06 ID:2Ut1GWuy.net] >>175 bitbucketがあるだろ!!(今度こそマジギレ sourceforgeのgitサポートがもう少し早ければ幾つかの連立もあったろうけど sourceforgeは遅れるわGoogle Codeはへっぽこだわでgithub+git一強になったこのご時世は嫌だねぇ pijulが強制されるわけでもなく、今まで通りcrates.ioホスティングがデフォルトだからgithub(git)に依存してないでしょ 個人的には面白いVCSだとは思うけど、率先して採用するプロジェクトはなさそう
185 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 16:17:48.77 ID:CZ4YsNdD.net] cargoのdependenciesにbitbucketのmercurialを書けるようにするissueは、前に見かけた気がする たしか、やる気がないわけではないけど、使いやすいライブラリが無い的な返答だったような 直にリンクするとGPLになるとか
186 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 17:16:09.17 ID:oDUXzovh.net] vcs指定すると何がいいの?
187 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 20:27:02.60 ID:eJzwOC8V.net] >>177 内輪云々というか、たまたま気が向いた人がPRを送ってきたから受け入れたってだけの話じゃないの? それを言い出したら標準ライブラリだってredoxサポートのためのコードがたくさんあるし
188 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 21:39:26.49 ID:OWaLz7yy.net] >>181 普通にrepositoryのURI指定でhg://bitbucket.org/hoge/hageみたいにしとけば動いた覚えがあるぞ githubもgit://github.com/hoge/hageにするし、VCS, 接続サーバを意識してなくないかな 今更subversionやcvsを使う気は無いけど、誰かPR出してみようぜ rejectされるなりacceptされるなり、どっちに転んでも笑い話だと思う
189 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 04:46:24.86 ID:8idv0Ky2.net] pijul(ピフル)試してみた ・ドキュメント無さすぎ ・パッチのハッシュがクソ長いし、指定時に省略できない ・SSH周りがいろいろおかしい。agent使えないとか ・エラーメッセージが全く役に立たない。コード読んで初めて原因が分かる感じ ・現在のバージョンを特定するタグ、IDのようなものが未実装 ・複数ファイルの追加は一つずつ指定する必要がある。ディレクトリ一括とかダメ ・ワーキングディレクトリ内の未追加ファイルを一覧するコマンドが無い。要記憶力 ・ワーキングディレクトリ内の状態を一覧するコマンドが無い ・ファイルとして受け取ったパッチの取り込みを行うコマンドが無いので、自分で.pijulディレクトリの中にコピーするらしい 結論:実用にはあと2年は待ちたい。すぐ使いたいならdarcs使え
190 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 08:42:42.56 ID:V34f+MUj.net] >>185 こんなVCSサポートに入れるとかRustが実用考えて作られてないのがようわかるわ。
191 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 10:47:52.24 ID:FHASBQwb.net] pijul対応はpijulの開発者たちがドッグードするためなんじゃないの pijul自体がpijulで管理されてるからcargoサポートがないと不便そう
192 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 11:06:43.94 ID:Ha8NmJTT.net] 何かRustディスることに血道を上げてる粘着がおるな 自分の言葉で批判しようとするとフルボッコにされるから、最近は他人のまともな批判に乗っかってせせこましいレスしかできなくなってるが >>159 とか>>186 とか
193 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 11:21:32.40 ID:J2O0ntFQ.net] 触れなくていいんすよ
194 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 13:46:58.55 ID:AacmqL/b.net] Cと++は今世紀いっぱいは現役だからな それ以外は覚える価値なし
195 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 14:23:08.91 ID:8idv0Ky2.net] >>187 取り込まれたPR見れば分かるけど、VCSサポートって言っても、cargo newの後に 自動で pijul init を呼ぶだけの処理しかしてない Mercurialのサポートとほとんど同じレベルだが、Mercurialの場合は hg init 呼んだ後に さらに .hgignore ファイルも追加してくれるとこだけが違う 尚、この自動で追加される .hgignore は文法ミスってて使えない
196 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 14:50:16.11 ID:8RIzdpJs.net] もうgitでいいよ
197 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 16:38:35.42 ID:V34f+MUj.net] なんでお前らはこんな文法はゴミクズ、コンパイラはエラーしか吐かない、ライブラリはカス未満の クソモジラの息がかかってる言語なんてありがたがってるのか本気でわからんのだが モジラから金もらってる以外の理由あんの?
198 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 16:43:45.87 ID:FHASBQwb.net] >>191 git://みたいにpijul://みたいなプロトコルのサポートも入ったのかと思ってたけど initだけなら大した話ではないわな それぐらいならsvnだろうがcvsだろうが PR出したら簡単に取り込まれそう
199 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 16:47:08.14 ID:FHASBQwb.net] そういえばsvnはgit init相当の処理はないから cargo newの時にやることないな cvsもよく知らないけど同じかな
200 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 17:28:38.55 ID:gUDVFMBt.net] 釣られないクマー
201 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 17:34:28.98 ID:IftbJTTs.net] ああ、ほんとそんだけなのか。 pijulリポジトリやhgリポジトリからもcargoとってこれるとかではないんだな。
202 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 19:20:36.29 ID:SnVZVp11.net] --vcs=gitすると.gitignoreも出来るんだね
203 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 19:29:45.37 ID:IftbJTTs.net] ところでThe BookがSecondEdition出てるんだけどこれいつからあるんだっけ
204 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 19:50:13.72 ID:8idv0Ky2.net] 誰か、本のレビューしてくれ この本はこういう人向き〜とか The Rust Programming Language https://www.nostarch.com/Rust Mastering Rust https://www.packtpub.com/application-development/mastering-rust
205 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 20:32:21.64 ID:IftbJTTs.net] >>200 上の方まさに「The Book」のSecond Editionの書籍版じゃん。
206 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 01:53:28.37 ID:X3vCZvzy.net] 食事する哲学者は、なんでThe Bookから消されてしまったんや
207 名前:デフォルトの名無しさん [2017/06/11(日) 15:06:17.17 ID:qjl5AbWq.net] >>202 それ、俺も思った。 何でだろう?
208 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 15:56:53.70 ID:vIRnRvxr.net] 哲学者達がお腹一杯になったから
209 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 16:22:24.76 ID:VsqhFcB6.net] トンチが効いててちょっと面白かった
210 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 22:30:10.43 ID:X3vCZvzy.net] Second Editionはどういう意図か知らないけど、 "str".to_string() "str".to_owned() の代わりに String::from("str") を全面的に使うようにしてるね
211 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 23:46:31.76 ID:XI3qvjLJ.net] String("str")みたいなコストラクタは無いの?
212 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 23:49:50.77 ID:9OY4agMx.net] Stringはtuple structでない
213 名前:デフォルトの名無しさん mailto:sage [2017/06/12(月) 00:27:33.38 ID:My6TEn1j.net] https://crates.io/crates/crates_io_baseline このcrate、めっちゃダウンロードされてて草生える
214 名前:デフォルトの名無しさん mailto:sage [2017/06/12(月) 00:29:50.55 ID:MzCSF4Ch.net] 容赦なくて草
215 名前:デフォルトの名無しさん mailto:sage [2017/06/14(水) 09:57:33.18 ID:XYFguvYM.net] Tokio対応したHyperがリリースされたな これからWebフレームワークも対応していくのだろうか
216 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 18:41:09.39 ID:mn+yn6ig.net] pijul試してたら、なんかいつの間にかファイルが壊れて、テキストとバイナリがまぜこぜになったファイルが出来てしまった
217 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 09:06:23.46 ID:ktTRVxgn.net] またpijulが使い物にならないからrustはだめとか言うおっさんがくるぞ
218 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 10:33:05.72 ID:HCcCUJCK.net] わざわざ呼ぶなバカ
219 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 06:54:44.86 ID:yZgGFQR1.net] Why are there so many Madoka references in Rust's codebase? https://www.reddit.com/r/rust/comments/6hirku/why_are_there_so_many_madoka_references_in_rusts/ アイコン見てれば、容易に想像できることだが
220 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 14:55:59.38 ID:86sO1ieZ.net] もしかして盾の歯車?
221 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 20:28:41.11 ID:LG7VVo4P.net] crates.ioで、中身無しで名前だけ(たくさん)抑えてる人が居るね
222 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 20:52:10.55 ID:0v4/pNjF.net] crates.ioはスクワッティングし放題だしなあ doc.crates.io/policies.html#squatting
223 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 21:04:58.61 ID:LG7VVo4P.net] rustって名前のcrate登録しようと思ったら、とっくに取られてた
224 名前:デフォルトの名無しさん [2017/06/22(木) 19:34:29.89 ID:eBYfVtnR.net] そのうちcratesトロール出てくるぞ
225 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 00:33:06.17 ID:61WeFMfR.net] 更新止まったの除くとcrates.io使ってるのあんまりないよ。 ホスティング直接探しに行くとrustのライブラリ結構ある。 それより依存型が欲しい。
226 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 00:34:41.77 ID:l9zy63QW.net] >crates.io使ってるのあんまりないよ。 ドユコト?
227 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 06:06:00.68 ID:cy4Nwj8p.net] >>221 依存型欲しいねー
228 名前:デフォルトの名無しさん mailto:sage [2017/06/27(火) 21:33:58.01 ID:IXk9A5/e.net] なんでalloca()できないの?
229 名前:デフォルトの名無しさん mailto:sage [2017/06/27(火) 21:52:44.33 ID:b1cqibPI.net] https://github.com/rust-lang/rfcs/pull/1808#issuecomment-279123540
230 名前:デフォルトの名無しさん mailto:sage [2017/06/27(火) 22:56:55.59 ID:IIq+ol+w.net] >>225 どゆこと? より一般化してUnsized Rvaluesにしたけど、Openのまま3か月放置?
231 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 01:29:39.37 ID:9yiSXbVJ.net] >>226 関連するissueがまだopenのままに見える
232 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 11:14:29.14 ID:+O8L6XqQ.net] 瑕疵担保責任(かしたんぽせきにん) 瑕疵担保責任のポイント 民法改正で事実上期限が「無制限」になった バグや設計のミスなどは、瑕疵担保責任 納品物に不具合があれば損害賠償を請求される可能性もある 不具合を指摘されたらすぐに行動をとるべし 軽微なミスでも先延ばししない www.atmarkit.co.jp/ait/articles/1706/26/news014.html itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt 改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、 通知後5年以内は修正や報酬の減額などを求められるとしている 全ベンダーが泣いた民法改正案を解説しよう その1 www.atmarkit.co.jp/ait/articles/1609/14/news009.html www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html ポイント1:修補や損害賠償、契約解除の期限がなくなる 従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。 条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、 その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、 11年後まで請求可能なのだ。 もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、 「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、 バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
233 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 18:15:18.87 ID:v+Q0wrxJ.net] Futuresに詳しい人教えて Zero-costを謳ってTraitでコスト削減してるのは理解したんだが id_rpc(&my_server).and_then(|id| { get_row(id) }).map(|row| { json::encode(row) }).and_then(|encoded| { write_string(my_socket, encoded) }) ってやった場合に AndThen x2, Map x1を初期化時に作るコストについては 実行時のコストには乗らないから度外視って理解であってる? Aaron Turonのブログ読んでもそこは言及してないように読めるので教えてくれい
234 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 20:18:30.04 ID:9xGm3OAZ.net] コンパイラの最適化で消えるか、消えないにしてもstackいじるだけだから無視できるほど小さいコストなんだと思う
235 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 07:08:11.19 ID:91oxOYnU.net] んー、その擁護は微妙に納得いかないかな... AndThen, Mapは状態変数を保持するenumを内包するstructなので消えないはずだよねぇ まぁstackいじるだけという言い分として、ならば実行時のcallでBoxFutureを返すのはバッ
236 名前:ドノウハウってことか BoxFutureを返すのと、Futureを実装したstructを返すのと、どっちがZero-costに近いかは測ってみるか サンプルだとBox<Future>だけど、Tokioは一律structを実装してるから、後者の方が早いんだろうけども [] [ここ壊れてます]
237 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 11:32:28.47 ID:onBZ93I5.net] すまん、よくよく考えたら実行中にBox<Future>を返すのは動的にステートマシンのタスクを増やす行為だからNGだ Futureを返さなきゃと.boxed()使ってたけど、素直にPollで結果を包むだけでよかった
238 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 00:00:54.04 ID:YlAGoiwI.net] futuers-rsは これfutuereじゃねぇじゃねーか、並列計算してないパイプラインをfutuere呼ぶなよ ↓ すぐにfutures-cpupoolを見つける までが予定調和。 Zero-cost ~~futures and~~ streams in Rust
239 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 09:31:46.73 ID:ETZVte8W.net] これZero-costじゃねぇじゃねーか ↓ Zero-cost(コストがないとは言ってない) までが予定調和だったわ 下手な自作設計よりは全然コスト軽いけど鵜呑みは良くないね
240 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 10:33:24.16 ID:CTMuvV84.net] まず future の綴を覚えるところからお願いします
241 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 12:20:45.83 ID:J0r8gWdS.net] impl Traitじゃあかんのか?
242 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 13:09:55.73 ID:Aj2F4wHv.net] aturon氏の記事(Zero-cost futures in Rust)を読めば"zero cost"というのは「直にステートマシンを書いたのと同様のコードにコンパイルする」という意味で言っていると分かるはずで、 状態変数があるからzero costじゃないなどという指摘は出てこないと思うのだけど
243 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 13:30:28.66 ID:G2IB7Bn2.net] traitってGoのinterfaceに似てる って言ったら型警察に起こられるんだろうか
244 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 14:05:06.69 ID:At6b76le.net] >>237 ? だからコストがないって訳じゃないと理解したんだが タスク構築のための初期化アロケーションとか、ステートマシンのための状態管理(分岐)の少量コストはあるって解説してるよな 言葉遊びによるZero-cost警察の方なら触ってスマン
245 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 16:29:36.87 ID:H2zYYmCe.net] 警察じゃなくても激おこやと思うw
246 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 16:36:55.49 ID:o8qoMeE4.net] zero costは宣伝文句で、zero overheadくらいが妥当では
247 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 18:21:59.60 ID:ZOpHOB0v.net] 実行はゼロコストかも分からんが書くコストが青天井なので結局意味のない言語
248 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 19:19:11.80 ID:A2FxzO1+.net] Aaron Turonのブログを引用しながら実は別の意味で言ってましたとか草
249 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 22:45:10.68 ID:sW2FXAJU.net] javaはzero-overheadの語を使うけどrustはzero-costを使うよね。 zero-overheadだと追加の余計なコストがかからないという意味がわかるけど、 zero-costだとコストそのものがないと言っているのかzero-overheadと同じ意味で使ってるのか定かではないと思う。
250 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 22:53:04.21 ID:Aj2F4wHv.net] Rustでzero-cost (abstraction)といったら抽象化レイヤーによるコストが0という意味だろうね
251 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 03:06:44.06 ID:9aEWew1V.net] そもそもがC++界隈からの借用語だしな
252 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 16:39:24.43 ID:AAYKoEFk.net] 激おこな警察官が多くて誰がどの立場で何を擁護してるのかワケワカメ とりあえずまぁfuturesやtokioを下手に使うとコストがゴリゴリ上がってくのは分かった ステートマシン(AndThenやMap)も抽象化しきれなかったのかstructでI/F切られてるし注意して使わんとな
253 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 17:11:36.04 ID:MzNNcf5c.net] そりゃ、真にコストゼロはありえないだろう 一般に気にされてるのは、C/C++より多いかどうかでしょ
254 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 18:08:21.50 ID:tRZ6TMIF.net] だれかGUIライブラリ書いて そしたら社内ツールでC#の替わりに使うで
255 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 18:41:42.95 ID:UiQJEPDB.net] ゼロコストがabstractionにかかっていることをつい忘れちゃう まあ普通に考えたら、futuresでもIteratorでもMapを実現したいなら値と関数は保持しないといけないし、AndThenも前と次の値を持ってないといけないよね ラッパー構造体のコストは引数がコピーじゃなければメモリ的にもCPU的にもゼロだったはず
256 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 19:26:13.97 ID:AAYKoEFk.net] >>248 別にC/C++と比較してコストがあるかは気にしてないぞ C++ TemplateとRust Traitは実質同じ所に行き着くんだから比較するほどの意味もなし >>250 IteratorやMapを抽象化できないのか?、できないならコスト削減できない不適切なLibではないのか?とは思わないのかねぇ Rustに限らず新興言語はキーワードだけ拾って素晴らしいものだ!みたいな賛美ユーザが多いね >>249 ttps://github.com/kenz-gelsoft/wxRust もう動かないかもしれないけど 去年くらいのwxWidgetsが3.2.0でFFI周りのI/Fを非公開にしてwxHogeHogeが全滅した
257 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 19:35:34.06 ID:oPOjLgnt.net] >>150 コンパイラだってバカ正直にMap構造体を用意してそこにクロージャをそのままぶち込むようなコードは生成しないんやで
258 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 19:42:23.78 ID:LLvZvDtb.net] >>251 >IteratorやMapを抽象化できないのか? まあ確かにHKTが欲しいと思わないこともないな
259 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 19:43:35.74 ID:oPOjLgnt.net] >>252 安価は>>250 の間違い