Computer Laboratory

Dominic Orchard

PhD Candidate in the Cambridge Programming Research Group (part of the Programming, Logic and Semantics Group)

Office:FC13
Tel:+44(0)1233 763649
Email:dominic.orchard at cl.cam.ac.uk
Address: University of Cambridge
Computer Laboratory
15 JJ Thomson Avenue
Cambridge CB3 0FD
College:Jesus College

Research interests

  • Programming language design and semantics
  • Mathematically structured programming, particular with comonads
  • Functional and intensional programming
  • Embedded domain-specific languages (esp. for parallelisation)

I still maintain some interest in biological modelling (see here for more info).

External Links

Work in Progress, Drafts and Notes

  •   (updated, April 2012) Mathematical Structures for Data Types with Restricted Parametericity
    Dominic Orchard and Alan Mycroft. Accepted for presentation at TFP 2012. [PDF]
    Based on a previous draft called "Structures on Subcategories in Haskell"
    Show abstract >>>
  •   Should I use a Monad or a Comonad?
    Dominic Orchard. Unpublished work in progress (Dec 2011). [draft]
    Show details >>>
  •   Coeffects: typing context-dependent computations using comonads
    Tomas Petricek, Dominic Orchard, and Alan Mycroft. Unpublished work in progress (Dec 2011).[submitted version] [version with appendices]
    Show details >>>

Publications

  •  Efficient and Correct Stencil Computation via Pattern Matching and Static Typing
    Dominic Orchard and Alan Mycroft - IFIP Working Conference on Domain-Specific Languages, Bordeaux, September 2011 (DSL 2011')
    [PDF at the arXiv] [implementation]
    Show abstract >>>
  •  Haskell Type Constraints Unleashed
    Dominic Orchard and Tom Schrijvers - 10th International Symposium on Functional and Logic Programming, FLOPS 2010, Sendai, Japan, April 2010
    [On SpringerLink] [Author's Copy with corrections] | [Accompanying technical report] | [Prototype implementation]
    Show abstract >>>
  •  Ypnos : Declarative Parallel Structured Grid Programming
    Dominic Orchard, Max Bolingbroke, and Alan Mycroft - 5th ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming, DAMP '10. Madrid, Spain, 2010. DOI
    [PDF + corrections]
    Show abstract >>>
  •   muCell - Interdisciplinary Research in Modelling and Simulation of Cell Spatial Behaviour
    Dominic Orchard, Jonathan Gover, Lewis Herrington, James Lohr, Duncan Stead, Cathy Young, Sara Kalvala
    Reinvention: a Journal of Undergraduate Research, Volume 2, Issue 1, April 2009
    [Online version] | [PDF version] | [Shortened PDF version]
  •   Integrating Lucid's Declarative Dataflow Paradigm into Object-Orientation
    Dominic Orchard and Steve Matthews
    Mathematics in Computer Science, 2(1), November 2008
    [On SpringerLink]

Other

  • ACM DL Author-ize service(new, Feb 2012) The four Rs of programming language design
    Dominic Orchard
    Short essay included (non peer-reviewed) in addendum to ONWARD '11 Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software. 

Talks

  • 27th April 2012 - The Unreasonable Effectivness of (High School) Mathematics, 5th Annual Jesus College Graduate Conference, Cambridge
  • 23rd Februrary 2012 - Coeffect systems: capturing context-dependence, University of Strathclyde, Mathematically Structured Programming Group Seminar, Glasgow (slides on request)
  • 27th October 2011 - The Four Rs of Programming Language Design, Onward! Essay Presentation, SPLASH 2011, Portland, Oregon, USA.
  • 7th October 2011 - Coeffect Systems and Typing - (with Tomas Petricek), CPRG Seminar, Computer Laboratory, Cambridge [slides]
  • 7th September 2011 - Efficient and Correct Stencil Computations via Pattern Matching and Type Checking - IFIP Working Conference on DSLs, DSL 2011, Bordeaux, France [slides]
  • 2nd September 2011 - Efficient and Correct Stencil Computations via Pattern Matching and Type Checking - CPRG Seminar, Computer Laboratory, Cambridge
  • 2nd June 2011 - Programming with Comonads and Codo Notation - Tallinn University of Technology, Institute of Cybernetics, Estonia [slides]
  • 20th May 2011 - When Monads and Comonads Overlap - CPRG Seminar, Computer Laboratory, Cambridge
  • 13th May 2011 - Programming with Comonads and Codo Notation - CPRG Seminar, Computer Laboratory, Cambridge
  • 26th November 2010 - repeat lecture - Mathematically Structuring Programming Languages - Research Students Lecture Course, Cambridge, UK. [slides, notes, and examples]
  • 20th August 2010 - Rethinking Language Design for Parallelization, Intel Labs, Santa Clara, California, USA [slides]
  • 2nd June 2010 - Programming with monads combined with comonads - ICFP PC Workshop 2010, Microsoft Research, Cambridge, UK [slides]
  • 14th May 2010 - lecture - Mathematically Structuring Programming Languages - Research Students Lecture Course, Cambridge, UK. [slides, notes, and examples]
  • 21st April 2010 - Haskell Type Constraints Unleashed - FLOPS 2010, Sendai, Japan (given as a video talk due to continued airflight restrictions in the UK at the time) [slides, video (277.6MB MPEG4), streaming video @ Vimeo]
  • 17th February 2010 - Haskell Type Constraints Unleashed - Fun in the Afternoon, Standard Chartered Bank, London [slides]
  • 12th February 2010 - Haskell Type Constraints Unleashed - CPRG Seminar, Computer Laboratory, Cambridge
  • 19th January 2010 - Ypnos: Declarative, Parallel Structured Grid Programming, DAMP '10, Madrid, Spain [slides]
  • 20th November 2009 - Ypnos: Declarative, Parallel Structured Grid Programming, CPRG Seminar, Computer Laboratory, Cambridge [slides]
  • 1st May 2009 - Programming Language Design, Jesus College Graduate Symposium '09 [slides]
  • 7th April 2009 - Lucian: Dataflow and Object Orientation - BCTCS '09, University of Warwick, UK [slides]
  • 13th March 2009 - Interoperation of Lucid's Dataflow paradigm and Object-orientation with a Coalgebraic Semantics - CPRG Seminar, Computer Laboratory, Cambridge

Teaching

I gave a lecture entitled "Mathematically Structuring Programming Languages" as part of the "Current Research Topics" course at the Cambridge Computer Laboratory in May, 2010 and again in November, 2010, as part of a series of talks given by students in the CPRG (lectures note, slides, errata, and examples).

I have supervised, or am currently supervising, the following courses:

  • Semantics (Michaelmas and Lent Term, 2009-2012)
  • Concepts in Programming Languages (Easter term, 2010-2011)
  • Optimising Compilers (Michaelmas term, 2008-2009)
    Extra explanatory notes for the constraint based analysis.
  • Comparative Architectures (Lent Term, 2009)

I have supervised Part II (final year) projects from 2009-2012. Please get in touch if you're interested in me supervising your Part II project.
Previous projects supervised:

Academic

I received my MEng in Computer Science in July 2008 from the Department of Computer Science, Universiy of Warwick.