Впервые представлен широкой публике язык программирования Hare, который разрабатывает Дрю ДеВолт (автор Sway и SourceHut) со своей командой последние пару лет.
Hare — язык для системного программирования с минималистичным рантаймом, статической типизацией и ручным управлением памятью.
Исходный код компилятора предоставляется под лицензией GPLv3, а для стандартной библиотеки под лицензией MPL (Mozilla Public License). Компилятор Hare не основан на LLVM или GCC, а использует легковесный qbe. Программы на Hare не линкуются с libc по умолчанию.
На данный момент заявлена поддержка архитектур x86_64, aarch64 и riscv64, а также операционных систем Linux и FreeBSD. Поддержкой несвободных платформ команда заниматься не намеревается и предлагает это делать сторонним разработчикам, благо язык хорошо стандартизован.
На Hare уже есть написанные проекты; например, микроядро Helios.
Пример кода:
use crypto::sha256;
use encoding::hex;
use fmt;
use hash;
use io;
use os;
export fn main() void = {
const hash = sha256::sha256();
const file = os::open("main.ha")!;
defer io::close(file);
io::copy(&hash, file)!;
let sum: [sha256::SIZE]u8 = [0...];
hash::sum(&hash, sum);
hex::encode(os::stdout, sum)!;
fmt::println()!;
};
>>> Подробности