Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work. Learn more →
Top 13 C++ Functional programming Projects
-
Project mention: Why is the "minimal" official docker nix image over 700M?(`/nix/store` won't free old packages?) | reddit.com/r/NixOS | 2023-03-31
Is https://github.com/NixOS/nix/blob/master/docker.nix where it is built from? At least the package list matches https://nixos.org/manual/nix/stable/installation/installing-docker.html
-
Project mention: Ask HN: What audio/sound-related OSS projects can I contribute to? | news.ycombinator.com | 2023-03-22
I heard of https://github.com/grame-cncm/faust a while back, probably via HN. It looks interesting and actively maintained, but I didn’t get a chance to play with it. There are many other libraries listed on GitHub awesome lists such as this one: https://github.com/ad-si/awesome-music-production#libraries
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
You can get a feel for it on its api search site: as an example, enter these queries:
-
I wonder if Jank [1] could be such a Lisp? I haven't played around with it, but I really like the idea and would love to see it get more traction.
-
lager
C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++
Project mention: HikoGUI v0.7.0, A fast desktop application GUI library in C++20. (BSL license) | reddit.com/r/cpp | 2022-10-17observer: I changed how observer<> works, this is basically a template-class which observes a value and then calls a registered callback on modification. It can now create a sub-observer<> from a member variable of the value it observers. This makes it possible for widgets to be composable. This is based loosely on lager's lenses and cursors.
-
a prime example of how modern c++ simplified things: “Compose” in hof spans hundreds of lines of code (and needs inclusion of library headers and utilities) https://github.com/boostorg/hof/blob/develop/include/boost/hof/compose.hpp . Just a reminder of what we had to go through very recently to do something that’s now doable in ~15 lines of vanilla C++ . Mad respect for Paul Fultz.
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
lift
constexpr C++17 library for simplifying higher order functions in application code (by rollbear)
-
Project mention: Chromium accepting Rust in a clear move to copy what Mozilla have done, replace C++ source code | reddit.com/r/cpp | 2023-01-12
Yeah, C++ supports higher kinded types through template templates (I'm not sure why the other poster said it doesn't), however it quickly becomes messy and impractical. Here's a cursed library that attempts to support Haskell-style programming in C++. Here's an example where they implement a monad transformer using the only example of a template template template that I have ever seen in the wild.
-
-
-
For those interested, the code is here: https://github.com/lac-dcc/wyvern
-
C++ Functional programming related posts
- Why is the "minimal" official docker nix image over 700M?(`/nix/store` won't free old packages?)
- Force system.autoUpgrade to use private ssh key for pulling flake
- Favourite package manager
- Moving stuff around with Nix
- Ask HN: Where to Start Contributing OSS?
- Anduril - Hiring Software Engineers - FPGA
- Mi az a NixOS?
-
A note from our sponsor - Sonar
www.sonarsource.com | 31 Mar 2023
Index
What are some of the best open-source Functional programming projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | nix | 7,790 |
2 | faust | 2,116 |
3 | FunctionalPlus | 1,782 |
4 | jank | 1,009 |
5 | lager | 603 |
6 | hof | 488 |
7 | rangeless | 184 |
8 | lift | 178 |
9 | hspp | 141 |
10 | egel | 70 |
11 | recursive-variant | 66 |
12 | wyvern | 44 |
13 | libletlib | 9 |