[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/11 13:12 / Filesize : 252 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミング言語 Rust 3



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の間違い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef