## Parameterised notions of computation (2006)

Venue: | In MSFP 2006: Workshop on mathematically structured functional programming, ed. Conor McBride and Tarmo Uustalu. Electronic Workshops in Computing, British Computer Society |

Citations: | 37 - 3 self |

### BibTeX

@INPROCEEDINGS{Atkey06parameterisednotions,

author = {Robert Atkey},

title = {Parameterised notions of computation},

booktitle = {In MSFP 2006: Workshop on mathematically structured functional programming, ed. Conor McBride and Tarmo Uustalu. Electronic Workshops in Computing, British Computer Society},

year = {2006},

pages = {31--45}

}

### Years of Citing Articles

### OpenURL

### Abstract

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 such as exceptions, side-effects, input/output and continuations. We present generalisations of both constructs, 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 monoidal 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 monoidal parameterisation — and act as prototypical languages with parameterised effects.

### Citations

1308 | Monads for functional programming
- Wadler
- 1995
(Show Context)
Citation Context ... in providing a framework for modelling a large range of computational phenomena, such as dynamic name generation [16]. They have also be used to do effectful programming in pure functional languages =-=[4]-=-. Power and Robinson introduced Freyd Categories [12] as an alternative presentation of strong monads. Effect Systems [6] augment traditional type systems with information about the side-effects cause... |

733 | Notions of Computation and Monads
- Moggi
- 1991
(Show Context)
Citation Context ...ation — and act as prototypical languages with parameterised effects. Keywords: Freyd Categories, Computational Monads, Computational Effects 1. INTRODUCTION Moggi’s framework of Computational Monads =-=[9, 8]-=-, and Power et al’s equivalent notion of Freyd Categories [12, 13, 5], have been successfully used to capture a wide range of computational effects used in programming language designs, such as non-te... |

705 | Separation logic: a logic for shared mutable data structures
- Reynolds
(Show Context)
Citation Context ...e connection with Hoare logic needs to be further investigated, and there is an obvious analogy between the computation in state context we have considered here and the frame rule of Separation Logic =-=[14]-=-. Finally, Plotkin and Power’s approach of deriving computational monads from algebras of operations and equations [11] should be adaptable to parameterised monads. We have already done a small amount... |

440 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...ation — and act as prototypical languages with parameterised effects. Keywords: Freyd Categories, Computational Monads, Computational Effects 1. INTRODUCTION Moggi’s framework of Computational Monads =-=[9, 8]-=-, and Power et al’s equivalent notion of Freyd Categories [12, 13, 5], have been successfully used to capture a wide range of computational effects used in programming language designs, such as non-te... |

268 | Local reasoning about programs that alter data structures - O’Hearn, Reynolds, et al. - 2001 |

236 | Polymorphic effect systems
- Lucassen, Gifford
- 1988
(Show Context)
Citation Context ...hey have also be used to do effectful programming in pure functional languages [4]. Power and Robinson introduced Freyd Categories [12] as an alternative presentation of strong monads. Effect Systems =-=[6]-=- augment traditional type systems with information about the side-effects caused by a program’s execution. Wadler [19] has presented a connection between effect systems and monads indexed by effect ty... |

168 | Alias types
- Smith, Walker, et al.
- 2000
(Show Context)
Citation Context ...gram can generate. For the purposes of modelling features such as strong update [10], where the type of storage cells may change over time, or type systems inspired by Hoare Logic such as Alias Types =-=[15]-=-, this is inadequate. Such type systems type the current store explicitly and restrict the range of possible operations according to the current type. We will present two type systems with explicitly ... |

135 | Alias types for recursive data structures - Walker, Morrisett - 2001 |

134 | types can change the world!, in - Wadler, Linear - 1990 |

106 | Categories for the Working Mathematician, 2nd edition - Lane - 1998 |

