intermediate representation

Raffaello Giulietti raffaello.giulietti at supsi.ch
Tue Dec 23 10:40:31 UTC 2014


Hi Thomas,

I'm familiar with the beautiful and elegant Truffle/Graal framework, the 
related papers and presentations, and the ongoing work on the languages 
you mention.

What is attractive about the Nashorn team's approach, however, is that 
the 100% compliant ECMAScript implementation works today on a pristine 
JVMs, has official support (which is an immensely important selling 
point in commercial environments) and has impressive performance. If you 
add that the Nashorn people would like to put their experience and work 
further by offering a complete toolkit for dynamic language 
implementors, well, the choice whether to implement a language on 
Truffle/Graal or on a Nashorn-like framework becomes a hard task.

Both approaches are interesting enough to be tried out.

On the one hand, I feel that Truffle/Graal is more productive today, 
partly because of its intuitive DSL, partly because of its AST 
interpreter approach. Unfortunately, as far as I know, it still doesn't 
have the official support that would convince commercial customers. 
Hence, although the chances are in its favor (it's too interesting to be 
ignored), it's still unclear to me if Truffle/Graal will become a 
mainstream product or if it will be confined in labs and be used by 
aficionados only. (Too many interesting projects have followed this sad 
fate.)

On the other hand, Nashorn is fully supported as a product but the 
framework is probably not mature enough to be usable as a toolkit for 
other languages. But since it has already won the battle against (often 
stubborn and shortsighted) product managers, it has perhaps more 
concrete chances for further development and further ideas.

Hard choice!

Cheers
Raffaello



On 2014-12-23 09:38, Thomas Wuerthinger wrote:
> Raffaello,
>
> Regarding your question about state of the art, you might also want to 
> look at this paper from 2013: 
> http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf. 
> I do not think that it is the future dynamic languages toolkit Attila 
> speaks about, but it might be related work. It is a dynamic languages 
> toolkit with several open source projects building implementations on 
> top of it:
> - Ruby: https://github.com/jruby/jruby/wiki/Truffle
> - R: https://bitbucket.org/allr/fastr
> - Python: https://bitbucket.org/ssllab/zippy
> - Smalltalk: https://github.com/smarr/TruffleSOM
>
> Cheers, thomas
>
>
>> On 22 Dec 2014, at 18:48, Raffaello Giulietti 
>> <raffaello.giulietti at supsi.ch <mailto:raffaello.giulietti at supsi.ch>> 
>> wrote:
>>
>> Hi,
>>
>> in some of the published presentations about Nashorn, Attila (on 
>> behalf of the Nashourn team, I guess) speaks about his vision for a 
>> dynamic languages toolkit to be used by language implementers 
>> targeting the JVM. One of its main components is a new IR resembling 
>> untyped JVM bytecode.
>>
>> I would be interested in hearing something more specific about this 
>> topic.
>>
>> What is the current state-of-the-art?
>> What can be expected in the next few months?
>> Is there a discussion group somewhere?
>>
>> Greetings
>> Raffaello
>



More information about the nashorn-dev mailing list