Skip Navigation

Colloquium Details

Computing While Compiling: Reasons and Methods for Compile-time Metaprogramming

Author:Ronald Garcia Indiana University
Date:May 29, 2008
Time:15:30
Location:220 Deschutes
Host:Zena Ariola

Abstract

Software libraries make it much easier for developers to build applications, but the abstractions they provide often come with a price: slow run-time performance and some usage errors overlooked by the type checker at compile-time. In this talk, I discuss how C++ template metaprogramming has been used to implement software libraries that provide high-level interfaces without sacrificing run-time performance and check domain-specific properties at compile-time. I discuss the benefits and shortcomings of template techniques. Based on my analysis of the essential capabilities of C++ templates for template metaprogramming, I present a language design that directly and intentionally captures those capabilities.

Biography

Ronald Garcia is a Doctoral Candidate in Computer Science at Indiana University, where he is a member of the Open Systems Laboratory.