Our group is interested in all aspects of programming language design and implementation, ranging from theoretical foundations to practical applications. Take a look at our projects and publications below to find out what we're currently up to.

We are actively recruiting highly motivated graduate students, as well as UChicago undergrads, who share and complement our research interests. If you are interested in our work and would like to talk about opportunities to join our group, please get in touch!


News

>>> Old News


Recent Talks

>>> More Talks


Core Faculty

Ravi Chugh
Assistant Professor
John Reppy
Professor


Affiliated Faculty

Stuart Kurtz
Professor
Shan Lu
Associate Professor
Dave MacQueen
Professor Emeritus
Adam Shaw
Senior Lecturer


Students and Postdocs

Charisee Chiw
(Postdoc)
Mikaël Mayer
(Postdoc, Fall 2017)
Cyrus Omar
(Postdoc)
Kavon Farvardin
(Ph.D. Student)
 
Brian Hempel
(Ph.D. Student)
Kartik Singhal
(Ph.D. Student)
Joe Wingerter
(Ph.D. Student)

Alumni

Graduate

 
Charisee Chiw (PhD 2017) Implementing Mathematical Expressiveness in Diderot
Lamont Samuels (PhD 2016) Declarative Computer Graphics using FRP
Sneha Popley (MS 2014) Modules and the Global Environment in Type Classes
Lars Bergstrom (PhD 2013) Parallel Functional Programming with Mutable State
Sven Auhagen (MS 2012) Chunking of Work for Dynamic Scheduling Decisions
Adam Shaw (PhD 2011) Implementation Techniques for Nested-Data-Parallel Languages
Mike Rainey (PhD 2010) Effective Scheduling Techniques for High-Level Parallel PLs
George Kuan (PhD 2010) A True Higher-Order Module System
Jon Riehl (PhD 2008) Relative Techniques in Extensible Languages
Yingqi Xiao (PhD)
Chunyan Song (PhD)

Undergraduate

 
Grace Lu (BS 2017) Deuce: Direct Manipulation Source Program Editor
Izaak Meckler (BS 2015) Mote: Goal-Driven Development and Synthesis for Haskell
Aaron Turon (BS 2007) Metaprogramming with Traits
Aquinas Hobor (BS 2003)
Sam Tobin-Hochstadt (BS 2003)
Lukasz Ziarek (BS 2003) Adding Existential Types to SML/NJ

Projects

Active Projects

 
Deuce Lightweight Structured Editing
Diderot A Parallel DSL for Image Analysis and Visualization
Manticore A High-Level Parallel Programming Language
Sketch-n-Sketch Direct Manipulation Programming for SVG

Older Projects

 
Concurrent ML First-Class Synchronous Operations in SML
Dependent JavaScript Static Types for Dynamic Languages
Moby Higher-Order Concurrency and Classes
Standard ML and SML/NJ Higher-Order, Typed, Functional Programming

Publications

Please see Reppy's and Chugh's publication pages.


Courses

Current Quarter (Fall 2017)

[fa17] CMSC 32001: Topics in PL (Reppy)

Upcoming Quarters

The following schedule is subject to change.


[sp18] CMSC 22100: Programming Languages (Shaw)

[sp18] CMSC 32001: Topics in PL (Chugh)

Previous Quarters