99 | Premonoidal categories and notions of computation
- Power, Robinson
- 1997
(Show Context)
Citation Context ...ects. Keywords: Freyd Categories, Computational Monads, Computational Effects 1. INTRODUCTION Moggi’s framework of Computational Monads [9, 8], and Power et al’s equivalent notion of Freyd Categories =-=[12, 13, 5]-=-, have been successfully used to capture a wide range of computational effects used in programming language designs, such as non-termination, exceptions, continuations, side-effects and input/output. ... |

92 | The Marriage of Effects and Monads
- Wadler
- 1998
(Show Context)
Citation Context ...yd Categories [12] as an alternative presentation of strong monads. Effect Systems [6] augment traditional type systems with information about the side-effects caused by a program’s execution. Wadler =-=[19]-=- has presented a connection between effect systems and monads indexed by effect types. The difference between the indexed monads presented by Wadler and our parameterised monads is that the indexed mo... |

85 | A type system for bounded space and functional in-place update - Hofmann - 2000 |

71 | Categorical Structure of Continuation Passing Style
- Thielecke
- 1997
(Show Context)
Citation Context ...ish the precise categorical properties of shift and reset, and to potentially axiomatise it without reference to an underlying continuation passing interpretation, following the lead set by Thielecke =-=[17]-=-. 2.3. Parameterised Freyd Categories Freyd categories are comprised of identity on objects functors J : C → K, where K has premonoidal structure and J strictly preserves it by seeing the finite produ... |

69 | Conventional and Uniqueness Typing in Graph Rewrite Systems - Barendsen, Smetsers - 1996 |

65 | A functional abstraction of typed contexts - Danvy, Filinski - 1989 |

58 | Semantics of separation-logic typing and higher-order frame rules - Birkedal, Torp-Smith, et al. - 2005 |

55 | Notions of computation determine monads
- Plotkin, Power
- 2002
(Show Context)
Citation Context ... in state context we have considered here and the frame rule of Separation Logic [14]. Finally, Plotkin and Power’s approach of deriving computational monads from algebras of operations and equations =-=[11]-=- should be adaptable to parameterised monads. We have already done a small amount of work in this direction by deriving the global typed state monad above from a plausible algebra of lookup and update... |

55 |
Names and Higher-Order Functions
- Stark
- 1994
(Show Context)
Citation Context ...categories. 6. RELATED WORK Computational monads [8, 9] have been extremely successful in providing a framework for modelling a large range of computational phenomena, such as dynamic name generation =-=[16]-=-. They have also be used to do effectful programming in pure functional languages [4]. Power and Robinson introduced Freyd Categories [12] as an alternative presentation of strong monads. Effect Syste... |

53 | Typed memory management via static capabilities - Walker, Crary, et al. - 2000 |

42 |
Categories for the Working Mathematician. Number 5
- Lane
- 1971
(Show Context)
Citation Context ...→ T (S, S, A), used for representing the identity computation at any state. This family of arrows is required to be natural in A, as for non-parameterised monads. It is also required to be dinatural (=-=[7]-=- §IX.4) in S, so the equation ηS1,A; T (S1, f, A) = ηS2,A; T (f, S2, A) must hold for any f : S1 → S2. The intuitive reading of dinaturality in this case is that strengthening of the precondition and ... |

34 | Monads and composable continuations
- Wadler
- 1994
(Show Context)
Citation Context ...current continuation operator only allows the entire program to be treated as the current context. The following is inspired by Wadler’s attempt to express composable continuations in terms of monads =-=[18]-=-. We require C to be cartesian closed, and set S to be |C|, the discrete category with the same objects as C. Define T (R1, R2, A) = (A → R2) → R1, where → is the functor part of the cartesian Worksho... |

29 | L 3 : A linear language with locations - Morrisett, Ahmed, et al. - 2005 |

25 | Adjoint Rewriting
- Ghani
- 1995
(Show Context)
Citation Context ...ansitivity and congruence as usual. The rules for the value calculus are unchanged. The state calculus now has additional βη rules for both of the type constructors. We use Ghani’s generalised η rule =-=[3]-=-, which eliminates the need for commuting conversions. The command calculus retains the inclusion of value and state equalities, the βη rules for the unary sequencing construct and the β rule for func... |

