Notice: Hare is a work in progress! It may be mature enough support your use-case, but there may also be some breaking changes between releases. Users are strongly encouraged to subscribe to hare-announce for details of breaking changes in each release.

Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software, and other low-level, high performance tasks.

use fmt;

export fn main() void = {
	const greetings = [
		"Hello, world!",
		"¡Hola Mundo!",
		"Γειά σου Κόσμε!",
		"Привет, мир!",
		"こんにちは世界!",
	];
	for (let i = 0z; i < len(greetings); i += 1) {
		fmt::println(greetings[i])!;
	};
};

Getting started

Read the installation steps to get Hare for your system, then read the tutorial. To see if Hare is available for your system, consult the supported platforms list.

Supporting Hare

Hare fits on a 3½" floppy disc, which are available for purchase.

We also have an Open Collective for donations and commercial sponsorships.