This is yet another blog about functional programming and c++.
Instead of explaining the concepts of functional programming, a task which has been done to death, I will be focusing on monads and other higher order concepts and how they can be used and implemented.
I will try and maintain compatibility with c++11 where possible, but with c++14 around the corner and some preliminary support, I will be taking advantage of the new features. Especially return type deduction which is incredibly valuable for the more esoteric concepts.
I’m also writing a library which will give an implementation of the contents of this blog, though it’s currently a work in progress.