Life & fun · alternatives · 2026
24 alternatives to Match(it): A C++17 pattern-matching library with lots of good stuffs
A lightweight single-header pattern-matching library for C++17 with macro-free APIs. Try it at https://godbolt.org/z/8YMr8Kz8j
Match(it) is a single-header C++17 library that enables pattern matching without macros. Designed for C++ developers, it provides a lightweight approach to pattern matching through a macro-free API. The library is… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Match(it): A C++17 pattern-matching library with lots of good stuffs launched in 2022; newer entries below may have overtaken it.
- 1

Howdy HN, as part of my ongoing programming language experiments I've ended up creating my own C++20 lexing and parsing library of sorts. Matcheroni is an alternative to parser generators and regular expressions that uses trees of C++ templates to implement highly customizable lexers and parsers that have minimal impact on build times or binary sizes, while still remaining comparable in performance to Boost regular expressions. The repo includes two example projects - a simple regex parser in ~300 heavily documented lines of code, and a much larger but not quite finished C99 lexer and…
2023 · github.com · its alternatives →
- 2

Morning HN. I often found myself wondering "how much does this code segment take in terms of total runtime" and it's often quite annoying to figure out with optimizations enabled, especially when working on something new or testing someone else's implementation without the proper tooling set up. Wanted to have a single include lib that would allow us to write something like: ``` PROFILE("Loop 1") for (...) // some work ``` and have the next expression automatically record time & dump results to a table. Wrote a few macros to do exactly that a few months back, but they were…
2025 · github.com · its alternatives →
- 3

Powerful pattern matching for Javascript. Contribute to natefaubion/matches.js development by creating an account on GitHub.
2012 · github.com · its alternatives →
- 4

I've created cppmatch, a lightweight, header-only C++ library that brings Rust-inspired pattern matching and error handling to C++. It tries to imitate the functionality of the questionmark (?) operator in C++ by using a macro that uses the gcc extension https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html This allows to create exceptionless code with non-intrusive error-as-value that unlike Exceptions, makes it clear which kinds of error a function can generate and forces you to handle (or ignore) them. The ? operator translates to *expect* To handle the errors I…
2025 · github.com · its alternatives →
- 5

Meta programming utilities for C++14. Merged in matt-42/lithium - matt-42/iod
2014 · github.com · its alternatives →
- 6

Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows - drogonframework/drogon
2019 · github.com · its alternatives →
- 7

Scala-like pattern matching for Java 8. Contribute to johnlcox/motif development by creating an account on GitHub.
2015 · github.com · its alternatives →
- 8
Regex Cheatsheet▲499A modern regular expression playground with live matching, visual railroad diagrams, rich notes, and easy sharing.
2020 · ihateregex.io · its alternatives →
- 9

Go library that provides fuzzy string matching optimized for filenames and code symbols in the style of Sublime Text, VSCode, IntelliJ IDEA et al. - sahilm/fuzzy
2018 · github.com · its alternatives →
- 10

A C++ HTML template engine that uses compile time HTML parsing - rep-movsd/see-phit
2017 · github.com · its alternatives →
- 11

💥 Fast State-of-the-Art Tokenizers optimized for Research and Production - huggingface/tokenizers
2020 · github.com · its alternatives →
- 12

This C library is part of a main project aimed at providing a reactive key-value (KV) database. The data is typed (numbers, strings, dates, or booleans) and can include formulas with references to other entries. Clients connected to this database receive a real-time data stream with updates to the subscribed keys, allowing them to react to changes and their dependencies. Essentially, it’s like building a distributed Excel, where data and formulas dynamically update across the system. I couldn’t find any libraries that offered the full set of features I needed for evaluating expressions, so I…
2024 · github.com · its alternatives →
- 13

Hi HN! Korean high school senior here, about to start CS in college. I built a browser engine from scratch in C++ to understand how browsers work. First time using C++, 8 weeks of development, lots of debugging—but it works! Features: - HTML parsing with error correction - CSS cascade and inheritance - Block/inline layout engine - Async image loading + caching - Link navigation + history Hardest parts: - String parsing(html, css) - Rendering - Image Caching & Layout Reflowing What I learned (beyond code): - Systematic debugging is crucial - Ship with known bugs rather than chase…
Jan 2026 · github.com · its alternatives →
- 14
Regex library▲276A curated list of most commonly used regular expressions
2022 · uibakery.io · its alternatives →
- 15

The fastest feature-rich C++11/14/17/20/23 single-header testing framework - doctest/doctest
2016 · github.com · its alternatives →
- 16

Rapid fuzzy string matching in Python using various string metrics - rapidfuzz/RapidFuzz
2020 · github.com · its alternatives →
- 17

A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead - matt-42/silicon
2015 · github.com · its alternatives →
- 18CD
2012 · scattered-thoughts.net · its alternatives →
- 19

2018 · github.com · its alternatives →
- 20

Over the last few years, I've needed an easy way to quickly serialise and deserialise various network protocols safely and efficiently. Most of the libraries that existed at the time were either quite heavy, had less than stellar performance, or were an abstraction level above what I was looking for. I decided to put together my own class to do the job, starting with an easy, low-overhead way to move bytes in and out of arbitrary buffers. Along the way, it picked up useful bits and pieces, such as buffer structures and allocators that made the byte shuffling faster, often being able to do it…
2025 · github.com · its alternatives →
- 21

Hello Hacker News. I’m Martin, a graduate student from Prague, and I’ve been working on Coros, a C++ library for task-based parallelism. After spending some time with OpenMP and oneTBB, I wanted to try building a library using modern features from the C++ standard library. I’ve used coroutines for task encapsulation and C++23 expected for exception handling, while trying to maintain good performance. Additionally, I’ve implemented monadic-like behavior to allow easy chaining of tasks, similar to the monadic operations in std::expected. You can check out the project here:…
2024 · github.com · its alternatives →
- 22

- 23

⛳ Simple, extensible, header-only C++20 argument parser released into the public domain. - sailormoon/flags
2016 · github.com · its alternatives →
- 24

Morning HN. Random number generation feels is a somewhat underrepresented topic in the C++ realm. There is a lot of questionable info about it found online and even the standard library is quite behind the times in terms of it's algorithms. It suffers from trying to accommodate sometimes impractical standard requirements and has several ways of getting significantly bad statistical results. This leaves a lot easily achievable performance & quality on the table. So, being a mathematician who mostly works with stochastic models and wants these models to run fast and well, I embarked on a…
2025 · github.com · its alternatives →
Also compare
- Matcheroni, a tiny C++20 header library for building lexers/parsers alternatives
- Single-Header Profiler for C++17 alternatives
- Matches.js -- Powerful Pattern Matching for Javascript alternatives
- Cppmatch – Rust-Like Pattern Matching and Error Handling for C++ alternatives
- A Fast, Malloc-Free C++14 Json Parser and Encoder alternatives
- Drogon – A C++14/17 based high performance HTTP application framework alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →