Albite

About the name

Albite, formerly Tungsten by Spinning Cat Studios, is the same language under a new name. Releases up to and including 2.0-alpha were published as Tungsten; from the 2.0 beta on, every release is published as Albite.

Albite is named for a feldspar mineral: white, and harder than it looks.

Why the name changed

Another programming language already goes by the name Tungsten. The earlier Tungsten is a Spinning Cat Studios project, unrelated to the other language of that name. Two languages sharing a name confuses anyone searching for either, and risks a dispute that nobody wants. Renaming before the 2.0 beta, while the project is still small, is the proportionate fix.

Nothing about the language itself changed with the name: the same programs type-check, run and compile, and the same proofs are accepted.

What to change

WhatFormerly TungstenNow Albite
The compiler binarytungstenalbite
The bootstrap stagestungsten1, tungsten2, tungsten3, tungsten-bootstrapalbite1, albite2, albite3, albite-bootstrap
The Docker wrapper./tungsten-docker.sh./albite-docker.sh
The project filetungsten.tomlalbite.toml
Environment variablesTUNGSTEN_ARENA, TUNGSTEN_TERMINATIONALBITE_ARENA, ALBITE_TERMINATION
Crate namestungsten_core, tungsten_bootstrap, libtungsten_core.aalbite_core, albite_bootstrap, libalbite_core.a
The repositorygithub.com/Spinning-Cat-Studios/tungstengithub.com/albite-lang/albite
Source files.tg.tg — unchanged

The runtime’s C symbols keep their tg_ prefix (tg_string_length, tg_string_builder_*): it is part of the runtime ABI, not the language’s name.

A source file that compiled as Tungsten compiles as Albite without edits. Only scripts that name the binary, the environment variables or the crates need to change.

Where the old addresses go

The manual used to live at spinningcatstudios.com/tungsten/. Each of its pages forwards to its counterpart here, so old bookmarks and search results still land on the right page.

The old repository, github.com/Spinning-Cat-Studios/tungsten, stays up, and the tags of the releases published under the old name stay there: links to those release notes keep pointing at it. New releases are published to github.com/albite-lang/albite.

Next: Hello, world.