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) Proposal Report Files Raphael Sofaer and Yiwei Wu |
Haskelterpreters:
Definitional Interpreters for Haskell (JH) Proposal Report Files Xurxo Riesco Perez |
JambaJuice:
Modular Type Inference Prototype (SE) Proposal Report Files Eric Feng and Emily Sillars |
JustYourRegularBRzOs1:
Regexp matcher using Brzowski derivatives (ES) Proposal Report Files Jonathan Cappell |
JustYourRegularBRzOs2:
Regexp matcher using Brzowski derivatives (ES) Proposal Files Arman Jindal |
OhMyGADT:
Language with General Abstract Data Types (ES) Proposal UNRECOGNIZED FILETYPEReport Alexis Gadonneix and Nikhil Mehta |
Quine:
Yiming Fang and Jose Ramos |
RustLifetimes:
Rust Lifetime Analyzer (JH) Proposal Report Vikram Nitin |
Session:
Session Types (JH) Proposal Report Files Andrei Coman and Christopher Yoon |
Slyce:
Dependent Type Interpreter (WQ) Proposal Report Files Raven Rothkopf and Gregory Schare |
blueberry:
(SE) Proposal UNRECOGNIZED FILETYPEReport Wei Qiang |
ducksrow:
Duck Typing (ES) Proposal Report UNRECOGNIZED FILETYPEFiles Chang Amery |
My favorites
Robert Harper. |
|
Benjamin C. Pierce. |
|
Shriram Krishnamurthi. |
|
Glynn Winskel |