Spice

Spice 0.29.2

Spice is a statically-typed, easy to use and compiled programming language. It supports cross-compilation and is especially useful for programming close to the system.

  • By ChilliBits
  • Open Source
  • Updated Oct 25, 2026
Download for Windows

About Spice

The Spice Programming Language is a compiled language, which can score with it's blazing fast execution time and the universal applicability.
Spice is inspired partially by Golang and C, but improves some things by abstraction which could impact ones productivity in a negative way.

What's new in 0.29.2

Changelog

  • f3d55fe: Bump the stage0 compiler to 0.29.1 (#1647) (@marcauberer)
  • c37858b: Submit WinGet manifest PRs from the spicelang/winget-pkgs fork (#1648) (@marcauberer)
  • d940484: Bump LLVM to 23.1.4 (#1649) (@marcauberer)
  • 3709eca: Make the std container APIs consistent and fix Deque element lifetimes (#1650) (@marcauberer)
  • 429b3b2: Reject calls through an interface, that return an interface by value (#1651) (@marcauberer)
  • b5c6e34: Let functions own and destruct their by-value struct params (#1652) (@marcauberer)
  • 01a6163: Declare functions on demand, when they are referenced as function pointers (#1653) (@marcauberer)
  • c3f18f1: Remove the unreachable covariant return thunk and fix stale comments (#1654) (@marcauberer)
  • 6e20004: Move temporaries into by-value params instead of copying them (#1655) (@marcauberer)
  • e71e3ab: Rename getFront/getBack of the linked lists to front/back (#1656) (@marcauberer)
  • bb471fb: Return the removed item from Vector.popBack (#1657) (@marcauberer)
  • 8de56ad: Use upsert for all maps and fix duplicate keys in Map.insert (#1658) (@marcauberer)
  • 65914fb: Allow assigning const values through non-const references (#1659) (@marcauberer)
  • d38add3: Reject const args for non-const pointer and reference params (#1660) (@marcauberer)
  • 4115fc2: Fix the warnings when building the compiler (#1661) (@marcauberer)
  • 18fb556: Leave link-only args out when compiling additional sources (#1662) (@marcauberer)
  • 890635f: Enforce const for struct variables and their fields (#1663) (@marcauberer)
  • ab429fa: Return a const node from downcast and add downcastMut (#1664) (@marcauberer)
  • 942c731: Reject const args for generic ref and ptr params with known T (#1665) (@marcauberer)
  • 5c2cba4: Reject non-constant global initializers instead of crashing (#1667) (@marcauberer)
  • 3eb9923: Store the compiler singletons in typed pointer globals (#1668) (@marcauberer)
  • d997c67: Skip emitting test functions when no test main is generated (#1669) (@marcauberer)
  • 1737b8c: Correct the attribute docs for external declarations (#1672) (@marcauberer)
  • a18a750: Support <filename>_<arch>.spice in import auto-resolution (#1674) (@marcauberer)
  • 0eb22a5: Add --no-red-zone and the core.compiler.redZone attribute (#1675) (@marcauberer)
  • 3264c00: Bump zensical from 0.0.70 to 0.0.71 in /docs (#1676) (@dependabot[bot])
  • d8345d2: Add --relocation-model and --code-model options (#1677) (@marcauberer) …

Full release notes »

Technical details

PublisherChilliBits
AuthorMarc Auberer
Version0.29.2
Release date2026-10-25
LicenseMIT
Installer typewix
Architecturex64
Package IDChilliBits.Spice

Links & install command

Install Spice from the command line with Windows Package Manager (winget):

winget install --id=ChilliBits.Spice -e

antlrchillibitsclicompilerdockerlanguagellvmprogramming-languagespice

Older versions

  • 0.29.1
  • 0.29.0
  • 0.28.2
  • 0.28.1
  • 0.28.0
  • 0.27.2
  • 0.27.1
  • 0.27.0
  • 0.26.0