The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

Vincent Hui (6) [Avatar] Offline
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

Best regards

Ivan Cukic (104) [Avatar] Offline
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.