I still maintain some interest in biological modelling (see here for more info).
Leaf Petersen, Neal Glew, and I have had our paper Automatic SIMD Vectorization for Haskell accepted to ICFP 2013. Pre-print version to appear soon (or e-mail me).
Submitted a paper to ICFP 2013 with Leaf Petersen and Neal Glew on SIMD vectorisation of GHC core.
Coeffects: unified static analysis of context-dependence (pdf), with Tomas Petricek and Alan Mycroft, accepted to ICALP 2013.
I am on the PC of IFL 2013, this year hosted at Radboud University, Nijmegen.
A Notation For Comonads (pdf), with Alan Mycroft, accepted for publication in the post-proceeedings of IFL 2012.
Automatic SIMD Vectorization for Haskell
Leaf Petersen, Dominic Orchard, Neal Glew.
ICFP 2013 (to appear)
(updated, May 2013)
Coeffects: Unified static analysis of context-dependence
A Notation for Comonads
- The four Rs of programming language design
- Efficient and Correct Stencil Computation via Pattern Matching and Static Typing
- Haskell Type Constraints Unleashed
- Ypnos : Declarative Parallel Structured Grid Programming
- muCell - Interdisciplinary Research in Modelling and Simulation of Cell Spatial Behaviour
- Integrating Lucid's Declarative Dataflow Paradigm into Object-Orientation
Dominic Orchard and Steve Matthews
Mathematics in Computer Science, 2(1), November 2008
Old drafts and notes (to be resurrected someday)
Categorical Programming for Data Types with Restricted Parametericity
Should I use a Monad or a Comonad?
The Unreasonable Effectiveness of (Basic Secondary School) Mathematics
Dominic Orchard, Jesus College Annual Report 2012, (p.27-28) [PDF] (PDF version has corrupted figure on p.28)
- 13th November 2012 - Programs in context - Intelligent and Adaptive Systems Research Group, Department of Computer Science, University of Warwick [slides]
- 5th November 2012 - Programs in context - Digital Technology Group Seminar, Computer Laboratory, Cambridge
- 30st August 2012 - A Notation for Comonads - Implementation and Application of Functional Languages 2012 (IFL'12), Oxford, UK [slides] [video].
- 22nd June 2012 - A Notation for Comonads, Context, and Intensional Programming - Algebra of Programming informal seminar, Department of Computer Science, Oxford, UK
- 13th June 2012 - Mathematical Structures for Data Types with Restricted Parametericity, Trends in Functional Programming 2012, St. Andrews, Scotland [slides]
- 8th June 2012 - Mathematical Structures for Data Types with Restricted Parametericity, CPRG Seminar, Computer Laboratory, Cambridge
- 27th April 2012 - The Unreasonable Effectivness of (High School) Mathematics, 5th Annual Jesus College Graduate Conference, Cambridge [slides] [video]
- 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]
- 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
I supervise Part II (final year) projects. I have written
down some proposals for potential projects.
Please get in touch if you are interested in me supervising your Part II project.
Previous projects supervised:
- Implementing the Codo Syntax for Comonads in GHC (2012-13)
- GPU accelerating the Ypnos programming language (2012-13)
- VisualLucid IDE - A visual approach to dataflow programming (2011-12)
- Accessing Standard ML Constructs From Java Across Language Domains (2011-12)
- Parallelisation of Java for Graphics Processors - Peter Calvert (2009-10)
- Reconsidering Lucid - a modern approach - Jonas Kaiser (2009-10)
I have supervised, or am currently supervising, the following courses:
- Semantics (Michaelmas and Lent Term, 2009-2013)
- Concepts in Programming Languages (Easter term, 2010-2011)
- Optimising Compilers (Michaelmas term, 2008-2009)
- Comparative Architectures (Lent Term, 2009)
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 lectures given by students in the CPRG (lectures note, slides, errata, and examples).