85 lines
1.6 KiB
Markdown
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
|