Papers 38

  • Dominic Orchard, Mihail Munteanu, Paulo Torrens. Communicating Actor Automata – Modelling Erlang Processes as Communicating Machines. In the Proceedings of the 14th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES). [Bibtex] [PDF]
  • Laura Bocchi, Dominic Orchard, Laura Voinea. A Theory of Composing Protocols. The Art, Science, and Engineering of Programming, 2023, Vol. 7, Issue 2, Article 6. [Bibtex] [PDF]
  • Daniel Marshall, Dominic Orchard. How To Take the Inverse of a Type. Proceedings of ECOOP 2022. [PDF]
  • Daniel Marshall, Michael Vollmer, Dominic Orchard. Linearity and Uniqueness: An Entente Cordiale. In the Proceedings of the 31st European Symposium on Programming (ESOP 2022). [Bibtex] doi: 10.1007/978-3-030-99336-8_13 [PDF]
  • Daniel Marshall, Dominic Orchard. Replicate, Reuse, Repeat: Capturing Non-Linear Communication via Session Types and Graded Modal Types. In the Proceedings of the 13th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES). [Bibtex] [PDF]
  • Jack Hughes, Daniel Marshall, James Wood, Dominic Orchard. Linear Exponentials as Graded Modal Types. In the proceedings of the 5th International Workshop on Trends in Linear Logic and Applications (TLLA 2021). [Bibtex] [PDF]
  • Ben Moon, Harley Eades III, Dominic Orchard. Graded Modal Dependent Type Theory. In the Proceedings of the 30th European Symposium on Programming (ESOP2021). [Bibtex] doi: 10.1007/978-3-030-72019-3_17 [PDF]
  • Marco Gaboardi, Shin-ya Katsumata, Dominic Orchard, Tetsuya Sato. Graded Hoare Logic and its Categorical Semantics. In the Proceedings of the 30th European Symposium on Programming (ESOP2021). [Bibtex] doi: 10.1007/978-3-030-72019-3_9 [PDF]
  • Jack Hughes, Michael Vollmer, Dominic Orchard. Deriving distributive laws for graded linear types. Post proceedings of the 2020 Joint Workshop on Linearity & TLLA: The 6th Workshop on Linearity and the 4th Workshop on Trends in Linear Logic and Applications. [PDF]
  • Jack Hughes, Dominic Orchard. Resourceful Program Synthesis from Graded Linear Types. [Bibtex] [PDF]
  • Andrej Ivaskovic, Alan Mycroft, Dominic Orchard. Data-Flow Analyses as Effects and Graded Monads. [Bibtex] [PDF]
  • Dominic Orchard, Philip Wadler, Harley Eades III. Unifying graded and parameterised monads. In the Proceedings of the Eighth Workshop on Mathematically Structured Functional Programming, MSFP@ETAPS 2020, Dublin, Ireland, 25th April 2020. Electronic Proceedings in Theoretical Computer Science (EPTC) 317, pages 18--38.. [Bibtex] doi: 10.4204/EPTCS.317.2 [PDF]
  • Dominic Orchard, Vilem-Benjamin Liepelt, Harley Eades III. Quantitative Program Reasoning with Graded Modal Types. Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue ICFP, 30 pages. [Bibtex] doi: 10.1145/3341714 [PDF]
  • Li-yao Xia, Dominic Orchard, Meng Wang. Composing Bidirectional Programs Monadically. In the Proceedings of the 28th European Symposium on Programming (ESOP2019). [Bibtex] doi: [PDF] [Appendix]
  • Mistral Contrastin, Dominic Orchard, Andrew Rice. Automatic Reordering for Dataflow Safety of Datalog. Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming, PPDP 2018,. [Bibtex] [PDF]
  • Dominic Orchard. Complexity bounds for container functors and comonads. Information and Computation. Volume 261, Part 1, August 2018, Pages 144-158. [Bibtex] [PDF]
  • Dominic Orchard, Mistral Contrastin, Matthew Danish, Andrew Rice. Verifying spatial properties of array computations. Proceedings of the ACM Programming Languages 1(OOPSLA): 75:1-75:30 (2017). [Bibtex] [PDF]
  • Dominic Orchard, Nobuko Yoshida. Session Types with Linearity in Haskell. 2017. Book chapter in Behavioural Types: from Theory to Tools. [Bibtex] [Accompanying code] [PDF]
  • Mistral Contrastin, Andrew Rice, Matthew Danish, Dominic Orchard. Units-of-Measure correctness in Fortran programs. Computing in Science and Engineering 18(1): 102-107. [Bibtex] [PDF]
  • Marco Gaboardi, Shin-ya Katsumata, Dominic Orchard, Flavien Breuvart, Tarmo Uustalu. Combining effects and coeffects via grading. ICFP '16: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, September 2016, Pages 476–489. [Bibtex] doi: 10.1145/2951913.2951939 [PDF]
  • Alan Mycroft, Dominic Orchard, Tomas Petricek. Effect Systems Revisited - Control-Flow Algebra and Semantics. Semantics, Logics, and Calculi (Essays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays) LNCS 9560, 2016. [Bibtex] [PDF]
  • Dominic Orchard, Nobuko Yoshida. Effects as sessions, sessions as effects. POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2016, Pages 568–581. [Bibtex] doi: 10.1145/2837614.2837634 [PDF]
  • Dominic Orchard, Andrew Rice, Oleg Oshmyan. Evolving Fortran types with inferred units-of-measure.. Journal of Computational Science, Volume 9 (Selected papers from International Conference on Computational Science), July 2015, Pages 156-162. [Bibtex] [PDF]
  • Dominic Orchard, Nobuko Yoshida. Using session types as an effect system. In Proceedings PLACES 2015 colocated with ETAPS 2015. [Bibtex] [PDF]
  • Tomas Petricek, Dominic Orchard, Alan Mycroft. Coeffects: a calculus of context-dependent computation. Proceedings of the 19th ACM SIGPLAN International Conference on Functional programming, Gothenburg, Sweden, September 1-3, 2014. [Bibtex] [PDF]
  • Samuel Aaron, Dominic Orchard, Alan Blackwell. Temporal semantics for a live coding language. Proceedings of the 2nd ACM SIGPLAN international workshop on Functional art, music, modeling & design, FARM@ICFP 2014, Gothenburg,. [Bibtex] [PDF]
  • Dominic Orchard, Tomas Petricek. Embedding effect systems in Haskell. Haskell Symposium 2014, co-located with ICFP 2014. [Bibtex] [PDF]
  • Raoul-Gabriel Urma, Dominic Orchard, Alan Mycroft. Programming language evolution workshop report. PLE '14: Proceedings of the 1st Workshop on Programming Language Evolution, July 2014 Pages 1–3. [Bibtex] [PDF]
  • Dominic Orchard, Andrew Rice. A Computational Science Agenda for Programming Language Research. International Conference on Computational Science, 2014. [Bibtex] [PDF]
  • Leaf Petersen, Dominic Orchard, Neal Glew. Automatic SIMD vectorization for Haskell. ICFP 2013. [Bibtex] [PDF]
  • Tomas Petricek, Dominic Orchard, Alan Mycroft. Coeffects: Unified Static Analysis of Context-Dependence.. ICALP 2013. [Bibtex] [PDF]
  • Dominic Orchard, Alan Mycroft. A Notation for Comonads. IFL 2012. [Bibtex] [PDF]
  • Dominic Orchard. The four Rs of programming language design.. ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2011, part of SPLASH'11. [Bibtex] [PDF]
  • Dominic Orchard, Alan Mycroft. Efficient and Correct Stencil Computation via Pattern Matching and Static Typing. ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2011, part of SPLASH'11. [Bibtex] [PDF]
  • Dominic Orchard, Tom Schrijvers. Haskell Type Constraints Unleashed. Functional and Logic Programming, 10th International Symposium, FLOPS 2010, Sendai, Japan, April 19-21, 2010. . [Bibtex] [PDF]
  • Dominic Orchard, Max Bolingbroke, Alan Mycroft. Ypnos: declarative, parallel structured grid programming. Proceedings of the 2010 Workshop on Declarative Aspects of Multicore Programming, DAMP 2010, colocated with POPL 2010, Madrid, Spain. [Bibtex] [PDF]
  • Dominic Orchard, Jonathan Gover, Lee Lewis Herrington,, James Lohr, Duncan Stead, Cathy Young, Sara Kalvala. muCell - Interdisciplinary Research in Modelling and Simulation of Cell Spatial Behaviour. Reinvention: a journal of undergraduate research 2.1 (2009).. [Bibtex] [PDF]
  • Dominic Orchard, Steve Matthews. Integrating Lucid's Declarative Dataflow Paradigm into Object-Orientation. Math. Comput. Sci. 2(1): 103-122 (2008). [Bibtex] [PDF]

