# 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

```shell
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

```shell
q run examples/hello
```

You can take a look at the [examples](../examples).

## Tests

```shell
go run gotest.tools/gotestsum@latest
```

This will run over 400 [tests](../tests) in various categories.

## Platforms

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

```shell
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](https://urbach.dev/contact) if you are interested in helping out.

The biggest obstacle right now is the lack of funding. You can help by donating via [Kofi](https://ko-fi.com/akyoto) or [Open Collective](https://opencollective.com/qlang).

## License

Please see the [license documentation](https://urbach.dev/license).

## Copyright

© 2023 Eduard Urbach