Skip to content

GloatHub

Gloat compiles Clojure & YAMLScript to Go code, native binaries and Wasm

The Compilation Pipeline

.ys β†’ .clj β†’ .glj β†’ .go β†’ binary/wasm

Gloat takes your Clojure or YAMLScript source code and compiles it through multiple stages to produce standalone executables, WebAssembly modules, or shared libraries; for 20+ OS/Architecture combinations.

Each intermediate format can be output for inspection or further processing.

Key Features

πŸš€

Zero Dependencies

All tools (Go, Glojure, YAMLScript, Babashka, etc) auto-install on first use. No manual setup required.

🌍

Cross-Compile

Build for Linux, macOS, Windows, FreeBSD, and more. Multiple architectures: amd64, arm64, 386.

πŸ•ΈοΈ

WebAssembly

Compile to Wasm for browser or WASI environments. Run your code anywhere.

πŸ“š

Shared Libraries

Create .so/.dylib/.dll files with C headers. Integrate with nearly any programming language via FFI.

πŸ”

Transparent Pipeline

Output any intermediate format (Clojure, Glojure, Go). Understand and debug every step.

πŸ“¦

Portable Builds

Generate standalone Go project directories. Build anywhere with just Make.

Quick Example

# Compile to native binary
gloat hello.ys

# Cross-compile for Windows
gloat app.clj -o app.exe -p windows/amd64

# Create WebAssembly module
gloat program.ys -o program.wasm

# Output intermediate formats
gloat code.ys -t clj   # See generated Clojure
gloat code.ys -t glj   # See generated Glojure
gloat code.ys -t go    # See generated Go

# Create a Go build directory
gloat code.ys -o code/
make -C code/ build     # Compile to binary

Get Started

Ready to compile your Clojure or YAMLScript code?