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

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.
Type de document :
Communication dans un congrès
PPPJ - International Conference on Principles and Practices of Programming on the Java platform: virtual machines, lamguages and tools - 2013, Sep 2013, Stuttgart, Germany. ACM, 2013, 〈10.1145/2500828.2500844〉
Liste complète des métadonnées

Littérature citée [12 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-00848514
Contributeur : Julien Ponge <>
Soumis le : mardi 27 août 2013 - 10:32:04
Dernière modification le : mardi 27 août 2013 - 11:08:10
Document(s) archivé(s) le : jeudi 6 avril 2017 - 09:17:36

Fichier

golo-pppj13.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

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. ACM, 2013, 〈10.1145/2500828.2500844〉. 〈hal-00848514v2〉

Partager

Métriques

Consultations de la notice

498

Téléchargements de fichiers

579