Gor Programming Language
An interpreted language with JavaScript-like syntax, built entirely in Go's standard library. Closures, objects, arrays — everything you need.

Zero Dependencies
Built entirely with Go's standard library. No external packages, no bloat — just pure Go powering a complete interpreter.
JS-like Syntax
Familiar let/const declarations, fn functions, for loops, and if/else blocks. Easy to pick up.
First-Class Functions
Full closure support with lexical scoping. Create counter factories, accumulators, and higher-order functions.
Objects & Arrays
Rich data structures with objects (key-value pairs) and arrays. Member access, index expressions, and nested structures.
Interactive REPL
Explore the language interactively with the built-in REPL, or run source files directly from the command line.
AST Inspector
Built-in --ast flag outputs the Abstract Syntax Tree as JSON. Great for learning how interpreters work.
See Gor in Action
Clean, expressive syntax for algorithms, data structures, and functional patterns.
# Counter factory using closures
fn makeCounter(start) {
let count = start
fn increment() {
count = count + 1
return count
}
return increment
}
let counter = makeCounter(0)
print(counter()) # 1
print(counter()) # 2
print(counter()) # 3
# Each counter has its own state
let other = makeCounter(10)
print(other()) # 11
print(counter()) # 4 (independent)Quick Start
Clone & Build
git clone https://github.com/IWhitebird/Gor.git && cd Gor && make build
Run a File
./bin/gor examples/fibonacci.gor
Start the REPL
./bin/gor --repl
Inspect the AST
./bin/gor --ast examples/fibonacci.gor
# Hello World in Gor
print("Hello, World!")
# Variables
let name = "Gor"
const version = 1
print("Welcome to " + name)
# Functions
fn add(a, b) {
return a + b
}
print(add(40, 2))