Computer Laboratory

Dylan McDermott

I am currently a PhD student in the Programming, Logic and Semantics group of the Univerity of Cambridge Computer Laboratory. I am interested in the theory of programming languages with computational effects, including reasoning about evaluation order, and proving correctness of program transformations. My supervisor is Alan Mycroft.


  • Dylan McDermott and Alan Mycroft. Extended call-by-push-value: reasoning about effectful programs and evaluation order. ESOP 2019. Winner of EAPLS Best Paper Award. [PDF] [DOI] [slides]
  • Ohad Kammar and Dylan McDermott. Factorisation systems for logical relations and monadic lifting in type-and-effect system semantics. MFPS 2018. [PDF] [DOI] [slides]
  • Dylan McDermott and Alan Mycroft. Call-by-need effects via coeffects. Open Computer Science, 2018. [PDF] [DOI]
  • Matthew Parkinson, Dimitrios Vytiniotis, Kapil Vaswani, Manuel Costa, Pantazis Deligiannis, Dylan McDermott, Aaron Blankstein, and Jonathan Balkind. Project Snowflake: Non-blocking Safe Manual Memory Management in .NET. OOPSLA 2017. [PDF] [DOI]

Research talks

  • Reasoning about effectful programs and evaluation order. Programming Languages Seminar, University of Oxford, June 2019. [slides]
  • Reasoning about effectful programs and evaluation order. Theoretical Computer Science Seminar, University of Birmingham, May 2019. [slides]
  • A monadic solution to the Cartwright-Felleisen-Wadler conjecture. HOPE 2017. [talk proposal] [slides]
  • Effects for lazy languages. BCTCS 2017. [slides]


I have supervised the following courses:


Dylan McDermott
University of Cambridge
Department of Computer Science and Technology
Computer Laboratory
15 JJ Thompson Avenue
Cambridge CB3 0FD
United Kingdom

Office: FC07