The world didn't need another JVM language. So we built yet another one. A simple one.
Golo is a simple dynamic, weakly-typed language for the JVM.
Built from day 1 with invokedynamic
, Golo takes advantage of the latest advances of
the JVM. It is also a showcase on how to build a language runtime with invokedynamic
.
Eclipse Golo was originally created by Julien Ponge and developed as part of the research activities of the DynaMid group of the CITI Laboratory at INSA Lyon.
Eclipse Golo is a mature Eclipse Technology Project.
- Website: https://golo-lang.org/
- Twitter: @golo_lang
- Eclipse PMI: https://projects.eclipse.org/projects/technology.golo
- GitHub: https://github.com/eclipse/golo-lang
- Issues: https://github.com/eclipse/golo-lang/issues
- Mailing-list: https://dev.eclipse.org/mailman/listinfo/golo-dev
- Commits new issues mailing-list: https://dev.eclipse.org/mailman/listinfo/golo-commit
- Wiki: https://github.com/eclipse/golo-lang/wiki
- Gitter.im chats: https://gitter.im/eclipse/golo-lang
- StackOverflow: questions with the
golo-lang
tag
Golo follows the semantic versioning scheme.
Go to the Golo downloads page for general download instructions.
You can fetch Golo from Maven central under the org.eclipse.golo
group.
Golo is built with Gradle. Since the source code contains the Gradle wrapper scripts, the build can bootstrap itself by downloading the qualified Gradle version from the Internet.
Golo requires Java 8 to build. Building beyond Java 8 is currently disabled: at this time Golo is not fully compatible with the changes introduced in Java 9 and the Java Platform Module System.
In practice you can run most Golo code with Java 11 and beyond, but you may see some reflection-related warnings.
Common tasks:
- build:
./gradlew build
- test:
./gradlew test
- clean:
./gradlew clean
- documentation:
./gradlew asciidoctor golodoc javadoc
- assemble a working distribution in
build/install
:./gradlew installDist
- generate a nice JaCoCo tests coverage report:
./gradlew jacocoTestReport
The complete list of tasks is available by running ./gradlew tasks
.
Copyright (c) 2012-2021 Institut National des Sciences Appliquées de Lyon (INSA Lyon) and others
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.
SPDX-License-Identifier: EPL-2.0
We welcome contributions from the community!
Check the CONTRIBUTING.md
file for instructions.