Daniel Patterson

I’m an Assistant Teaching Professor at Khoury College of Computer Sciences at Northeastern University.

I got my PhD at the PRL Lab, studying programming languages with Amal Ahmed. My dissertation was about the semantics of language interoperability.

Before that, I helped start and run a worker-owned software contracting company, Position Development. I studied math and computer science undergrad at Brown University where I worked with Shriram Krishnamurthi, helping to design the Pyret programming language.

Contact

The easiest way to get in touch is via email: [email protected]. Note that if you have another email address for me, it will probably work as well.

Drop-in Hours

You’re welcome to come talk to me about anything (related to what I’m teaching, research I’ve done, or really, anything else), though students who are currently enrolled in classes I’m teaching will get preference.

Spring 2024, I’ll have in-person drop-in hours, Tuesdays 11:00am-12:00pm and 2:30pm-3:30pm, at my office, 317 Meserve Hall.

If you are unable to make that time, or would like to meet virtually, reach out via email.

Teaching

Fall 2023: CS2500: Fundamentals of Computer Science (Accelerated) and CS2500: Fundamentals of Computer Science

Spring 2023: CS2800: Logic & Computation

Fall 2022: CS2500: Fundamentals of Computer Science 1

Fall 2019: CS4910: Verified Compilers and Multi-Language Software

Dissertation

Interoperability Through Realizability: Expressing High-level Abstractions using Low-level code.
Daniel Patterson.
Northeastern University, 2022. PDF.

Publications

Semantic Encapsulation using Linking Types.
Daniel Patterson, Andrew Wagner, Amal Ahmed.
TyDE 2023. PDF, appendix, and video.
Semantic Soundness for Language Interoperability.
Daniel Patterson, Noble Mushtak, Andrew Wagner, Amal Ahmed.
PLDI 2022. PDF, appendix, and arXiv.
Foreign Function Typing: Semantic Type Soundness for FFIs.
Daniel Patterson and Amal Ahmed.
WGT 2020. PDF.
The Next 700 Compiler Correctness Theorems (Functional Pearl).
Daniel Patterson and Amal Ahmed.
ICFP 2019. PDF.
Phantom Contracts for Better Linking.
Daniel Patterson.
POPL 2019 Student Research Competition. Extended abstract and poster.
Rust Distilled: An Expressive Tower of Languages.
Aaron Weiss, Daniel Patterson, and Amal Ahmed.
ML 2018. PDF.
FunTAL: Reasonably Mixing a Functional Language with Assembly.
Daniel Patterson, Jamie Perconti, Christos Dimoulas, and Amal Ahmed.
PLDI 2017. PDF and appendix.
Linking Types for Multi-Language Software: Have Your Cake and Eat It Too.
Daniel Patteron and Amal Ahmed.
SNAPL 2017. PDF.
Linking Types: Specifying Safe Interoperability and Equivalences.
Daniel Patterson.
POPL 2017 Student Research Competition. Extended abstract and poster.
CaptainTeach: Multi-Stage, In-Flow Peer Review for Programming Assignments.
Joe Gibbs Politz, Daniel Patterson, Kathi Fisler, and Shriram Krishnamurthi.
ITiCSE 2014. PDF.
Python: The Full Monty―A Tested Semantics for the Python Programming Language.
Joe Gibbs Politz, Alejandro Martinez, Matthew Milano, Sumner Warren, Daniel Patterson, Junsong Li, Anand Chitipothu, and Shriram Krishnamurthi.
OOPSLA 2013. PDF, appendix and code.

Blog

CV

A current CV is available in PDF form.

I’m at github.com/dbp & dbp.bsky.social.