Project Library
This page is an incomplete collection of some projects written in Hare. Feel free to submit your own by sending a patch to the hare-dev mailing list.
Audio
- ~vladh/hare-pipewire: Pipewire bindings
Algorithms
- ~pierrec/hare-lz4: LZ4 compression algorithm
- ~sircmpwn/hare-compress: Compression algorithms for Hare
Compilers and interpreters
- ~jummit/rekkyo: A Scheme implementation for embedding into / interacting with Hare projects
- ~nikita-popov/mice: Simple and small Scheme interpreter in Hare
- ~sebsite/hare-c: C lexer/parser/checker/compiler
- ~sircmpwn/habf: Hare Brainfuck compiler
- ~smlavine/bf: Modular Brainfuck interpreter written in Hare
Cryptography and hashing
- ~blainsmith/hare-seahash: Seahash hashing algorithm
- ~nlordell/hare-sha3: SHA3 implementation
- ~apreiml/hare-openpgp: OpenPGP implementation
Database tools
- ~blainsmith/hare-sqlite: SQLite client for Hare
- ~sircmpwn/hare-redis: Redis client for Hare
Date and time
- ~torresjrjr/hare-mbc: Martian Business Calendar
General applications
- ~illiliti/hare-keepass: KeePass library & utility
- ~sircmpwn/himitsu: A secret storage system
Graphics, 2D
- ~sircmpwn/hare-vec: Vector graphics library for Hare
- ~sircmpwn/hare-wayland: Wayland client & server implementation for Hare
- ~sircmpwn/pixbuf: Pixel buffers for Hare
- ~sircmpwn/tetrominoes: Tetromino game
- ~une/hare-cairo: Cairo bindings for Hare
- ~vladh/hare-freetype2: Hare freetype2 bindings
- ~stacyharper/hare-xkb: Hare xkbcommon bindings
- ~vladh/hello-hare-wl: A Hare 2D graphics demo
Graphics, 3D
- ~bitfehler/hare-lawa: A complete example of a Vulkan rendering displayed in a Wayland window
- ~evantj/hare-raylib: raylib bindings for Hare
- ~sircmpwn/hare-sdl2: SDL2 bindings for Hare
- ~turminal/raytracing: A simple ray tracer in Hare
- ~vladh/glad: Fork of https://github.com/Dav1dde/glad with Hare support
- ~vladh/hare-gl: OpenGL bindings for Hare
- ~vladh/hare-glm: An OpenGL-compatible linear algebra library for Hare
- ~vladh/hare-hazel: A simple 3D game engine written from scratch in Hare
- ~vladh/hare-obj: OBJ file parser for Hare
- ~vladh/hare-vulkan-hello-world: A simple demo of Hare’s Vulkan bindings
- ~vladh/hare-vulkan: Vulkan bindings for Hare
- ~vladh/starfield: The Windows 3.1 “starfield” screensaver in Hare
GUI
- ~renart/hare-bemenu: Hare bindings for bemenu
- ~yerinalexey/hare-gi: GTK bindings and GObject Introspection bindings generator for Hare
- ~yerinalexey/hare-libui: Work-in-progress Hare bindings for the libui library
Hare language utilities
- ~roselandgoose/gen_enum_strs: A Hare
fn $enum_to_str($enum) str
code generator - ~yerinalexey/afl_harec: Hare instrumentation for AFL
- ~yerinalexey/hare-annotate: A library for implementing code generators
Hare LSP servers
- ~jfreymuth/hare-ls: hare-ls is a language server for Hare
- ~tomleb/harepls: A LSP server for the Hare language
Logging and metrics
- ~blainsmith/hare-clrfmt: ANSI colorized text in the terminal
- ~blainsmith/hare-logfmt: A logfmt formatter for log::logger
- ~blainsmith/hare-prometheus: Prometheus metrics
Low-level primitives
- ~illiliti/hare-atomics: Atomic operations
Machine learning
- ~dvshkn/llama2.ha: Llama 2 inference in pure Hare (port of llama2.c)
- ~vladh/hare-neural: Basic tools for working with neural networks in Hare
Math
- ~smlavine/quadratic: A simple command-line quadratic formula solver
- ~yerinalexey/csq: A calculator for common fractions
- ~miasb/prng_hare: Non-cryptographic pseudo random number generators for hare
Networking
- ~apreiml/hare-tls: Hare TLS library
- ~bitfehler/hare-tftp: TFTP library/client/server
- ~bitfehler/pawdns: A suite of DNS tools written in Hare
- ~blainsmith/hare-icmp: Hare ICMP library
- ~illiliti/hare-dnscrypt: dnscrypt client & server
- ~sircmpwn/btqd: Bittorrent queue daemon
- ~sircmpwn/echo: A TCP echo server written with Hare and iobus
- ~sircmpwn/hare-irc: net::irc for Hare
- ~sircmpwn/harebot: IRC bot for the #hare channel on libera.chat
- ~sircmpwn/toothbrush: A finger server and client
Operating systems
- ~bitfehler/hare-netlink: Native Hare access to the Linux netlink API
- ~sircmpwn/hare-linux: Extended support for Linux
- ~sircmpwn/hare-virt: hare-virt provides hypervisor support for Hare programs
- ~sircmpwn/helios: An experimental microkernel
Parsers and file format utilities
- ~blainsmith/hare-csv: CSV reading and writing support for Hare
- ~chrisppy/hare-atom: atom implementation for Hare
- ~chrisppy/hare-rss: rss implementation for Hare
- ~chrisppy/hare-scfg: A Hare library for a simple configuration file format
- ~ecs/hare-stl: STL implementation for Hare
- ~jfentker/hare-csv: CSV support for Hare
- ~kaathewise/hare-regex: Hare regex engine with wider functionality
- ~lunacb/hare-toml: TOML configuration format support
- ~phw/hare-discid: Hare bindings for MusicBrainz libdiscid
- ~pierrec/hare-bmp: BMP lossless image format
- ~pierrec/hare-qoi: QOI lossless image format
- ~sebsite/hare-wordexp-but-like-its-the-posix-version-implemented-in-hare-instead-of-using-the-system-shell: Hare-native POSIX wordexp implementation
- ~sircmpwn/hare-json: JSON support for Hare
- ~sircmpwn/hare-png: PNG implementation for Hare
- ~sircmpwn/hare-qoi: Quite OK image format for Hare
- ~sircmpwn/hare-xml: XML support for Hare
- ~vladh/hare-spapod: SPA POD format
- ~vladh/hare-wav: WAV file support
Utilities and system tools
- ~autumnull/haredo: A simple and unix-idiomatic build automator
- ~autumnull/straws: Like fortune(1) but not terrible
- ~autumnull/treecat: Serialize a directory to a tree diagram, and vice versa
- ~bitfehler/hare-fontconfig: Hare fontconfig bindings
- ~onemoresuza/rham: A repo herding tool
- ~sircmpwn/harsh: A Unix shell inspired by Plan 9’s rc
- ~sircmpwn/hautils: POSIX utilities implemented in Hare
- ~sircmpwn/scheduled: A daemon for scheduling tasks
- ~smlavine/onclick: Runs a command every time the terminal is clicked
- ~torresjrjr/dc: Tiny reverse polish desk calculator
- ~torresjrjr/ed: POSIX ed, written in Hare
- ~torresjrjr/entr: A utility which runs arbitrary commands when files change
- ~une/hare-sunrise: Runs a command at sunrise or sunset
- ~yerinalexey/box: Command line encryption utility
- ~yerinalexey/git-walk.ha: Hare implementation of git log/show commands
- ~yerinalexey/stopwatch: Terminal stopwatch program