29.06.2022

Доступен язык программирования Hare

Впервые представлен широкой публике язык программирования 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()!;
}; 

>>> Подробности

Источник.