ブックマーク / qnighy.hatenablog.com (3)

  • RustのREPL "evcxr" を使ってみた - 簡潔なQ

    概要 evcxrはRustのパーサーとコンパイラを外部から呼び出すことでREPLを実現している。セミブラックボックス的なアプローチにも関わらずなかなかの完成度で、今後が期待できる。 evcxr evcxrは最近公開されたRustのREPL (GitHub, redditのpos)である。また、Jupyterのカーネルもあるため、Jupyter Notebook上でRustを書くこともできる。 Evaluation Context for Rust とのことで、 ev + cx + r と思えば覚えられる。 インストール方法 コマンドラインは以下で入る。 cargo install evcxr_repl Jupyter版については公式サイトを参照するとよい。 基的な動作を試してみる。 $ evcxr Welcome to evcxr. For help, type :help >> :he

    RustのREPL "evcxr" を使ってみた - 簡潔なQ
    bouzuya
    bouzuya 2020/01/28
  • RustのRFC一覧 (~0500) - 簡潔なQ

    概要: RustのRFCの一覧を作ろうとしたが、あまりに多いのでとりあえず0500までで公開することにした。なお、単に全てのRFCを列挙したいならばここを見ればよい。 このRFCはRustのコミュニティーが管理しているものであり、 “RFC” の元祖であるIETF RFCとは関係ない。いずれもrequest-for-commentの略である。 メタ RFC 0002 Rust RFCの提出プロセスの説明 スタイル/慣習 RFC 0199 似たような動作で、所有権/借用の種別だけが異なるようなメソッドの命名規則を定める RFC 0236 panic!/Result の使い分けの慣習を定義する、関連するメソッドの命名規則を定める RFC 0240 unsafe の慣習の整理: unsafe 関数をメソッドにする条件の定義、論理的な不変条件を壊すが未定義動作を引き起こさない関数は unsafe

    RustのRFC一覧 (~0500) - 簡潔なQ
    bouzuya
    bouzuya 2017/07/10
  • Rustの型推論の概略 - 簡潔なQ

    概要: Rustの型推論の大枠を説明する。 なお、筆者もRustの型推論の動作を詳細に把握しているわけではない。 短くまとめると Rustの型推論はHindley-Milner型推論ベースである。したがって後方の式や文の内容から手前の型が推論されることもある。しかし以下に挙げるようなRust独自の特徴をもつ。 型推論は原則として関数定義の中で閉じており、関数の引数型や戻り値型は推論されない。これは、関数を抽象化の境界とするための意図的なものである。この意味で「局所的」というのであれば間違いではない。 ただし、let多相を含む型推論を避ける意図もあるかもしれない。 関数呼び出しや一部の演算子などは、その部分の制約を立てる段階で、型の一部分が判明している必要がある。この動作は推論順序の影響を受ける。 トレイトによりオーバーロード可能になっている関数や演算子は、射影型を使っている場合、ボトムアッ

    Rustの型推論の概略 - 簡潔なQ
  • 1