🌱 Compiler, assembler and linker for a modern programming language.
Find a file
2025-03-07 11:39:13 +01:00
docs Updated readme 2025-03-06 17:05:33 +01:00
examples Added placeholders for type casts 2025-02-27 00:18:34 +01:00
lib Implemented more arm64 instructions 2025-03-06 23:13:14 +01:00
src Implemented position independent addresses for x86 2025-03-07 11:39:13 +01:00
tests Implemented parameter passing for function pointers 2025-03-03 14:32:11 +01:00
.gitignore Initial commit 2023-10-17 11:06:14 +02:00
go.mod Updated module path 2025-02-25 17:16:09 +01:00
go.sum Updated module path 2025-02-25 17:16:09 +01:00
main.go Updated module path 2025-02-25 17:16:09 +01:00

q

A programming language that quickly compiles to machine code without gigantic dependencies like LLVM.

Goals

  • Fast compilation
  • High performance
  • Small executables
  • Zero dependencies

Installation

git clone https://git.urbach.dev/cli/q
cd q
go build

Either use ./q from the build directory or get access to the shorter q in any directory with ln -s $PWD/q ~/.local/bin/q.

Usage

q run examples/hello

You can take a look at the examples.

Tests

go run gotest.tools/gotestsum@latest

This will run over 350 tests in various categories.

Platforms

You can cross-compile executables for Linux, Mac and Windows.

q build examples/hello --os linux
q build examples/hello --os mac
q build examples/hello --os windows

Status

q is under heavy development and not ready for production yet. Feel free to get in touch if you are interested in helping out.

The biggest obstacle right now is the lack of funding. You can help by donating via Kofi or Open Collective.

License

Please see the license documentation.

© 2023 Eduard Urbach