PROPERTIES OF A NOTATION FOR COMBINING FUNCTIONS.

Jean Claude Raoult, Ravi Sethi

Research output: Contribution to journalArticle

7 Citations (Scopus)

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 languageEnglish (US)
Pages (from-to)595-611
Number of pages17
JournalJournal of the ACM
Volume30
Issue number3
DOIs
StatePublished - Jul 1983
Externally publishedYes

Fingerprint

Notation
Pipe
Continuation
Semantics
Handed
State Machine
Linear Order
Operator
Programming Languages
Computer programming languages
Zero

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

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

In: Journal of the ACM, Vol. 30, No. 3, 07.1983, p. 595-611.

Research output: Contribution to journalArticle

Raoult, Jean Claude ; Sethi, Ravi. / PROPERTIES OF A NOTATION FOR COMBINING FUNCTIONS. In: Journal of the ACM. 1983 ; Vol. 30, No. 3. pp. 595-611.
@article{82157877bd0040aaa1eb9b68b43bc58c,
title = "PROPERTIES OF A NOTATION FOR COMBINING FUNCTIONS.",
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.",
author = "Raoult, {Jean Claude} and Ravi Sethi",
year = "1983",
month = "7",
doi = "10.1145/2402.322393",
language = "English (US)",
volume = "30",
pages = "595--611",
journal = "Journal of the ACM",
issn = "0004-5411",
publisher = "Association for Computing Machinery (ACM)",
number = "3",

}

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 -