Topic: processing a sequence

topics > computer science > data > Group: sequence operations

data flow languages
file input/output

foreach and for all statements
I/O streams
logging data and events
sequence reduction
software tools
string operations
symbolic manipulation of formulas
uniform representation of files and sequences
Unix pipes
vector processing


Many programs take sequential input and produce sequential output. Input is decoded into components, processed, and results outputted as an encoded sequence. If input and output have the same format than the program is called a filter and becomes a useful software tool which can be chained with other tools (e.g., Unix pipelines).

Encoding/decoding of text may be complicated. For instance syntactic grammars are for decoding text into syntactic components. Sequential processing is usually an element at a time, but it may include syntactic analysis, and processing sequences as a whole. (cbb 5/80)

Jackson argues against the processing of input one record at a time. Instead the program should transform the input into an output while maintaining the file's internal structure. Jackson emphasizes the structure of input and output sequences, they are not just an undifferentiated element sequence. (cbb 1/90)

Subtopic: generate, filter, aggregate streams up

Quote: many tasks consist of generate elements of a set, filter a subset, accumulate over some function [»floyRW8_1979]
Quote: filter programming produces an output stream from an input stream; both streams should be general [»kernBW_1975, OK]
Quote: a filter imports a stream interface and exports another stream interface [»redeDD2_1980]
Quote: many computing tasks are generate elements, filter them, sink them, e.g. print [»thomK_1976, OK]

Subtopic: value flows up

Quote: Lustre extends the usual operators to operate pointwise on flows of values
Quote: for any flow x, pre(x) is the previous value; a- >x is initially a then x; e.g., count of rising edges [»benvA1_2003]

Subtopic: streams up

Quote: Programmers Assistant's plan building methods use structured programming constructs and composed loops which process streams of values [»wateRC1_1982]
Quote: a transducer creates a stream interface from a device driver interface [»redeDD2_1980]
Quote: in FQL, can define functions on sequences of some type [»buneP1_1981]
Quote: can think of an array as a stream that is processed one element at a time; avoids the array bottleneck [»ackeWB_1979]

Subtopic: iteration over values up

Quote: many programs read and process serial input [»jackMA_1975]
Quote: in design, each individual program should have one input and one output file for transactions on an entity such as employees or suppliers [»jackMA_1975]
Quote: Smalltalk allows a block's variables to take a sequence of values [»xlrg8_1981]
Quote: reduce the number of orders by using tags instead of counting; e.g., use -1 to end a sequence of positive numbers [»wilkMV_1951]

Subtopic: time series analysis up

Quote: time series analysis should be linear in time and sublinear in space; use data reduction/transformation, indexing methods, and flexible similarity searching [»shasD_2004]

Subtopic: iteration over data records is wrong up

Quote: many programs become an iteration over data records; this is wrong [»jackMA_1975]
Quote: an iteration of data records prevents the expression of important relationships between records [»jackMA_1975]

Related Topics up

Topic: data flow languages (33 items)
Topic: file input/output (21 items)

Topic: foreach and for all statements (16 items)
Topic: I/O streams (17 items)
Topic: logging data and events (17 items)
Topic: sequence reduction (10 items)
Topic: software tools (20 items)
Topic: string operations (20 items)
Topic: symbolic manipulation of formulas (12 items)
Topic: uniform representation of files and sequences (14 items)
Topic: Unix pipes (10 items)
Topic: vector processing
(15 items)

Updated barberCB 11/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.