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 spice
There 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
llvm
subdirectory - Download all required third-party libs to the
lib
subdirectory - Build Spice for the first time into the
bin
subdirectory
Use this command to run it:
# Linux
./dev-setup.sh
# Windows
.\dev-setup.bat
There is also a batch/shell script to rebuild Spice. Use the following command to run it:
# Linux
./build.sh
# Windows
.\build.bat
You 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-2024