85 lines
1.6 KiB
Markdown

# q
A programming language that compiles down to machine code.
## Features
- Fast compilation
- High performance
- Small executables
- Zero dependencies
## Installation
```shell
git clone https://git.akyoto.dev/cli/q
cd q
go build
```
This will place the compiler inside the repository.
Either use `./q` for the following examples or get access to the shorter `q` in any directory via symlink:
```shell
ln -s $PWD/q ~/.local/bin/q
```
This assumes that your shell loads `~/.local/bin`.
## Usage
```shell
q [command] [options]
```
The `build` command creates an executable:
```shell
q build examples/hello
```
The `run` command does everything `build` does but also executes it:
```shell
q run examples/hello
```
You don't have to use physical directories, it's perfectly valid to use a list of files:
```shell
q build hello.q world.q
```
To show verbose compiler output use `-v` or `--verbose`:
```shell
q build examples/hello -v
```
For more information see `q help`.
## 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://akyoto.dev/contact) if you are interested in helping out.
The biggest obstacle right now is the lack of funding. If you want to help out financially you can [donate towards the project](https://en.liberapay.com/akyoto).
## License
Please see the [license documentation](https://akyoto.dev/license).
## Copyright
© 2023 Eduard Urbach