Golo comes from the research activities of the Dynamid team of the CITI-INRIA Laboratory at INSA-Lyon. After experimentations in the JooFlux dynamic aspect and code injection toolkit, we realized that we could take advantage of the
invokedynamic / JSR 292 to design a small, efficient and easy to hack dynamically-typed programming language for the JVM. By "easy to hack", we mean that language and runtime experiments can be approached by students and hobbyists, not just programming language design experts.
Golo is a dynamically-typed programming language for the Java Virtual Machine.
Golo is a dynamically-typed programming language for the Java Virtual Machine. Golo is largely interoperable with Java and other JVM languages (e.g., numeric types are boxing classes from
java.lang, and collection literals leverage
java.util classes). Golo supports imperative and functional programming patterns. Golo is not a strictly object-oriented programming language: it very much resembles Go in the sense that methods are just functions applied to specific receiver types. Golo or Java defined types can be augmented in Golo, that is, new methods can be made available.
In short: we want to give the project a chance to outgrow us.
Golo is currently licensed under the terms of the Apache License, Version 2.0. We will switch to the Eclipse Public License, and we will use the Eclipse Distribution License for samples.
We do not own the trademark, and we are not aware of any party owning it.
Our plan is to do an initial contribution within the 2 weeks of incubator acceptance.
The project is going to continue the efforts in growing its community, including proposing conference talks and disseminating articles. We expect the interactions with other Eclipse projects to be a fruitful growth factor, too.