This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(November 2015) (Learn how and when to remove this message) |
| Golo | |
|---|---|
| Developer | INSA Lyon |
| First appeared | 2012; 13 years ago (2012) |
| Stable release | 3.4.0 / October 20, 2021; 4 years ago (2021-10-20) |
| Typing discipline | Dynamic,weak |
| Platform | Java virtual machine |
| OS | Cross-platform |
| License | Eclipse Public 2.0 |
| Website | golo-lang |
Golo is computersoftware, aprogramming language for theJava virtual machine (JVM). It is simple, withdynamic,weak typing. It was created in 2012 as part of the research activities of the DynaMid group of the Centre of Innovation in Telecommunications and Integration of service (CITI) Laboratory atInstitut national des sciences appliquées de Lyon (INSA). It is distributed asfree and open-source software under theEclipse Public License 2.0.
It has been built as a showcase on how to build a language runtime withinvokedynamic. Golo is largely interoperable with the programming languageJava and otherJVM languages (e.g., numeric types are boxing classes fromjava.lang, and collection literals leveragejava.util classes), that runs on the JVM.
In June 2015, Golo became an officialEclipse Foundation project. The project was terminated in September 2022.[1]
The language features have been initially designed around the abilities of invokedynamic – JSR 292 that appeared in Java SE 7. Golo usesahead-of-time compilation ofbytecode. While the bytecode remains stable over a program execution, theinvokedynamic-based reconfigurable call sites support the adaptive dispatch mechanisms put in place for helping theHotSpotjust-in-time compiler (JIT) to extract reasonable performance.