TwitterAPI有料化は可能な限り対応予定です。続報あり次第公式アカウントにて報告いたします。
2016年9月8日

Ruby on Erlang!!! errubyの紹介 #RubyKaigi #RubyKaigiB

ErRuby: Ruby on Erlang/OTP @johnlinvc "ErRuby: Ruby on Erlang/OTP Concurrency will be an important feature for future Ruby, and Erlang programming language is famous for its concurrency features such as Actor model, Lightweight process and ability to build fault tolerant distributed systems such as the telecom. 続きを読む
0

黒曜@Leaner Technologies @kokuyouwind

次はErlangの話が面白そうなのでB会場に移動。 #rubykaigi #rubykaigiB

2016-09-08 11:16:30
黒曜@Leaner Technologies @kokuyouwind

Ruby実行系のErlang実装の話。台湾の方。「I ♥Programming Language」のスライドの中にHaskellアイコンも入っててなるほど感 #rubykaigi #rubykaigiB

2016-09-08 11:22:51
黒曜@Leaner Technologies @kokuyouwind

ErlangでRubyの完全な実装ができれば、Rubyの表現力とErlangの並行実行管理が両立できるよね、というのがモチベーション #rubykaigi #rubykaigiB

2016-09-08 11:24:01
Tony 不带水 @tony612_han

A programmer https://t.co/vJXlxbaUSr 所有言论仅代表个人观点,与公司无关

https://t.co/KuvQSAMVwW

黒曜@Leaner Technologies @kokuyouwind

errubyの目指すところは、Rubyのmajor featureと実験的なconcurrent機能の実装。これをErlang VM上で実行出来るようにする github.com/johnlinvc/erru… #rubykaigi #rubykaigiB

2016-09-08 11:25:42
リンク GitHub johnlinvc/erruby erruby - ruby on erlang
黒曜@Leaner Technologies @kokuyouwind

Erlang基礎の話。不変データ型、単一代入、アクターモデルあたり。この辺はまぁ。 #rubykaigi #rubykaigiB

2016-09-08 11:27:40
黒曜@Leaner Technologies @kokuyouwind

実装の話が始まった。Rubyは複雑な言語でparseがきつい #rubykaigi #rubykaigiB

2016-09-08 11:30:32
アルフォートおじさん @joker1007

parser gemを使ってASTまで取ったのか。良いサボり方っぽい。 #rubykaigiB

2016-09-08 11:30:59
黒曜@Leaner Technologies @kokuyouwind

parseできたらabstruct syntax treeを作る。で、ErlangはimmutableだけどRubyはmutableなので、continuation passingを使って辞書の変化を表現する。 #rubykaigiB #rubykaigi

2016-09-08 11:32:56
アルフォートおじさん @joker1007

状態を暗黙的に次の評価に渡すのか。モナドっぽい形でErlangVM上にmutableな構造を実装してるっぽい。 #rubykaigiB

2016-09-08 11:33:11
黒曜@Leaner Technologies @kokuyouwind

Rubyのobjectをどう実現するか。Erlangのオブジェクトと対応させ、メッセージを受け取ったらまずメッセージを返してから状態をアップデートする(再帰呼び出しする) #rubykaigi #rubykaigiB

2016-09-08 11:36:32
黒曜@Leaner Technologies @kokuyouwind

「インスタンス変数への代入は普通にメッセージング。メソッドの定義は返信メッセージに引数の数を含めたりする。」 あーそうか、evaluateの話だから、クラスの状態をどんどん変えてくことになるのか #rubykaigi #rubykaigiB

2016-09-08 11:41:29
黒曜@Leaner Technologies @kokuyouwind

「method invokeでは呼び出し側でeval argumentしたあと、受け取り側でpush a new frame, bind argument, eval bodyの手順で進める。」 frameの説明を聞き逃した #rubykaigi #rubykaigiB

2016-09-08 11:44:21
黒曜@Leaner Technologies @kokuyouwind

experimental featureの話。薬品アイコンと爆弾アイコンが並んでてウケる。First class concurrency。プログラマはハッピーになるが、マシンはそうでもない #rubykaigi #rubykaigiB

2016-09-08 11:45:56