Skip to content

Latest commit

 

History

1,110 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q logo

The Q Programming Language

Features · Quickstart · Examples · Docs

A minimal, dependency-free language that compiles to tiny, fast machine code.

Features

  • 🚄 High performance - comparable to Rust and Zig.
  • 🚀 Fast compilation - 5-10x faster than most compilers.
  • 📦 Lightweight executables - 1 KB for simple programs.
  • 🔍 Static analysis - integrated linter catches common mistakes.
  • 🛡️ Pointer safety - pointers cannot be nil.
  • ♻️ Resource safety - use-after-free is a compile error.
  • 🧠 Simple syntax - control flow is easily understood.
  • 💬 Friendly errors - clear and concise compiler messages.
  • 🌐 General purpose - apps, servers, games, kernels, etc.
  • 🧩 Multiple architectures - x86-64 and arm64.
  • 🖥️ Multiple platforms - Linux, Mac and Windows.
  • 📖 Readable source - less than 1% of LLVM's code size.
  • 🧘 Zero dependencies - no external tools or libraries.

Quickstart

Warning

Q is in early development. Design and implementation are changing continuously.

Install

git clone https://git.urbach.dev/cli/q
cd q
go build
ln -s $PWD/q ~/.local/bin/

Run

q examples/hello

Build

q build examples/hello

Cross-compile with -os:

q build examples/hello -os windows

Inspect

q ssa examples/hello   # SSA form
q asm examples/hello   # Assembly output

Examples

hello

import io

main() {
	io.write("Hello\n")
}

echo

echo() {
	buffer := new(byte, 4096)

	loop {
		n, _ := io.read(buffer)

		if n == 0 {
			return
		}

		io.write(buffer[..n])
	}
}

fibonacci

fibonacci(n int) -> int {
	if n <= 1 {
		return n
	}

	return fibonacci(n - 1) + fibonacci(n - 2)
}

fizzbuzz

fizzbuzz(x int) {
	switch {
		x % 15 == 0 { io.write("FizzBuzz") }
		x % 5 == 0  { io.write("Buzz") }
		x % 3 == 0  { io.write("Fizz") }
		_           { io.write(x) }
	}
}

See more in the examples directory.

Docs

Community

Donate

License

See the license documentation.

Copyright

© 2025 Eduard Urbach

About

🌱 A minimal programming language and compiler.

Topics

Resources

Contributing

Security policy

Stars

112 stars

Watchers

10 watching

Forks

Contributors

Languages