skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · colloquia · 2010-2011 · 

Colloquium - Siek

ECCR 265

Growing Languages
Department of Computer Science
Jeremy Siek photo

I tell two stories about growing programming languages. The first story is about grafting a new feature, named concepts, onto an old language, C++. This story is a tragedy; it begins with a string of successes but suffers a reversal in the end. The second story is about cross-breeding two different languages, Python and C++. This story takes the form of a quest, overcoming several obstacles on a journey that is not yet complete. The talk concludes with a vision in which we do not grow programming languages from seed but instead grow colonies of languages from a shared root system.

Jeremy Siek is an Assistant Professor at the University of Colorado Boulder. Jeremy's areas of research include generic programming, programming language design, type systems, and compiler optimizations for high-level languages. Jeremy's PhD thesis laid the foundation for constrained templates, aka the "concepts" proposal for C++. Prior to that, Jeremy developed the Boost Graph Library, a C++ generic library for graph algorithms and data structures. Jeremy post-doc'd at Rice University where he developed the idea of gradual typing: a type system that integrates both dynamic and static typing in the same programming language. Jeremy is currently juggling too many projects: a gradually-typed version of Python, a language for reflective meta-programming, a version of concepts for the Chapel language, and a domain-specific compiler for generating memory-efficient linear algebra kernels. In 2009 Jeremy received the NSF CAREER award to fund "Bridging the Gap Between Prototyping and Production". In 2010 Jeremy was awarded a Distinguished Visiting Fellowship from the Scottish Informatics and Computer Science Alliance.

This talk is sponsored by the Department of Electrical, Computer and Energy Engineering.

The Department holds colloquia throughout the Fall and Spring semesters. These colloquia, open to the public, are typically held on Thursday afternoons, but sometimes occur at other times as well. If you would like to receive email notification of upcoming colloquia, subscribe to our Colloquia Mailing List. If you would like to schedule a colloquium, see Colloquium Scheduling.

Sign language interpreters are available upon request. Please contact Stephanie Morris at least five days prior to the colloquium.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:29)