Vincent Hui (5) [Avatar] Offline
#1
I think it is important to know how to use existing C++ functional libraries so that we will not reinvent the wheel and save our time. Can one more chapter be added to introduce existing C++ functional libraries and tell us how to develop applications based on these libraries?
I know there are some existing C++ functional libraries

https://github.com/BartoszMilewski/Okasaki
https://github.com/arximboldi/immer
https://github.com/qbeon/QuickStreams
https://github.com/Reactive-Extensions/RxCpp


Best regards

Vincent
Ivan Cukic (94) [Avatar] Offline
#2
Hi Vincent,

The problem with covering libraries (I've had complaints that I already covered too many and that I should instead focus only on what C++ supports today) is that there are many libraries out there that do similar things in different ways, or with a different syntax.

I tried to focus on those that I consider well established, or that are meant to serve as a test-bed for future extensions of the C++ standard (like range-v3).

The libraries you mentioned are quite cool (I advise you to check out FTL as well - I was on the verge to cover it in the chapter on monads) - some are more meant as a demonstration (Bartosz's Okasaki) while others are aiming to be a proper 'professional' libraries. I have high hopes for Immer.

My main aim is to explain the concepts, after which using libraries like these should be easier. This is not meant to be a reference book (this is something I was told when Manning asked me to write FPinC++) which it would be if I focussed more on covering specific libraries in detail.

With that said, I do think that the material on FP libraries for C++ could be useful. Maybe another book, or a series of blog posts on that topic could be the solution.

Cheers,
Ivan