© University of Kent - Contact | Feedback | Legal | FOI | Cookies
Dominic Orchard
Lecturer / Stage 2 Year Director (UKC)
|
|
|
Publications
My publications are available from the University of Kent's Academic Repository.
Selected publications- Quantitative program reasoning with graded modal types - ICFP (2019)
- Composing bidirectional programs monadically - ESOP (2019)
- Complexity bounds for container functors and comonads - Information & Computation (2018)
- Verifying Spatial Properties of Array Computations - OOPSLA (2017)
- Session Types with Linearity in Haskell - Book chapter in Behaviour types: from Theory to Tools (2017)
- Combining Effects and Coeffects via Grading - ICFP (2016)
- Effects as Sessions, Sessions as Effects - POPL (2016)
- Coeffects: A calculus of context-dependent computation - ICFP (2014)
- A Computational Science Agenda for Programming Language Research - ICCS (2014)
I also keep a list of my external talks, mostly with links to slides and sometimes YouTube videos.
Research Interests
I belong to the following research groups:
I am also a Fellow of the Software Sustainability Institute.I am on the following Programme Committees this year: PLACES 2019, LOLA 2019, PPDP 2019, POPL 2019, IFL 2018, TyDe 2018, BEAT 2019, ICE 2018. I am co-chairing PLACES 2019.
Main projects
- Granule - Advanced type systems for verification of data treated as a resoruce.
- CamFort - Lightweight verification of scientific computing models
Broadly I am interested in the intersection between logic, semantics, and
types.
I have co-authored several papers
introducing and developing the notion of coeffectful program behaviour
(ICFP 2016,
ICFP 2014,
ICALP 2013).
Coeffects are program behaviours which "consume" the execution
context, e.g., variables, hardware resources, access policies, library
versions, implicit parameters. Coeffect analyses and type theories
capture a program's requirements on the execution environment. For example,
a type theory corresponding to Bounded Linear Logic is a coeffect system which
allows fine-grained control over variable usage.
I am also interested in applying results from programming language
research to computational science, in particular for program
verification. I am Co-Investigator on the project CamFort:
Automated evolution and verification of computational science
models joint with the University of Cambridge
Find me on: Twitter and GitHub and My blog
Teaching
I am currently teaching on the following courses:- CO519 - Theory of Computing
- CO661 - Theory and Practice of Concurrency
- CO545 - Functional and Concurrent Programming
- CO583 - Introduction to Programming and Web Technologies