Home research People General Info Seminars Resources Intranet
Home Page for Jaakko Järvi | Parasol Laboratory

Picture Jaakko Järvi
Adjunct Associate Professor
Programming Tools, Techniques and Languages Group

Parasol Laboratory url: http://parasol.tamu.edu/~jarvi/
Department of Computer Science and Engineering email:
Texas A&M University office: HRBB
College Station, TX 77843-3112 tel:
USA fax: (979) 458-0718

This page will likely be updated infrequently. I was an associate professor at Texas A&M until 2016, now hold an adjunct position. My current homepage is here.

Course information


My research interests include user interface programming, generic and generative programming, programming languages, type systems, and software construction in general.

  • Publications.
  • Students:
    • Jason Wilkins, PhD
    • Anirudh Ramanathan, MS
    • Pawan Singh, MS
    • Natalie Rawle, BS
  • Alumni:
    • Gabriel Foust, PhD (Two Sigma)
    • John Freeman, PhD (Harding University)
    • Xiaolong Tang, PhD
    • Sankara Muthukrishnan, MS (National Instruments)
    • Wonseok Kim, MS (Microsoft)
    • Jacob Smith, PhD (Intel)
    • Aravind Srinivasa, MS (Cisco Systems),
    • Sylvia N'Guessan, MS (Cisco Systems)
    • Santhosh Srinivasan, MCS (Yahoo!)
    • Philip van Ruitenbeek, undergraduate research
    • Lucas Kuhr, undergraduate research
    • Travis Kosarek, undergraduate research


The MultiselectJS is a JavaScript library for implementing multi-selection (with a mouse, etc.) in any context where multi-selection is meaningful.

The HotDrink project is a library for declaratively programming user interfaces.

The Boost Tuple Library and the Boost Lambda Library are generic programming libraries I've been involved in developing. Another small but useful C++ tool is the enable_if family of templates, also part of the C++ Boost library collection.

C++ standardization

I'm involved in the C++ ISO standardization process. Some of the libraries and features I have worked on include tuple types, support for partial function application (bind templates), core language support for inferring the type of a variable from its initializer expression, decltype operator, auto specifier, a constraint system for C++ templates ("concepts"), variadic templates, and lambda expressions. See my publications page for technical reports that contain more detailed description of the topics.