Rust LT #2 〜いま使う!Rust〜に参加しました。
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の需要が増えることはありそうだなと思いました。