— a lightweight dynamic language for the JVM.

module hello.World

function main = |args| {
  println(“Hello world”)


The world didn’t need another JVM language.
So we built yet another one. A simple one.


Learn Golo

Golo documentation across releases.

We invite you to read the development version of the Golo Programming Language Guide.

You can also have a look at our publications,, including papers and talks.


  • Get the code and contribute on GitHub.
  • Report and browse issues.
  • Discuss on our mailing-list. Get notified of new commits and issues.
  • Watch and edit our Wiki.


Golo is a simple dynamic, weakly-typed language that favours explicit over implicit. You should become a Golo programmer within hours, not days.


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.


While we have great plans for Golo in our research projects, we also think that it can be useful for the larger Java community.

Copyright © 2024 INSA Lyon, CITI Laboratory and contributors.