Ruby on Erlang!!! errubyの紹介 #RubyKaigi #RubyKaigiB
Slides of my talk at #rubykaigi ErRuby - Ruby on Erlang speakerdeck.com/johnlinvc/erru…
2016-09-09 14:09:02次はErlangの話が面白そうなのでB会場に移動。 #rubykaigi #rubykaigiB
2016-09-08 11:16:30#rubykaigi #rubykaigiB 始まりました pic.twitter.com/7MiEeQfwsk
2016-09-08 11:22:43Ruby実行系のErlang実装の話。台湾の方。「I ♥Programming Language」のスライドの中にHaskellアイコンも入っててなるほど感 #rubykaigi #rubykaigiB
2016-09-08 11:22:51elixir!!! #rubykaigi #rubykaigiB pic.twitter.com/3xNqTDwN4d
2016-09-08 11:23:49ErlangでRubyの完全な実装ができれば、Rubyの表現力とErlangの並行実行管理が両立できるよね、というのがモチベーション #rubykaigi #rubykaigiB
2016-09-08 11:24:01https://t.co/PXMW7acRPT 所有言论仅代表个人观点。熟悉 #go #docker #k8s #grpc #envoy #servicemesh,学习 #rust 中。欢迎推荐后端工作机会。偶尔怀疑人生,又偶尔觉得十分幸运
ErRuby!!! #rubykaigi #rubykaigiB pic.twitter.com/UCvLRTgNyJ
2016-09-08 11:24:29errubyの目指すところは、Rubyのmajor featureと実験的なconcurrent機能の実装。これをErlang VM上で実行出来るようにする github.com/johnlinvc/erru… #rubykaigi #rubykaigiB
2016-09-08 11:25:42Erlang基礎の話。不変データ型、単一代入、アクターモデルあたり。この辺はまぁ。 #rubykaigi #rubykaigiB
2016-09-08 11:27:40実装の話が始まった。Rubyは複雑な言語でparseがきつい #rubykaigi #rubykaigiB
2016-09-08 11:30:32parser gemを使ってASTまで取ったのか。良いサボり方っぽい。 #rubykaigiB
2016-09-08 11:30:59parseできたらabstruct syntax treeを作る。で、ErlangはimmutableだけどRubyはmutableなので、continuation passingを使って辞書の変化を表現する。 #rubykaigiB #rubykaigi
2016-09-08 11:32:56状態を暗黙的に次の評価に渡すのか。モナドっぽい形でErlangVM上にmutableな構造を実装してるっぽい。 #rubykaigiB
2016-09-08 11:33:11Rubyのobjectをどう実現するか。Erlangのオブジェクトと対応させ、メッセージを受け取ったらまずメッセージを返してから状態をアップデートする(再帰呼び出しする) #rubykaigi #rubykaigiB
2016-09-08 11:36:32「インスタンス変数への代入は普通にメッセージング。メソッドの定義は返信メッセージに引数の数を含めたりする。」 あーそうか、evaluateの話だから、クラスの状態をどんどん変えてくことになるのか #rubykaigi #rubykaigiB
2016-09-08 11:41:29「method invokeでは呼び出し側でeval argumentしたあと、受け取り側でpush a new frame, bind argument, eval bodyの手順で進める。」 frameの説明を聞き逃した #rubykaigi #rubykaigiB
2016-09-08 11:44:21experimental featureの話。薬品アイコンと爆弾アイコンが並んでてウケる。First class concurrency。プログラマはハッピーになるが、マシンはそうでもない #rubykaigi #rubykaigiB
2016-09-08 11:45:56