Top Banner
Jéferson Machado So#ware Design Social network informa0on http://twitter.com/jefersonm http://facebook.com/jefe.machado https://github.com/jefersonm/ http://slideshare.net/jefersonm
15

Erjang

Jul 05, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Erjang

Jéferson Machado So#ware  Design  

Social  network  informa0on  

http://twitter.com/jefersonm http://facebook.com/jefe.machado

https://github.com/jefersonm/ http://slideshare.net/jefersonm

Page 2: Erjang

JVM Container

Page 3: Erjang

Kresten Krab Thorup

Page 4: Erjang

CTO – Responsible for technical strategy, researching future technologies, and JAOO and Qconconferences.

Page 5: Erjang

GCC

GNU Objective-C

gcj

Objective-C

Page 6: Erjang
Page 7: Erjang
Page 8: Erjang
Page 9: Erjang

Benchmarks

Page 10: Erjang
Page 11: Erjang

Erlang file

console

File system

Page 12: Erjang

Does it work ? •  It  can  boot  Erlang/OTP  to  the  Eshell  (ej  command).  •  There's  a  GUI  console  (ejc  command)  which  supports  ^G  and  line  edi0ng.  

The  console  s0ll  needs  some  work  [Swing  wizards  welcome  here].  •  Run  Erlang  distribu0on,  tcp/ip,  port  commands  (stdio  to  external  

processes).  •  You  can  run  the  compiler  (c(foo)  command  in  the  prompt)  •  It  runs  mnesia  with  distribu0on  across  Erjang/BEAM  nodes.  •  The  HTTP  packet  parsers  are  in  the  tcp/ip  stack,  so  mochiweb  and  

webmachine  can  run  (without  crypto  for  now).  •  Larger  systems  like  rabbitmq  and  riak  can  boot;  and  works  for  basic  

cases  ...  but  it's  not  ready  for  prime  0me  yet.  •  Etc.  etc.  Lot's  of  stuff  work.  

Page 13: Erjang

BUT!!! •  A  few  BEAM  instruc0on  are  missing  some  run0me  support.    

•  There  are  also  BIFs  missing,  or  only  par0ally  implemented;  we're  quite  careful  to  throw  @erjang.NotImplemented@  in  BIFs  (or  branches  thereof)  which  are  not  complete.    

•  Many  OTP  modules  need  NIFs  or  linked-­‐in  drivers  that  are  en0rely  missing  or  only  partly  implemented.  

Page 14: Erjang

References

•  https://github.com/trifork/erjang

•  http://www.infoq.com/presentations/Erjang-A-JVM-

based-Erlang-VM

•  http://www.javalimit.com/2009/12/erjang-why.html

•  http://learnyousomeerlang.com/contents

Page 15: Erjang

Questions ???  

Jéferson Machado So#ware  Design  

Social  network  informa0on  

http://twitter.com/jefersonm http://facebook.com/jefe.machado

https://github.com/jefersonm/ http://slideshare.net/jefersonm