Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

eclipse-archived/golo-lang

Repository files navigation

Continuous integration and deployment DOI Gitter

Golo, a lightweight dynamic language for the JVM.

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.

Links

Getting Golo

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.

Building Golo

Dependencies

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.

Java virtual machine compatibility

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.

Building

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.

License

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

Contributing

We welcome contributions from the community!

Check the CONTRIBUTING.md file for instructions.