### Abstract

A combmator called a pipe is proposed for combining functions in a hnear order. Examples suggest that semantic rules using pipes are easy to read and understand, even for readers with little knowledge of semantics The readability is a consequence ot the operational mtunion associated with pipes The operatJonal view is that each function connected by a pipe is handed a finite sequence of values Each function takes zero or more arguments from the right end of the sequence, replaces the arguments by zero or more results, and passes the sequence to the next function The new idea is that a function may skip over some number of values before picking up its arguments. This approach Is suited to expressing the composition of operations on machine states in a programming language. Pipes allow continuation semantics to be written with direct operators instead of the operator having to worry about its continuation, the second function in a pipe is essentially a continuation of the first m connection is established between functions connected by pipes and more traditional continuation semantics.

Original language | English (US) |
---|---|

Pages (from-to) | 595-611 |

Number of pages | 17 |

Journal | Journal of the ACM (JACM) |

Volume | 30 |

Issue number | 3 |

DOIs | |

State | Published - Jul 1 1983 |

Externally published | Yes |

### Keywords

- combmators
- continuations

### ASJC Scopus subject areas

- Software
- Control and Systems Engineering
- Information Systems
- Hardware and Architecture
- Artificial Intelligence

## Fingerprint Dive into the research topics of 'Properties of a Notation for Combining Functions'. Together they form a unique fingerprint.

## Cite this

*Journal of the ACM (JACM)*,

*30*(3), 595-611. https://doi.org/10.1145/2402.322393