23 | L3: A linear language with locations
- Ahmed, Fluet, et al.
(Show Context)
Citation Context ...he store at all points during the program. Thus, there is a single “type” that covers all the possible stores that a program can generate. For the purposes of modelling features such as strong update =-=[10]-=-, where the type of storage cells may change over time, or type systems inspired by Hoare Logic such as Alias Types [15], this is inadequate. Such type systems type the current store explicitly and re... |

14 | Modelling environments in call-by-value programming languages - Levy, Power, et al. |

12 |
Danvy and Andrzej Filinski. A functional abstraction of typed contexts
- Olivier
- 1989
(Show Context)
Citation Context ...obal state. Below, we present two other examples, typed input/output, where the range of inputs and outputs depends on the current type of the state, and Danvy and Filinski’s composable continuations =-=[2]-=-. In many cases, however, the assumption of globalness is too strong. We can regard the store of a computer as being built from multiple independent regions, right down to the individually addressable... |

12 | Practical Foundations of Mathematics. Cambridge - Taylor - 1999 |

11 | Closed Freyd- and kappa-categories - Power, Thielecke - 1999 |

5 | writing and relations - Reading - 2006 |

5 | Computational lambda-calculus and monads. Pages 14–23 of - Moggi - 1989 |

4 | Generalizing substitution - Uustalu - 2003 |

3 |
Hayo Thielecke. Modelling environments in call-by-value programming languages
- Levy, Power
- 1999
(Show Context)
Citation Context ...ects. Keywords: Freyd Categories, Computational Monads, Computational Effects 1. INTRODUCTION Moggi’s framework of Computational Monads [9, 8], and Power et al’s equivalent notion of Freyd Categories =-=[12, 13, 5]-=-, have been successfully used to capture a wide range of computational effects used in programming language designs, such as non-termination, exceptions, continuations, side-effects and input/output. ... |

3 |
and Hayo Thielecke. Closed freyd- and kappa-categories
- Power
- 1999
(Show Context)
Citation Context ...ects. Keywords: Freyd Categories, Computational Monads, Computational Effects 1. INTRODUCTION Moggi’s framework of Computational Monads [9, 8], and Power et al’s equivalent notion of Freyd Categories =-=[12, 13, 5]-=-, have been successfully used to capture a wide range of computational effects used in programming language designs, such as non-termination, exceptions, continuations, side-effects and input/output. ... |

2 | Substructural type systems. Pages 3–43 of - Walker - 2005 |

1 | Substructural Simple Type Theories for Separation and In-place Update
- Atkey
- 2006
(Show Context)
Citation Context ...rised monad, and this and the Kleisli category used in this lemma are the final and initial objects in the category of adjunctions defining and parameterised monad, as for monads. See the appendix of =-=[1]-=- for more details. Lemma 1 S-parameterised adjunctions 〈F, G, η, ɛ〉 : C → D give S-parameterised monads on C, defined as: T (S1, S2, A) = G(S1, F (S2, A)) η T S,A = ηS,A µ T S1,S2,S3,A = G(S1, ɛ S2,F ... |

1 | Polymorphic effect systems. Pages 47–57 of: POPL ’88 - Lucassen, Gifford - 1988 |

1 | Polymorphism and Separation in Hoare Type Theory. Pages 62–73 of: Reppy - Nanevski, Morrisett, et al. - 2006 |

1 | Separation and information hiding. Pages 268–280 - O’Hearn, Yang, et al. - 2004 |

1 | Imperative functional programming. Pages 71–84 of: POPL ’93 - Peyton-Jones, Wadler - 1993 |

1 | History Effects and Verification. Pages 107–128 - Skalka, Smith - 2004 |

1 | Alias types. Pages 366–381 of: Programming Languages and Systems - Smith, Walker, et al. - 2000 |

1 | Typechecking a Mul- Notions of Computation 43 tithreaded Functional Language with Session Types - Vasconcelos, Gay, et al. - 2006 |

1 | Is there a use for linear logic? Pages 255–273 of: PEPM ’91 - Wadler - 1991 |