Applied functional programming in C++

Doctoral candidate (Ph.D.c.) at the Computer Science department of the Faculty of Mathematics, University of Belgrade with main research revolving around the programming language design.

Have been a long time KDE contributor mainly working on the Plasma workspace, and lower-level frameworks for tracking and managing user actions. Maintainer of KActivities, Contour daemon and Lancelot.

What is functional programming and how far is STL from being functional, what is the relation between functional and generic programming

Functional objects in C++, callables and std::invoke

Lazy evaluation, lazy algorithms and ranges

Creating new language constructs on the library level

Generic programming and template constraints using void_t

Monads: optional, expected<T, E>, future, ...

Monads: coroutines in C++ as a special syntax for handling monads

Implementing programs without mutable state

I could provide a VirtualBox image with the latest GCC and Clang so that we have the same environment when working.
Otherwise, the prerequisites would be the latest released GCC, Clang and Qt (just in case).

As for the knowledge, it is enough to say it is for C++ professionals - so not for beginners.