Home

Awesome

<p align="center"> <img alt="Spice Logo" src="./docs/docs/static/logo_large_white_background_blur.png" height="230" /> <h3 align="center">Spice Programming Language</h3> <p align="center">Compiler and standard library for the Spice programming language.</p> <p align="center"> <a target="_blank" href="https://github.com/spicelang/spice/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/spicelang/spice?include_prereleases"></a> <a target="_blank" href="https://hub.docker.com/r/chillibits/spice"><img alt="Docker pulls" src="https://img.shields.io/docker/pulls/chillibits/spice"></a> <a target="_blank" href="https://github.com/spicelang/spice/actions/workflows/ci-cpp.yml"><img alt="CI status" src="https://github.com/spicelang/spice/actions/workflows/ci-cpp.yml/badge.svg"></a> <a target="_blank" href="https://github.com/spicelang/spice/actions/workflows/codeql-analysis.yml"><img alt="CodeQL status" src="https://github.com/spicelang/spice/actions/workflows/codeql-analysis.yml/badge.svg"></a> <a target="_blank" href="https://makeapullrequest.com"><img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"></a> <a target="_blank" href="./LICENSE"><img alt="License" src="https://img.shields.io/github/license/spicelang/spice"></a> <a target="_blank" href="https://discord.gg/D6sCsJyWPg"><img alt="Discord server" src="https://dcbadge.vercel.app/api/server/D6sCsJyWPg?style=flat"></a> </p> </p>

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! ⭐

:warning: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.

Documentation

Please visit the documentation at spicelang.com. <br> We also have a Spice playground where you can try things: spice.compiler-explorer.com <br> Code coverage can be found at coverage.spicelang.com.

Supported host systems & file downloads

There are downloadable packages available for all supported platforms:

Platformamd64arm64
Alpine (apk)downloaddownload
CentOS (rpm)downloaddownload
Debian (deb)downloaddownload
Fedora (rpm)downloaddownload
Raspbian (deb)downloaddownload
Ubuntu (deb)downloaddownload
Windows Installer (msi)download-
Windows Portable (zip)download-
MacOS / Darwin (tar.gz)downloaddownload

Setup guide for contributors

Clone the project

git clone https://github.com/spicelang/spice.git
cd spice

Setup dev environment

There is a batch/shell script called dev-setup to help you with that. It will do the following things:

Use this command to run it:

# Linux
./dev-setup.sh
# Windows
.\dev-setup.bat

Re-build Spice

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.

Available target platforms

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

Contribute to the project

If you want to contribute to this project, please ensure you comply with the contribution guidelines.

© ChilliBits 2021-2024