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

Picture Jaakko Järvi
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: 416 HRBB
College Station, TX 77843-3112 tel: (979) 845-4359
USA fax: (979) 458-0718

Course information


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

  • Publications.
  • Students:
    • John Freeman, PhD
    • Jason Wilkins, PhD
    • Gabriel Foust, PhD
    • Anirudh Ramanathan, MS
  • Alumni:
    • 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 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, a "typeof" mechanism, a constraint system for C++ templates ("concepts"), templates with a variable length argument list, and lambda expressions. All of the above mechanisms/features/libraries, except concepts, are part of the current draft specification of the forthcoming C++ standard, dubbed C++0x. See the publications page for technical reports that contain more detailed description of the topics.