A simple, interpreted, statically-typed programming language designed for clarity and ease of use.
Want to contribute or build from source?
macOS/Linux:
# Clone the repository
git clone https://github.com/SchoolyB/EZ.git
cd EZ
# Build the binary
make build
# Run a program
./ez examples/hello.ezWindows (PowerShell):
# Clone the repository
git clone https://github.com/SchoolyB/EZ.git
cd EZ
# Build the binary
go build -o ez.exe ./cmd/ez
# Run a program
.\ez.exe examples\hello.ezRequirements: Go 1.23.1 or higher
For pre-built binaries and installation instructions, visit the documentation.
EZ includes a built-in update command:
ez updateThis will check for new versions, show the changelog, and prompt you to upgrade. If EZ is installed in a system directory (like /usr/local/bin), it will automatically prompt for your password.
If you're upgrading from v0.17.1 or earlier, you'll need to manually update once:
macOS/Linux:
# macOS (Apple Silicon)
curl -L https://github.com/SchoolyB/EZ/releases/latest/download/ez-darwin-arm64.tar.gz | tar xz
sudo mv ez /usr/local/bin/ez
# macOS (Intel)
curl -L https://github.com/SchoolyB/EZ/releases/latest/download/ez-darwin-amd64.tar.gz | tar xz
sudo mv ez /usr/local/bin/ez
# Linux (x86_64)
curl -L https://github.com/SchoolyB/EZ/releases/latest/download/ez-linux-amd64.tar.gz | tar xz
sudo mv ez /usr/local/bin/ez
# Linux (ARM64)
curl -L https://github.com/SchoolyB/EZ/releases/latest/download/ez-linux-arm64.tar.gz | tar xz
sudo mv ez /usr/local/bin/ezWindows (PowerShell as Administrator):
# Download and extract
Invoke-WebRequest -Uri "https://github.com/SchoolyB/EZ/releases/latest/download/ez-windows-amd64.zip" -OutFile ez.zip
Expand-Archive ez.zip -DestinationPath .
Remove-Item ez.zip
# Create install directory and move binary
New-Item -ItemType Directory -Path "$env:ProgramFiles\ez" -Force
Move-Item ez.exe "$env:ProgramFiles\ez\ez.exe" -Force
# Add to PATH (if not already present)
$path = [Environment]::GetEnvironmentVariable("Path", "Machine")
if ($path -notlike "*$env:ProgramFiles\ez*") {
[Environment]::SetEnvironmentVariable("Path", "$path;$env:ProgramFiles\ez", "Machine")
Write-Host "Added to PATH - restart your terminal for changes to take effect"
}Alternatively, if building from source, you can use the install script:
# Run as Administrator for system-wide install, or as regular user for user-local install
.\install.ps1After this one-time manual update, ez update will work automatically for all future versions.
# Run integration tests
./integration-tests/run_tests.sh
# Run unit tests
go test ./...For more details, see the Testing Guide.
MIT License - Copyright (c) 2025-Present Marshall A Burns
See LICENSE for details.
Thank you to everyone who has contributed to EZ!















