Topic: data flow languages
Topic: file input/output
Topic: foreach and for all statements
Topic: I/O streams
Topic: logging data and events
Topic: sequence reduction
Topic: software tools
Topic: string operations
Topic: symbolic manipulation of formulas
Topic: uniform representation of files and sequences
Topic: Unix pipes
Topic: vector processing
| |
Summary
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
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
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
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
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
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
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
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)
|