Parameterised notions of computation

Research output: Contribution to journalArticlepeer-review

88 Citations (Scopus)
120 Downloads (Pure)


Moggi’s Computational Monads and Power et al’s equivalent notion of Freyd category have captured a large range of computational effects present in programming languages. Examples include non-termination, non-determinism, exceptions, continuations, side-effects and input/output. We present generalisations of both computational monads and Freyd categories, which we call parameterised monads and parameterised Freyd categories, that also capture computational effects with parameters. Examples of such are composable continuations, side-effects where the type of the state varies and input/output where the range of inputs and outputs varies. By also considering structured parameterisation, we extend the range of effects to cover separated side-effects and multiple independent streams of I/O. We also present two typed λ-calculi that soundly and completely model our categorical definitions — with and without symmetric monoidal parameterisation — and act as prototypical languages with parameterised effects.
Original languageEnglish
Pages (from-to)335-376
Number of pages42
JournalJournal of Functional Programming
Issue number3-4
Publication statusPublished - 9 Jun 2009


  • computational effects
  • programming language
  • parameters


Dive into the research topics of 'Parameterised notions of computation'. Together they form a unique fingerprint.

Cite this