Geoffrey Romer

  • Software Engineer/Google

I'm a software engineer at Google, where I work on the Carbon project. I'm the lead designer for Carbon's support for sum types, subscripting, and variadics, among other things, and I've contributed extensively to the prototype Carbon interpreter. Prior to that I was a member of the C++ Libraries team, where I wrote Google's C++ concurrency guide, created the initial design for the Abseil hash framework, and authored the Core Coroutines C++ standard proposal. I'm also a co-owner of Google's C++ style guide.

Sessions

  • Generic Arity: Definition-Checked Variadics in Carbon

    Advanced
    Future C++

    In this talk, I will describe an approach to modeling variadic functions in the type system, by treating them as strongly typed functions that are generic over their arity, rather than as templates that are instantiated and then duck-typed. This forms the basis of the current proposed design for variadic functions in Carbon, an experimental C++ successor language. Variadic functions are functions that are generic with respect to the arity (number of parameters), rather than only the types of the parameters. In C++, each instantiation of a generic function must be typechecked separately. However, in Carbon, generic functions can be […]