Metaprogramming with Boost.Hana: Unifying Boost.Fusion and Boost.MPL
Presentation Slides, PDFs, Source Code and other presenter materials are available at:https://github.com/CppCon/CppCon2014
Template metaprogramming sucks. No, seriously; you might like the imposed purely functional paradigm, but not the templates themselves. While C++11 has made our life easier, even simple metaprograms are often hard to write, impossible to maintain and slow to compile; we need better abstractions. In this talk, I will present Boost.Hana, an experimental C++14 library for heterogeneous computation. The library takes metaprogramming to a whole new level of expressiveness by unifying the well-known Boost.MPL and Boost.Fusion libraries under a single generic, purely functional interface. The library incorporates some of the most recent advances in C++ metaprogramming; I will give an overview of the most interesting implementation techniques used internally. Finally, I will show concrete ways to use the library so you, as a developer, can write less template black magic, increase your productivity and spend less time in coffee breaks waiting for the compiler (sorry).
Louis is a programming enthusiast and math student living in Quebec City, Canada. He focuses mainly on metaprogramming and functional programming in C++ or other languages. Recently, he has been looking at ways to make C++ metaprogramming more enjoyable by combining C++11/1y techniques with functional programming concepts. In particular, he is working on this very topic as a GSoC student with Boost for the summer of 2014.Website: http://ldionne.com
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com