Simplify and Secure Equation Systems with Type-Driven Development

Lea is a researcher working on an autonomous ship project. She needs to write complex dynamical equations to model the ship movement, but she keeps making errors that cause bugs and jeopardize the project.

She decides to use template metaprogramming and constexpr to build a compile-time library that can catch these errors and simplify the equation writing.

In this talk, you will learn how Lea explores features of C++, such as strong types, metaprogramming and tuple algorithms, to create a library that can automatically map types to indices.

This mapping enables her to write nonlinear equation systems with meaningful names. It makes it even possible to build up libraries of individual systems that can be combined at compile-time.

You will also see how Lea faces the challenges of design and implementation in the realm of metaprogramming. Will she succeed in her quest? Will the ship sail safely? And will it be worth the effort? Come and find out.

Image

Arne Berger

Arne (he/him) is a C++ developer at Bruker Daltonics, where he creates control software for mass spectrometry devices. He has a background in optimization and optimal control, having participated in various research projects for over 7 years. Arne is a clean code enthusiast who strives to design software libraries that prevent common issues and improve code quality.

When

July 20-23, 2025

LinkedIn

CppNorth Group