Rust

Viceroyを眺める

便利そうなプレスリリースが出て、色々調べてたら開発用ローカルサーバーのコードが見つかったので土曜の夜の暇つぶしに眺めてみる。 開発用ローカルサーバーのコードを読んだところでなんだという感じなのだが.... 登場人物 概念 downstream request/respon…

rustcを通らないコードは間違っている

Rustを書いていると、慣れるまではrustcに頻繁に怒られる。慣れても結構怒られる。とにかくrustcに怒られる。きっと貴方はこう思うだろう、「Rustはなんて煩い言語なんだ!俺の愛する****(好きな言語の名前を入れてください)ならばこんなことはないのに!…

Rustプログラミングにおけるデバッグ入門

これはRust Language Advent Calendar 2014の第1日目となります。 尚、本情報はRust 0.13.0-nightly@fac5a0767時点の情報を基にしております。 現実においてプログラムを書くにあたりデバッグを行わないということはありません。ですので、通常、我々はデバ…

LL Diver 夜の部『帰ってきただめ自慢』に #Rustlang 枠として参戦します

今年2014年のLL Eventである、LL Diverの夜の部、『帰ってきただめ自慢』にRust枠として出演する事となりました。 僭越ながら、日本Rust界の大家であるMasanori Ogino氏を差し置いての参戦となりますが、他の日本○○界を代表する歴々に負けずに、ぜひともRust…

Rustで値のmoveが起こる場合

Rust v.0.11pre時点での情報です。 Rustにおけるムーブセマンティクス だいたいC++のそれと同じものと理解してるんだけど、おさらいとして。 Rustの言語セマンティクスの一つに、メモリの所有権(Ownership)というものがある。これは「このメモリ領域を自身…

Apple SwiftについてのRustユーザーの感想

開祖Graydonの報告以外に何も言うことはありません。 get it now: http://www.rust-lang.org/ こちらからは以上です

#rustlang における構造体のmutabilityと`Cell/RefCell`

この記事はRust 0.10を基準に書かれている 前提 Rustの基本として、明示的にmutを付けて値の変更を可能にした(mutableにした)データ以外は変更することができない(デフォルトimmutableの原則とでも呼ぶべきかな)。これを構造体に適用した場合、構造体の…

Servoの夢

Rustについて、自分としては流行ってくれなくてもいいというか、別に流行ること自体は本当にどうでもよくて、言語自体の完成とServoが形になってくれさえすればそれでいいと思っている。Rust Samuraiなんてイベントやってるけれども、個人的に普及させる気が…

Rust 0.9リリースノート覚え書き

Rust 0.9が出たので、リリースノートを元に個人的に気になった箇所をメモする。メモ書きなんで、あんまりコンテンツ力考えてないですし、網羅的でもないです。真面目にリリースノート読んだ方がいい。 ちなみにC85で頒布したRust Dojoですが、内容は執筆当時…

Rust 0.9で`@mut`が消えた

Rust 0.9のリリースノート(仮)を読んでいたら、@mut has been removed. Use std::cell::{Cell, RefCell} instead.って一文が。マジすか。(他にも@が将来的な削除対象入りするとか面白いネタがいくつかある) てなわけで該当のPull Requestはこちら: Remov…

Rust言語で遊ぶにあたって大切なこと

とるべき基本的なスタンス 用語が一定しない Rustの公式リファレンス・チュートリアルでの名称と、開発陣のブログやTwitterでの名称が違うのはざらです。諦めましょう。たとえば、~はチュートリアルではOwned Boxと書かれていますが、owned pointerとかuniqu…

2013年何やったかのまとめ

ジョブがチェンジした 上の見出しの通りです。詳細は(少なくとも当面は)書きません。 Mozilla 何件かバグ直した ジョブチェンジした関係で忙しくなったので、昔ほどアグレッシブにはやってないけど、2013年も気になった物をちょこちょこと直してた。自分の…

C85お疲れさまでした

C85お疲れさまでした。足を運んでくださった皆様、ありがとうございました。 「こんなマイナー言語、どうせ10~15部くらいしか捌けないだろう」と思って、会場頒布分を30部としていたのですが、まさか11:30過ぎに完売するとは思っていませんでした。ありがと…

Rustでグローバルに影響するような状態を持ったプログラムを作る時はどうするか

具体的にはメインループを回して、ユーザーからの入力を受け付ける必要があって、且つ状態をいくつか持ちたい場合、Rust(0.8相当)ではどうするのが得策かという話。割とテキトー。 便宜上、グローバルと呼んでいるけど、「メインループに類するもので変更…

冬コミ(C85)三日目にRustの同人誌を出します

表題の通り、冬コミ(C85、コミックマーケット85)の三日目に、Rust Samurai名義で、Rustについての同人誌「Rust Dojo」を頒布します。 内容および執筆者は以下の通りです。 次元(@dim7th)「Rust 入門」 makoto_kato(@makoto_kato)「RustでのTCP/IPネッ…

システムプログラミング言語

第7回くらいのServo Readingで話したことをざっくりまとめた。誰がどれを話したかはmangleしてあるので御容赦を。 個人的にざっくりとTwitterなどなどをクロールして得た感想だけど、GoはCompiled Pythonともいうべき立ち位置な気がする。PythonとかPerlとか…

Servo Architecture vol.1: ConstellationとPipeline

第三回Servo Readingの成果として、最初はServoのCompositorの話を書くつもりだったんだけど、いきなりCompositorの話を出してもややこしいので、まずはConstellationとPipelineの話をしようと思う。 ブラウザエンジンと一口に言っても、よく知られている通…

Rustの並列タスクモデルのメモ

「メモリ安全性と並列実行性に注目した言語」と語られる割に、メモリ安全性はともかく、どのようにRustの並列実行モデルが成り立っているのかについて語られる事が殆どない気がしたので、Rust Tasks and Communication Tutorial を大雑把ながら読み解いてい…

Servoコードリーディングに必要なもの

さすがにいつまでもServoへの一方的な愛を語るだけではいかんだろうと思い、腰を据えてServoを読むべくServoのコードリーディング会をやってみたのですが、とりあえず初回の結論だけ報告しますと Servo読むならRustのチュートリアルくらい全部目を通しておか…