Skip to Main content Skip to Navigation
New interface
Conference papers

Golo, a Dynamic, Light and Efficient Language for Post-Invokedynamic JVM

Julien Ponge 1 Frédéric Le Mouël 1 Nicolas Stouls 1 
1 DYNAMID - Dynamic Software and Distributed Systems
CITI - CITI Centre of Innovation in Telecommunications and Integration of services
Abstract : This paper introduces Golo, a simple dynamic programming language for the Java Virtual Machine (JVM) that has been designed to leverage the capabilities of the new Java 7 invokedynamic instruction and API (JSR 292). Golo has its own language constructs being designed with invokedynamic in mind, whereas existing dynamic languages for the JVM such as Groovy, JRuby or Nashorn have to adapt language constructions which are sometimes hard to optimize. Coupled with a minimal runtime that directly uses the Java SE API, Golo is an interesting language for rapid prototyping, polyglot application embedding, research (e.g., runtime extensions, language prototyping) and teaching (e.g., programming, dynamic language runtime implementation). We show that the language design around invokedynamic allows for a very concise runtime code base with performance figures that compare favorably against Java and other dynamic JVM languages. We also discuss its future directions, either as part of Golo or through language and runtime research extensions.
Complete list of metadata

Cited literature [12 references]  Display  Hide  Download
Contributor : Julien Ponge Connect in order to contact the contributor
Submitted on : Tuesday, August 27, 2013 - 10:32:04 AM
Last modification on : Wednesday, July 8, 2020 - 12:43:56 PM
Long-term archiving on: : Thursday, April 6, 2017 - 9:17:36 AM


Files produced by the author(s)




Julien Ponge, Frédéric Le Mouël, Nicolas Stouls. Golo, a Dynamic, Light and Efficient Language for Post-Invokedynamic JVM. PPPJ - International Conference on Principles and Practices of Programming on the Java platform: virtual machines, lamguages and tools - 2013, Sep 2013, Stuttgart, Germany. ⟨10.1145/2500828.2500844⟩. ⟨hal-00848514v2⟩



Record views


Files downloads