### Abstract

A combinator called a pipe is proposed for combining functions in a linear 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 of the operational intuition associated with pipes. The operational view is that each function connected by a pipe is handed a finite sequence of values. Each function takes zero or more argument from the right end of the sequence. 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 consumption of operations on machine states in a programming language. Pipes allow continuation semantics to be written with direct operator: instead of the operator having to worry about its continuation, the second function in a pipe is essentially a continuation of the first. A 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 |

Volume | 30 |

Issue number | 3 |

DOIs | |

State | Published - Jul 1983 |

Externally published | Yes |

### Fingerprint

### ASJC Scopus subject areas

- Computational Theory and Mathematics
- Computer Graphics and Computer-Aided Design
- Hardware and Architecture
- Information Systems
- Software
- Theoretical Computer Science

### Cite this

*Journal of the ACM*,

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

**PROPERTIES OF A NOTATION FOR COMBINING FUNCTIONS.** / Raoult, Jean Claude; Sethi, Ravi.

Research output: Contribution to journal › Article

*Journal of the ACM*, vol. 30, no. 3, pp. 595-611. https://doi.org/10.1145/2402.322393

}

TY - JOUR

T1 - PROPERTIES OF A NOTATION FOR COMBINING FUNCTIONS.

AU - Raoult, Jean Claude

AU - Sethi, Ravi

PY - 1983/7

Y1 - 1983/7

N2 - A combinator called a pipe is proposed for combining functions in a linear 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 of the operational intuition associated with pipes. The operational view is that each function connected by a pipe is handed a finite sequence of values. Each function takes zero or more argument from the right end of the sequence. 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 consumption of operations on machine states in a programming language. Pipes allow continuation semantics to be written with direct operator: instead of the operator having to worry about its continuation, the second function in a pipe is essentially a continuation of the first. A connection is established between functions connected by pipes and more traditional continuation semantics.

AB - A combinator called a pipe is proposed for combining functions in a linear 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 of the operational intuition associated with pipes. The operational view is that each function connected by a pipe is handed a finite sequence of values. Each function takes zero or more argument from the right end of the sequence. 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 consumption of operations on machine states in a programming language. Pipes allow continuation semantics to be written with direct operator: instead of the operator having to worry about its continuation, the second function in a pipe is essentially a continuation of the first. A connection is established between functions connected by pipes and more traditional continuation semantics.

UR - http://www.scopus.com/inward/record.url?scp=0020780472&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0020780472&partnerID=8YFLogxK

U2 - 10.1145/2402.322393

DO - 10.1145/2402.322393

M3 - Article

VL - 30

SP - 595

EP - 611

JO - Journal of the ACM

JF - Journal of the ACM

SN - 0004-5411

IS - 3

ER -