algonote

There's More Than One Way To Do It

Rust LT #2 〜いま使う!Rust〜まとめ&感想 #rust_jp

Rust LT #2 〜いま使う!Rust〜に参加しました。

f:id:hiromichinomata:20180806072312p:plain

Rustを支えるインタープリター

miriはMIR(mid-level intermediate representation)のインタープリター。unsafeを含めほとんどのRustのコードを実行できる。

ChalkはProlog風ソルバー。Prolog = 手続き型+単一化+バックトラック。chalk = Prolog - 副作用 + 量化 + 様相

Rustの安全性を数学的に証明する

RustBelt: Rustの安全性を証明するためのプロジェクト。 Rustは型つきラムダ計算ほどminimumでないのでRustを単純化した言語をベースにやる。

unsafeなコードを使ったライブラリがたくさんある。 unsafeな部分についてはsemanticsに証明することが必要

lopdfの話

RustでPDF変換をやる話。VarsaType: HTML/CSSをPDFに変換。Rustで書くと低レベルのためRubyのprawnよりだいぶ冗長になる。

Rust でクロスコンパイルして Raspberry Pi Zero W で動かす

RustはIoTと相性がいい。resion.ioは省エネコンテナ。tripletはgccとrustで一致しないことも。

インタプリタを作ってまなぶRustらしい書き方

RubyのコードをベースにRustでインタプリタを作る。抽象構文木に関数を適用して結果をまとめる(=簡約)。

Rust 2018とは?〜安定した進化の真の意味〜

コンパイラの更新をさりげなくやりたい。交換性を守るためにsyntaxを変える = Rust 2018。2018/12/06リリース予定。

この場で使う!Rust 〜アルゴリズムの実装を通して感じる使いやすさ〜

競プロの問題をRustでとくライブコーディング。

ダイクストラはheapだと高速。Rust公式docにダイクストラがのっている。

所感

LTだから簡単な内容が多いだろうと思ったら内容はガチだった。思ったよりもRubyのバックグラウンドを持つ人が多かった印象。

pixivのVRoid Studioや画像変換でもRustが使われており、golangとの比較でいうと、Webサーバーとしての採用実績では負けるものの、XRや動画メディアという文脈でRustの需要が増えることはありそうだなと思いました。