Compiler and standard library for the Spice programming language.
This is the home repo of the Spice programming language. Spice is a compiled language which sets a focus on performance and practicality. It is considered as a systems language, which means it is especially useful to write cli tools or device drivers. Spice supports cross-compilation to all target platforms, listed below.
If you like Spice, please consider a GitHub star! ⭐
| The compiler of the Spice language is still in alpha stages and under development. Please note that code may behave differently in the future or even break due to the volatility of the compiler. |
|---|
Please visit the documentation at spicelang.com.
We also have a Spice playground where you can try things: spice.compiler-explorer.com
Code coverage can be found at coverage.spicelang.com.
There are downloadable packages available for all supported platforms:
| Platform | amd64 | arm64 |
|---|---|---|
| Alpine (apk) | download | download |
| CentOS (rpm) | download | download |
| Debian (deb) | download | download |
| Fedora (rpm) | download | download |
| Raspbian (deb) | download | download |
| Ubuntu (deb) | download | download |
| Windows Installer (msi) | download | - |
| Windows Portable (zip) | download | - |
| MacOS / Darwin (tar.gz) | download | download |
git clone https://github.com/spicelang/spice.git
cd spiceThere is a batch/shell script called dev-setup to help you with that. It will do the following things:
- Make sure you have all dependencies
- Clone and build the required LLVM version to the
llvmsubdirectory - Download all required third-party libs to the
libsubdirectory - Build Spice for the first time into the
binsubdirectory
Use this command to run it:
# Linux
./dev-setup.sh
# Windows
.\dev-setup.batThere is also a batch/shell script to rebuild Spice. Use the following command to run it:
# Linux
./build.sh
# Windows
.\build.batYou can find the build output in the bin subdirectory.
Currently, Spice only offers stable support for linux/x86_64, linux/aarch64 and windows/x86_64. But you can try to compile to the following architectures without any stability promises:
aarch64, amdgpu, armv5, armv6, armv7, avr, bpf, hexagon, lanai, loongarch, mips, msp430, nvptx,
powerpc, riscv, sparc, systemz, ve, webassembly, x86, x86_64, xcore
If you want to contribute to this project, please ensure you comply with the contribution guidelines.
© ChilliBits 2021-2025