Skip to content
surjolivePublic

About

LIZARD is a native Rust programming language with a simple syntax, compiler runtime, CLI, REPL, standard library, terminal animation, and cross-platform releases.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LIZARD

LIZARD programming language banner

LIZARD is a native Rust-based programming language focused on simple syntax and fast startup.

Current milestone: a native interpreter and CLI with functions, collections, loops, a growing standard library, terminal animation, and Windows/Linux/macOS release automation.

Latest release Release workflow MIT License Built with Rust

Windows x64 Linux macOS VS Code extension LIZARD Guide

Native
Rust interpreter and runtime
Readable
Simple indentation-based syntax
Practical
CLI, REPL, formatter, checker, and builder
Animated
Terminal progress animation built in

Download latest version

Get the latest LIZARD release from GitHub. The current release is v0.1.0.

Download latest release


Windows x64: lizard.exe · Windows x64: lz.exe

Quick start

LIZARD requires Rust and Cargo. Clone the repository, run the example program, and verify the compiler with:

git clone https://github.com/surjolive/LIZARD.git
cd LIZARD
cargo run -- hello.lz
cargo test

Use cargo run -- --help to see the available CLI commands. The installed executables are named lz and lizard and use the same runtime.

Project policies

LIZARD is open source under the MIT License. Use the links below for the rules that govern code, community participation, and security reports.

Policy Details
MIT License Copyright (c) 2026 Surjo Live
Contributing guide Development rules, testing, and pull request requirements
Code of Conduct Community standards and expected behavior
Security policy How to report a security vulnerability privately

Usage

Command What it does
cargo run -- hello.lz Run a LIZARD source file
cargo run -- repl Start the interactive REPL
cargo run -- -e "say 10 + 20" Execute inline source
cargo run -- check hello.lz Parse and validate without running
cargo run -- fmt hello.lz Print formatted source
cargo run -- fmt --write hello.lz Format and save a source file
cargo run -- build hello.lz --output hello.exe Build a native output
cargo run -- new MyProject Create a project skeleton
cargo run -- doctor Diagnose the current installation
cargo run -- update --check Check for a newer release safely
cargo run -- update Install the latest release
cargo run -- upgrade Alias for update
cargo run -- uninstall Remove the installed runtime and PATH entries
cargo run -- --version Show version and runtime information
cargo run -- --help Show all CLI help

The VS Code language package is in editors/vscode/lizard-vscode. It registers .lz files, syntax highlighting, snippets, run/check commands, and formatting through the native LIZARD CLI.

Development

Run the test suite after changing the parser, runtime, or CLI:

cargo test

For a fast compile-only check, use:

cargo check

The full language and editor guide is available at docs/LIZARD-GUIDE.md.

Features at a glance

Language and runtime

  • Native Rust implementation with a fast-starting interpreter and runtime
  • Simple syntax with readable blocks and .lz source files
  • Core values: numbers, text, booleans, null, lists, maps, and functions
  • Variables and expressions: arithmetic, comparisons, boolean operators, and interpolation
  • Control flow: if, else, while, repeat, and each
  • Functions: parameters, return values, and reusable program logic
  • Collections: indexing, slicing, list helpers, map values, and iteration

Standard library

  • Text: toText, lower, upper, trim, contains, split, and join
  • Collections: size, first, last, push, pop, reverse, and slice
  • Numbers: toNumber, abs, floor, ceil, round, min, max, and clamp
  • Output: say, print, echo, log, info, and aro
  • Terminal animation: animate(message, frames, delayMs) for visible progress feedback

Developer experience

  • REPL for experimenting with expressions and language features
  • Formatter with preview and in-place --write modes
  • Checker for validating source without executing it
  • Native builder for producing a standalone runtime output
  • Project generator with new ProjectName
  • Diagnostics with doctor, version reporting, and clear runtime errors
  • Update tools with update, upgrade, and safe update --check mode
  • VS Code package with .lz language support, syntax highlighting, snippets, run/check commands, and formatting

For the complete installation, CLI, language, build, testing, and editor guide, see docs/LIZARD-GUIDE.md.

The package ecosystem specification is documented in LIZARD_PACKAGE_ECOSYSTEM_SPECIFICATION.md. The planned registry is packages.lizard.dev; registry and publishing features are not yet implemented in the current interpreter.

Animation example

Terminal animation is built into the runtime. The first argument is the message, the second is the number of frames, and the third is the delay between frames in milliseconds:

animate("Loading LIZARD", 8, 120)
print("Ready!")

For deterministic scripts and tests, use a delay of 0:

animate("Checking", 3, 0)

The animation works as a standalone function call, so it does not need to be wrapped in say.

Install on Windows

The installer downloads lz.exe and lizard.exe into %LOCALAPPDATA%\LIZARD\bin and adds that directory to the user PATH.

From a cloned project directory:

$env:LIZARD_RELEASE_BASE_URL = "https://github.com/surjolive/LIZARD/releases/latest/download"
.\install.ps1

From Command Prompt:

set LIZARD_RELEASE_BASE_URL=https://github.com/surjolive/LIZARD/releases/latest/download
install.bat

After publishing this repository, direct URL installation works from PowerShell:

$env:LIZARD_RELEASE_BASE_URL = "https://github.com/surjolive/LIZARD/releases/latest/download"
irm https://raw.githubusercontent.com/surjolive/LIZARD/master/install.ps1 | iex

From CMD or any shell with curl and PowerShell:

set LIZARD_RELEASE_BASE_URL=https://github.com/surjolive/LIZARD/releases/latest/download
curl.exe -fsSL https://raw.githubusercontent.com/surjolive/LIZARD/master/install.ps1 | powershell.exe -NoProfile -ExecutionPolicy Bypass -Command -

The published repository is surjolive/LIZARD.

Download for Windows, Linux, and macOS

Download the latest native release from the GitHub Releases page:

Platform Download
Windows x86_64 lizard.exe or lz.exe
Linux x86_64 See the latest release
macOS Intel See the latest release

On Linux or macOS, install the latest release with one command:

curl -fsSL https://raw.githubusercontent.com/surjolive/LIZARD/master/install.sh | sh

The Unix installer places lz and lizard in ~/.local/bin. Set LIZARD_INSTALL_DIR to choose another location. Releases are built automatically by GitHub Actions whenever a v* tag is pushed.

Update, upgrade, and uninstall

Use the installed CLI to manage the runtime without downloading files manually:

# Check without changing anything
lz update --check

# Install the latest release
lz update

# Same operation as update
lz upgrade

# Remove LIZARD binaries and PATH entries
lz uninstall

The updater starts the platform installer in the background so the running executable can exit before its files are replaced. Open a new terminal after an update, then confirm the installed version with lz --version.

Windows release build

Run build.bat from Command Prompt or ./build.ps1 from PowerShell. The release binaries are written to release/windows-x64/lz.exe and release/windows-x64/lizard.exe.

The native Windows GNU target requires MinGW. The build scripts validate the Rust source first and then produce both CLI names from the same runtime.

Example

say "Hello World"

x = 10
y = 20

say x + y

if x < y
    say "LIZARD is simple and fast"

About

LIZARD is a native Rust programming language with a simple syntax, compiler runtime, CLI, REPL, standard library, terminal animation, and cross-platform releases.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages