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

Charisee Chiw
Kavon Farvardin
Brian Hempel
Lamont Samuels
Joe Wingerter

Alumni

Graduate

 
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

 
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

 
Diderot A Parallel DSL for Image Analysis and Visualization
Manticore A High-Level Parallel Programming Language
Sketch-n-Sketch Semi-Automated SVG Programming with Direct Manipulation

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 (Winter 2017)

None.

Upcoming Quarters

The following schedule is subject to change.


[sp17] CMSC 22100: Programming Languages (Shaw)

[sp17] CMSC 22300: Functional Programming (Chugh)

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

Previous Quarters

A Note About CMSC 16100

Our Honors Intro Programming I course (CMSC 16100) is taught using Haskell and, not surprisingly, often feels like a course about functional programming concepts.