Applied functional programming in C+

Ivan Cukic

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

Here is 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.

Gold спонсоры

Информационные партнёры