![]() |
||
| COMS 6998 007 Types, Languages and Compilers Spring 2023 |
||
Class meets Mondays, 4:10 - 6:40 PM in 451 CSB.
| Name | Office hours | Location | |
|---|---|---|---|
| Prof. Stephen A. Edwards | sedwards@cs.columbia.edu | By appt. | Online |
| Wei Qiang | wq2167@columbia.edu | W 4-5 Th 3-4 | 1st Floor Mudd TA Area |
| Emily Sillars | ems2331@columbia.edu | F 12-2 | 1st Floor Mudd TA Area |
An advanced course on modern programming language and type theory with a focus on functional languages and concrete implementations. The goal is to become fluent in the concepts and formalisms typical of papers in conferences such as POPL.
Prerequisites: COMS 4115 Programming Languages and Translators; COMS 3203 Discrete Mathematics; COMS 3261 Computer Science Theory. Equivalents acceptable.
| Date | Lecture | Notes | Due |
|---|---|---|---|
| Mon Jan 23 | Introduction Inductive Definitions |
![]() ![]() |
|
| Mon Jan 30 | Regular Expressions |
![]() |
|
| Mon Feb 6 | " |
||
| Mon Feb 13 | Context Free Grammars |
![]() |
|
| Mon Feb 20 | The Lambda Calculus |
![]() |
|
| Mon Feb 27 | " |
||
| Sun Mar 5 | HW 1
|
||
| Mon Mar 6 | " |
||
| Mar 13-17 | Spring Break | ||
| Mon Mar 20 | Simply Typed Lambda Calculus |
![]() |
|
| Mon Mar 27 | The Hindley-Milner Type System |
![]() |
|
| Sun Apr 2 | HW 2
lambda.tar.gz |
||
| Mon Apr 3 | " |
||
| Sun Apr 9 | Project Proposal | ||
| Mon Apr 10 | System F |
![]() |
|
| Mon Apr 17 | Expressiveness (guest lecture) |
||
| Mon Apr 24 | Dependent Type Systems |
![]() |
|
| Mon May 1 | Curry-Howard Correspondence |
![]() |
|
| May 11 | Final Project Presentations |
You'll perform a design-it-yourself project in the second half of the class.
|
DTL:
Dependently Typed Language (WQ) Raphael Sofaer and Yiwei Wu |
|
Haskelterpreters:
Definitional Interpreters for Haskell (JH) Xurxo Riesco Perez |
|
JambaJuice:
Modular Type Inference Prototype (SE) Eric Feng and Emily Sillars |
|
JustYourRegularBRzOs1:
Regexp matcher using Brzowski derivatives (ES) Jonathan Cappell |
|
JustYourRegularBRzOs2:
Regexp matcher using Brzowski derivatives (ES) Arman Jindal |
|
OhMyGADT:
Language with General Abstract Data Types (ES) Alexis Gadonneix and Nikhil Mehta |
|
Quine:
Yiming Fang and Jose Ramos |
|
RustLifetimes:
Rust Lifetime Analyzer (JH) Vikram Nitin |
|
Session:
Session Types (JH) Andrei Coman and Christopher Yoon |
|
Slyce:
Dependent Type Interpreter (WQ) Raven Rothkopf and Gregory Schare |
|
blueberry:
(SE) Wei Qiang |
|
ducksrow:
Duck Typing (ES) Chang Amery |
My favorites
Robert Harper. |
![]() |
Benjamin C. Pierce. |
![]() |
Shriram Krishnamurthi. |
![]() |
Glynn Winskel |
![]() |