Better Ruby - Nutter
From JVMLangSummit
Redirect page
Redirect to:
JRuby
- making optimizations for things like returining from closures
- Invoke Dynamic (indy):
- eliminates generated handles, simplifies things
- inlines a lot of otherwise complex logic
- getting faster
- Duby is an experiment in optional static typing that may be rolled into JRuby
- new optimizing compiler now that they have a "real compiler guy" on the JRuby team
Duby
- a side-project
- "like Ruby but as fast as Java; essentially Java with Ruby syntax"
- typing works kinda like Scala
- no runtime library
- purpose: an implementation language for JRuby, mobile applications
- "doesn't add too much"
- code example: only different between Ruby and Duby is specifying the type of some arguments to methods
- "MyObject.new" is hard-coded to object creation, not a method call
- status:
- type and method definitions work
- importing types, Java object construction works
- todo: arrays, reopening classes, mixins, closures, runtime libraries in Duby, Java 5 features,
- possible LLVM backend or in other languages
Surinx
- another side-project
- exactly Ruby syntax
- dynamically typed ("not quite as crazily dynamic as Ruby")
- dynamic dispatch (indy)
- minimal runtime library (indy dispatcher)
- scriptable, but no interpreter
- "as fast as Java (can do indy)"
- goals: experiment with indy, help the implementors test, try things outside JRuby
- code examples: really identical to Ruby
- bunch of stuff still to do
- Java version of fib example (only) 40% faster than Surinx version