Skip to content
akyotoPublic

About

🌱 A minimal programming language and compiler.

Topics

Resources

Contributing

Security policy

Stars

112 stars

Watchers

10 watching

Forks

Latest commit

 

History

1,164 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q logo

The Q Programming Language

Features · Quickstart · Examples · Links

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.

Links

Docs

Project

Editors

Community

Donate

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