patterns
This is an experimental library that has evolved to P1371, proposed for C++23. (by mpark)
talking-async
Example programs for Talking Async videos (by chriskohlhoff)
patterns | talking-async | |
---|---|---|
8 | 1 | |
643 | 161 | |
- | - | |
0.0 | 0.0 | |
over 4 years ago | about 1 year ago | |
C++ | C++ | |
Boost Software License 1.0 | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
patterns
Posts with mentions or reviews of patterns.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-31.
-
Language design bullshitters
std::visit, std::holds_alternative, std::get, ... and this library disagree with you.
-
A new privilege escalation vulnerability in the Linux kernel, enables a local attacker to execute malware on vulnerable systems
I agree, good syntax makes it better, and even with something pretty good by C++ standards Rust still feels a lot less busy (interestingly the library I linked is the precursor to a candidate for addition to C++23).
-
C++23: The <expected> header; expect the unexpected
mpark/patterns
-
Python switch statement ftw (finally)
What? C++ will get pattern matching even later than python (C++23)
-
Was your first day with Python just like that?
Match...case is not a replacement to switch statements. It's something called Pattern Matching. It's pretty common in functional languages (Haskell had pattern matching since forever) but it's becoming more mainstream nowadays. Rust has pattern matching and there are proposals to add pattern matching to C++ and JavaScript.
-
Talking Async Ep1: Why C++20 is the Awesomest Language for Network Programming
The variant approach was chosen with half an eye towards the pattern matching proposal. For example:
-
match(it): A light-weight header-only pattern-matching library for C++17.
So is this just a copy of https://github.com/mpark/patterns or what?
-
Cpp be kinda a asshole about memory
What C++ does not do but Rust does, is functional-style pattern matching of these options, as seen in languages like Scala (2004), Haskell (1990) and Standard ML (1983) since seemingly forever. Worth noting is that there are some pretty impressive libraries out there that does this for C++ too, and it's currently a proposal for C++23.
talking-async
Posts with mentions or reviews of talking-async.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-11.
-
Talking Async Ep1: Why C++20 is the Awesomest Language for Network Programming
The example programs shown in this video are available at https://github.com/chriskohlhoff/talking-async
What are some alternatives?
When comparing patterns and talking-async you can also consider the following projects:
cling - The cling C++ interpreter
proposal-pattern-matching - Pattern matching syntax for ECMAScript
scelta - (experimental) Syntactic sugar for variant and optional types.
C11parser - A correct C89/C90/C99/C11/C18 parser written using Menhir and OCaml