Functional C++ for Fun & Profit by Phil Nash on Tour

This is a past event

32 people went

Location image of event venue


C++11 gave us lambdas in the language for the first time (if you ignore boost::lambda) - so it's a functional language now, right? There's a bit more to functional programming than having first class function objects. I'd even argue we still don't quite have that. But does that mean we can't do functional programming in C++? Yes. No. Maybe... First we have to define what functional programming actually is - and it may not be quite what you think. Then we need to see what valuable ideas have come out of the functional approach to software design and which ones we can use in C++ to good effect. In the end we'll see that, while not strictly a functional programming language, we can get quite a long way with immutable data types, persistent data structures, atomic references, and - if you're not watching carefully - we might even throw the M word in there!

About our Speaker
Phil is a Developer Advocate for C++, Objective-C and Swift tools at JetBrains ( Prior to that he worked in as diverse fields as: finance, agile coaching and iOS development. A long time C++ developer he also has his feet in C#, F#, Objective-C and Swift - as well as dabbling in other languages. He is the author of several open source projects - most notably Catch ( a C++-native test framework.

All Welcome
This event is free due to the kind support of our ACCU ( and Sponsors. ACCU ( and non-members are all welcome so spread the message far and wide. I will have ACCU Magazines ( to give away free to new attendees.

This event is sponsored by Oxford Computer Consultants ( and JetBrains (

JetBrains ( has donated a 1 year single personal use license to any one of the JetBrains Toolbox products ( be the prize in the meeting's raffle. Phil might have some other goodies to give away too.

ACCU 2017 Conference Call for Sessions
For details on submitting a session go to ACCU 2017 Conference (

​Nigel Lester
ACCU - Professionalism in Programming - (