J. Garrett Morris

  • University of Iowa, Iowa City, IA, USA
  • University of Kansas, Lawrence, KS, USA (former)
  • University of Edinburgh, UK (former)
  • Portland State University, Portland, OR, USA (former)

According to our database1, J. Garrett Morris authored at least 23 papers between 2010 and 2023.

Collaborative distances:
  • Dijkstra number2 of four.
  • Erdős number3 of four.



In proceedings 
PhD thesis 


Online presence:

On csauthors.net:


Generic Programming with Extensible Data Types: Or, Making Ad Hoc Extensible Data Types Less Ad Hoc.
Proc. ACM Program. Lang., August, 2023

A Type-Based Approach to Divide-and-Conquer Recursion in Coq.
Proc. ACM Program. Lang., January, 2023

Separating Sessions Smoothly.
Log. Methods Comput. Sci., 2023

Soundly Handling Linearity.
CoRR, 2023

Partial type constructors in practice.
Proceedings of the Haskell '22: 15th ACM SIGPLAN International Haskell Symposium, Ljubljana, Slovenia, September 15, 2022

Partial type constructors: or, making ad hoc datatypes less ad hoc.
Proc. ACM Program. Lang., 2020

Towards Races in Linear Logic.
Log. Methods Comput. Sci., 2020

Abstracting extensible data types: or, rows by any other name.
Proc. ACM Program. Lang., 2019

Exceptional asynchronous session types: session types without tiers.
Proc. ACM Program. Lang., 2019

The root cause of blame: contracts for intersection and union types.
Proc. ACM Program. Lang., 2018

Constrained type families.
Proc. ACM Program. Lang., 2017

Mixed Messages: Measuring Conformance and Non-Interference in TypeScript (Artifact).
Dagstuhl Artifacts Ser., 2017

Mixed Messages: Measuring Conformance and Non-Interference in TypeScript.
Proceedings of the 31st European Conference on Object-Oriented Programming, 2017

The best of both worlds: linear functional programming without compromise.
Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, 2016

Talking bananas: structural recursion for session types.
Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, 2016

Embedding session types in Haskell.
Proceedings of the 9th International Symposium on Haskell, 2016

Conflation Confers Concurrency.
Proceedings of the A List of Successes That Can Change the World, 2016

Variations on variants.
Proceedings of the 8th ACM SIGPLAN Symposium on Haskell, 2015

A Semantics for Propositions as Sessions.
Proceedings of the Programming Languages and Systems, 2015

Sessions as Propositions.
Proceedings of the Proceedings 7th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, 2014

A simple semantics for Haskell overloading.
Proceedings of the 2014 ACM SIGPLAN symposium on Haskell, 2014

Instance chains: type class programming without overlapping instances.
Proceedings of the Proceeding of the 15th ACM SIGPLAN international conference on Functional programming, 2010

Experience report: using hackage to inform language design.
Proceedings of the 3rd ACM SIGPLAN Symposium on Haskell, 2010