Programming Languages

Our research on programming languages range from the practical side to the philosophical. Our practical research helps programmers become more productive and efficient through approaches such as gradual typing and probabilistic programming. We are also working to build bridges between mainstream languages and cutting-edge approaches, such as logic programming, that will enable programming at a higher-level. Our research on the philosophical side looks for connections with other fields to discover how they are interrelated and identify patterns that can be useful in other disciplines, such as quantum physics, to push the envelope to programming and computing.

Computer Science faculty in this area include:
R. Kent Dybvig, Daniel Friedman, Christopher Haynes, Steven Johnson, Andrew Lumsdaine, Ryan Newton, Gregory J. E. Rawlins, Amr Sabry, Chung-chieh Shan, Jeremy Siek, Dirk Van Gucht