j garrett morris

about me

I am a research associate in the Laboratory for Foundations of Computer Science, one institute of the School of Informatics at the University of Edinburgh. I work on implementation and interpretation of session types for the ABCD project, along with Phil Wadler and Sam Lindley.

Most recently, I was a Ph.D. student in the computer science department at Portland State University, advised by Mark P. Jones. As part of the High Assurance Systems Programming project, I contributed to the design of the Habit programming language, particularly its class system, and to the development of the Habit compiler, particularly its typechecking and desugaring components.


Instances Chains and Type Classes: A Relational Approach. [PDF]


"A Semantics for Propositions as Sessions", Sam Lindley and J. Garrett Morris. To appear at ESOP 2015. [PDF]

"A Simple Semantics of Haskell Overloading", J. Garrett Morris. In Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell, Gothenburg, Sweden. [ACM DL] [PDF]

"Sessions as Propositions," Sam Lindley and J. Garrett Morris. In PLACES 2014. [arXiv] [PDF]

"Instance Chains: Type Class Programming Without Overlapping Instances," J. Garrett Morris and Mark P. Jones. In Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming (ICFP '10), Baltimore, Maryland. 2010. [ACM DL] [PDF]

"Experience Report: Using Hackage to Inform Language Design," J. Garrett Morris. In Proceedings of the 3rd ACM Symposium on Haskell (Haskell '10), Baltimore, Maryland. [ACM DL] [PDF]

Some of these papers are copyright ACM. These are the author's versions of the work. They are posted here by permission of ACM for your personal use. Not for redistribution. Please see each paper for the location of the defininitive version.