ブックマーク / chibash.github.io (2)

  • Python ライブラリを Ruby から使う

    English version is available at github PyCall は Ruby の中から既存の Python ライブラリを使うにはとても便利なライブラリです。 とはいえ、これは Ruby から Python の関数を呼ぶためのライブラリなので、Python の関数を1回呼ぶ度に Ruby に制御が戻ってきます。 これが元でちょっと間違えやすいこともあるようです。 例えば下のような記事を見つけました。 Ruby×PyCallでTensorflowのMNISTチュートリアル「連想配列の違いで手間取った」 そこで Ruby の柔軟な構文を活かして、Python っぽいコードを Ruby プログラムの中に埋め込んでおくと、そこだけまとめて切り出して Python に送って実行する DSL を作ってみました。 Yadriggy を使って作っています。 この DSL の実装は

    amy385
    amy385 2018/12/10
  • Ruby 用の JIT コンパイラを作りました。ただし VM のではない。

    このところ Ruby VM 用の JIT コンパイラが話題だったようですが、Ruby 用の JIT コンパイラを試作してみました。 ただし VM 用の JIT コンパイラではありません。 代わりに? OpenCL も利用できます(ただし macOS のみ)。 Ruby は埋め込み DSL (embedded DSL, eDSL) のホスト言語としてよく使われます。 今回試作した JIT コンパイラは、Ruby 向けに作った C 言語風の eDSL 用の JIT コンパイラです。 そういう DSL は、構文だけホスト言語である Ruby の構文を借りて、実行は自前の JIT コンパイラを使うので、我々はそのような DSL を 半パラサイト DSL (hemi-parasitic DSL) と呼んでいます。 なんのためのもの? この eDSL は、Ruby プログラムの中で、一部の計算処理を高

    amy385
    amy385 2018/06/21
  • 1