A programming language for libraries translated to all the others
See the code
Write once. Compile to every language.
A programming language for problem solvers.
User Documentation • Quick Tour • Tutorial • Reference • Playground • Discord
Temper lets a developer or small team solve a problem once, for every programming language community.
It's a programming language designed for one purpose: to translate well to all the other languages.
It's for writing libraries, and supporting other programming language communities with idiomatic, semantically equivalent libraries.
Temper currently supports*:
Coming soon:
See also our target language list for version numbers and translation notes.
temper tagIf you'd like to contribute, we'd love to have you. See our contributing guidelines guide.
Temper's toolchain is written in Kotlin, a JVM language with enough meta-language goodies for compiler writing, and we use gradle for build automation.
(Temper integrates deeply with other toolchains, and has a lot of tests, so you need some other language's toolchains available to run the entire test suite. We have plans to containerize our test running to simplify this, but in the meantime, here are some things it helps to have installed locally on a dev machine.)
Prerequisites:
git clone https://github.com/temperlang/temper.git
cd temper
./gradlew cli:build
The Temper CLI will be available in cli/build/install/temper/bin/.
Clone this repository
Create a new directory:
# Or try: temper init -o hello
mkdir hello
cd hello
Create a file hello.temper:
export let greet(name: String): String {
"Hello, ${name}!"
}
Build for all default backends (i.e., target languages):
# Look under temper.out/
temper build
Use the generated library in your project.
For a complete walkthrough, see the Temper language documenation, especially the Quick Tour.
COPYRIGHT has the details.
tldr: code is dual licensed as Apache 2 or MIT; documentation as Creative Commons.
We use other programming language projects' logos and/or names with permission, but do not imply or assert any official relationship with or endorsement by those projects' contributors or sponsors. (We, the Temper project contributors, refer to those projects because we love them, as we love all programming languages, their contributors, and user communities.)
788 followers · starred Nov 2025
388 followers · starred Jul 2026
69 followers · starred Jul 2026
194 followers · starred Jul 2026
A programming language for libraries translated to all the others
See the code
Write once. Compile to every language.
A programming language for problem solvers.
User Documentation • Quick Tour • Tutorial • Reference • Playground • Discord
Temper lets a developer or small team solve a problem once, for every programming language community.
It's a programming language designed for one purpose: to translate well to all the other languages.
It's for writing libraries, and supporting other programming language communities with idiomatic, semantically equivalent libraries.
Temper currently supports*:
Coming soon:
See also our target language list for version numbers and translation notes.
temper tagIf you'd like to contribute, we'd love to have you. See our contributing guidelines guide.
Temper's toolchain is written in Kotlin, a JVM language with enough meta-language goodies for compiler writing, and we use gradle for build automation.
(Temper integrates deeply with other toolchains, and has a lot of tests, so you need some other language's toolchains available to run the entire test suite. We have plans to containerize our test running to simplify this, but in the meantime, here are some things it helps to have installed locally on a dev machine.)
Prerequisites:
git clone https://github.com/temperlang/temper.git
cd temper
./gradlew cli:build
The Temper CLI will be available in cli/build/install/temper/bin/.
Clone this repository
Create a new directory:
# Or try: temper init -o hello
mkdir hello
cd hello
Create a file hello.temper:
export let greet(name: String): String {
"Hello, ${name}!"
}
Build for all default backends (i.e., target languages):
# Look under temper.out/
temper build
Use the generated library in your project.
For a complete walkthrough, see the Temper language documenation, especially the Quick Tour.
COPYRIGHT has the details.
tldr: code is dual licensed as Apache 2 or MIT; documentation as Creative Commons.
We use other programming language projects' logos and/or names with permission, but do not imply or assert any official relationship with or endorsement by those projects' contributors or sponsors. (We, the Temper project contributors, refer to those projects because we love them, as we love all programming languages, their contributors, and user communities.)
788 followers · starred Nov 2025
388 followers · starred Jul 2026
69 followers · starred Jul 2026
194 followers · starred Jul 2026