D
Deleted member 70435
Guest
Drew DeVault, author of the Sway email client Aerc co-development SourceHut , introduced programming language Hare , which he and his team have been working on for the past two and a half years. Hare is touted as a systems programming similar to C but simpler than C. Of the key design principles of Hare, an orientation towards simplification and complete trust in the actions of the programmer (do exactly what is indicated, without initiative and implicit behavior), with auxiliary tools for identifying typical errors and problems, is declared. The source code for the compiler and toolkit is distributed under the GPLv3 license, and the standard library code under the MPL (Mozilla Public License). The first public release announced support for Linux and FreeBSD operating systems on x86_64, aarch64, and riscv64 platforms, as well as stand-alone use to run on top of hardware without an operating system. The plans mention support for NetBSD, OpenBSD, Illumos, Haiku and Plan 9 operating systems and ppc64le, i686 and arm32 platforms. The language uses manual memory management and a static type system, in which each variable must be explicitly assigned a specific type. A minimum runtime is attached to run the application. The language is optimized for low-level tasks such as developing operating systems, compilers, network applications, and system utilities that require maximum performance and full control over execution. A standard library of functions , providing access to the basic interfaces of the operating system, typical algorithms and implementations of protocols and formats. The library covers areas such as I/O, file manipulation, regular expressions, encryption, networking, time and date operations, access to generic Unix primitives (such as poll, fnmatch, and glob), parsing, and type checking. Separately, bindings are provided to access OpenGL , SDL2 and libui features . are mentioned as examples of projects written in Hare language Helios password manager Himitsu , raytracing ray tracing system bittorrent encryption program, box daemon btqd , scheduled (analogous to cron system), toothbrush (client and server for finger protocol) Of the plans for the future, the stabilization of the language specification and the composition of the standard library, the implementation of support for missing platforms and architectures, the addition of library functions to support TLS 1.2 and 1.3 are noted. Hare code example:
Code:
|