Extended abstracts 8

  • Jack Atkinson, Simon Clifford, David Connelly, Chris Edsall, Athena Elafrou, Ed Gerber, Laura Mansfield, Dominic Orchard, Aditi Sheshadri, Y. Qiang Sun, Minah Yang. Reducing the overhead of coupled ML models between Python and Fortran: an application to Gravity Wave Parameterizations. Presented at Climate Informatics 2023. [Bibtex] [PDF]
  • Gilberto Pastorello, Carlo Trotta, Alessio Ribeca, Keith Beattie, Sy-Toan Ngo, Housen Chu, You-Wei Cheah, Danielle Christianson, Giacomo Nicolini, Sigrid Dengel, Diego Polidori, Peter Isaac, Matthew Archer, Dominic Orchard, Deb Agarwal, Sebastien Biraud, Margaret Torn, Dario Papale. Fostering collaboration through improved software development practices for the ONEFlux eddy covariance data processing pipeline. [Bibtex] [PDF]
  • Timotej Tomandl, Dominic Orchard. Formalising Algebraic Effects with Non-Recoverable Failure. HOPE 2021 co-located with ICFP. [PDF]
  • Dominic Orchard, Mistral Contrastin, Matthew Danish, Andrew Rice. Guiding user annotations for units-of-measure verification. [PDF]
  • Benjamin Moon, Harley Eades III, Dominic Orchard. Towards Graded Modal Dependent Types (extended abstract). The workshop on Type-Driven Development colocated with the 25th ACM SIGPLAN International Conference on Functional Programming (ICFP).. [PDF]
  • Harley Eades III, Dominic Orchard. Grading Adjoint Logic. Abstract (2 pages): 2020 Joint Workshop on Linearity & TLLA: The 6th Workshop on Linearity and the 4th Workshop on Trends in Linear Logic and Applications. [PDF]
  • Matthew Danish, Miltiadis Allamanis, Marc Brockschmidt, Andrew Rice, Dominic Orchard. Learning units-of-measure from scientific code. 2019 IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science). [Bibtex] [PDF]
  • Dominic Orchard, Andrew Rice. Upgrading Fortran source code using automatic refactoring. Proceedings of the 2013 ACM Workshop on Refactoring Tools. [Bibtex] [PDF]

Unpublished 3

  • Dominic Orchard, Tomas Petricek, Alan Mycroft. The semantic marriage of monads and effects. 2014. [Bibtex] [PDF]
  • Dominic Orchard, Alan Mycroft. Categorical Programming for Data Types with Restricted Parametricity. 2012. [Bibtex] [PDF]
  • Dominic Orchard. Should I use a Monad or a Comonad?. 2011. [Bibtex] [PDF]

Book reviews1

  • Dominic Orchard. Computational Semantics with Functional Programming, by Jan van Eijck and Christina Unger. Journal of Functional Programming 24(4): 524-527 (2014). 2014. [Bibtex] [PDF]

PhD Dissertation1

  • Dominic Orchard. Programming contextual computations. University of Cambridge, 2014. [Bibtex] [PDF]