golo

GoloScript

GoloScript is a Golo language interpreter implemented in Go. This project reproduces the main features of the original Golo language (https://github.com/eclipse-archived/golo-lang) which was developed in Java for the JVM by Julien Ponge.

Description

Golo is a dynamic and weakly typed programming language designed to be simple and expressive. This interpreter implements the core language features using Go.

Hello World

module hello.World

function main = |args| {
  println("Hello, GoloScript! πŸ‘‹")
}

Installation

# On Linux/macOS
chmod +x golo-script-<version>-<platform>

For example:

chmod +x ./golo-v0.0.3-darwin-arm64
# Then run:
./golo-v0.0.3-darwin-arm64 --version
./golo-v0.0.3-darwin-arm64 --about
./golo-v0.0.3-darwin-arm64 --help

On MacOS, you might need to allow the app to run in System Preferences > Security & Privacy.

Installation to system path

You can move the binary to a directory in your system PATH for easier access:

# Example for Linux/macOS
sudo mv golo-v0.0.3-darwin-arm64 /usr/local/bin/golo

Use it like a bash script

You can use GoloScript to run Golo scripts directly from the command line, similar to how you would use bash or python interpreters.

# Make your Golo script executable
chmod +x your_script.golo
# Add the shebang line at the top of your_script.golo
#!/usr/bin/env golo
# Now you can run your Golo script directly
./your_script.golo

Example:

#!/usr/bin/env golo
import gololang.AnsiCodes

function hello = |name| -> "πŸ‘‹ Hello, " + name + "!πŸ€—"

# Green text
fg_green()
print(hello("Bob Morane"))
reset()
println()

GoloScript Playground

You can explore and run GoloScript in the Golo Playground.

# git clone this repository:
git clone https://codeberg.org/TypeUnsafe/golo-playground.git

# start the Golo Playground
cd golo-playground
docker compose up -d
docker compose exec golo-playground bash

# run a Golo Script
cd 01-hello-world
golo hello.golo

🐳 GoloScript Docker Image

docker pull k33g/gololang:v0.0.3
cat > hello.golo << 'EOF'
module hello.Docker

function main = |args| {
  println("Hello from GoloScript in Docker! 🐳")
}
EOF
docker run --rm -v $(pwd):/app -w /app k33g/gololang:v0.0.3 /golo ./hello.golo

We have VSCode grammar support!

It’s not published yet, but you can find it in this repository.

Look at the VSCode Extension Installation Instructions to add Golo syntax highlighting to your VSCode editor.

References

License

This project is an educational interpreter for the Golo language, created to demonstrate the implementation of a programming language in Go.

The original Golo language is an Eclipse Foundation project under the Eclipse Public License.

Β© 2026 GoloScript Project | Built with Gu10berg

Subscribe: πŸ“‘ RSS | βš›οΈ Atom