I gave a talk about Functional Patterns in C++ at the meeting of
the Northwest C++
Users Group. It was a long talk, so the video is split into
three parts. Even though it was a presentation for C++ programmers,
I took a lot of inspiration from Haskell, but without the
mathematical background. From a C++ programmer's point of view,
Functors, Applicative Functors, Monoids, and Monads are just
patterns of code -- useful abstractions. I've been told that my
explanation of a monad using the example of asynchronous API made a
lot of sense and provided the right intuition for a lot of C++
programmers. Too bad C++ notation makes all those patterns barely
usable. The hope though is that the C++ Committee will consider
adding some syntactic sugar to the next version of C++, following
the example of F# and C#. One can always dream...
Here are the links to the videos:
The slides have more recent corrections and enhancements
compared to the videos.
You can also have a look at the source code.
Do you like this blog post and need help with DevOps, Rust or functional programming? Contact us.