🌱 Programming language that quickly compiles to machine code. [rewrite in progress]
|
||
---|---|---|
docs | ||
examples/hello | ||
lib | ||
src | ||
tests | ||
.gitignore | ||
go.mod | ||
go.sum | ||
main.go |
Note
q
is under heavy development and not ready for production yet.Feel free to get in touch if you are interested in helping out.
⚡️ Installation
git clone https://git.urbach.dev/cli/q
cd q
go build
To symlink the compiler as q
:
ln -s $PWD/q ~/.local/bin/q
🚀 Usage
q build examples/hello
./examples/hello/hello
🚦 Tests
go run gotest.tools/gotestsum@latest
💻 Platforms
arm64 | x86-64 | |
---|---|---|
Linux | ✔️ | ✔️ |
Mac | ✔️* | ✔️ |
Windows | ✔️* | ✔️ |
Those marked with a star are supported in theory but there are no developer machines to test them.
🔑 Security
PIE
All executables are built as Position Independent Executables (PIE) supporting a dynamic base address.
Memory pages
Code and data are separated into different memory pages and loaded with different access permissions.
Read | Execute | Write | |
---|---|---|---|
Code | ✔️ | ✔️ | ❌ |
Data | ✔️ | ❌ | ❌ |
🧾 License
Please see the license documentation.
🧔 Copyright
© 2025 Eduard Urbach