
interpreter has an opportunity to leave any unnecessary computational branch of a program in terms of
determining its final output.
15
This programming environment which executes the algorithm serves as the physical connection
between the mathematical theory and its functionality. In past times, this was achieved by means of the
pLucid compiler which ran on the UNIX platform. Since the UNIX shell allows for the notion of piped
filters using streams of characters, the dataflow mechanism adopted in pLucid seemed natural to any
command line operator.
16
The pLucid evaluator was actually an interactive process on UNIX which made
demand driven requests for input through the keyboard stream and produced corresponding output on the
screen.
17
By applying special filter functions, pLucid programmers could actually pipe their infinite
streams to normal UNIX utility applications, thus mixing pure mathematics with operational commands.
18
In addition to that, it is also important to learn about data types in the Lucid programming
language. Surprisingly, the language is fundamentally typeless, meaning it lacks strict compile-time type
declarations and checking.
19
Nevertheless, when implemented using pLucid, a number of primitive data
types are used such as integers, reals, words, strings, and finite lists based on the POP-2 language.
20
To
avoid terminating the execution of dataflow, the program uses unique objects called `error` and `eod` (end
of data).
21
Evaluation
When considering where exactly Lucid fits into the context of overall programming techniques,
one cannot fail to acknowledge its great structural benefits in parallelism while taking into account the
factors that caused its limited usage in practice. Mathematically, Lucid can be seen as a masterpiece as it
21
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 194
20
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 185
19
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 147, 185
18
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 106
17
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 201
16
William W. Wadge and Edward A. Ashcroft, “Lucid, the Dataflow Programming Language” p. 171
15
E. A. Ashcroft and W. W. Wadge, “The Syntax and Semantics of Lucid - Technical Report CS-84-24” (Ontario,
Canada: Department of Computer Science, University of Waterloo, August 1984), p. 13