We present the development of the Lucid language from the Original Lucid of the mid-1970s to the TransLucid of today. Each
successive version of the language has been a generalisation of previous languages, but with a further understanding of the
problems at hand.
The Original Lucid (1976), originally designed for purposes of formal verification, was used to formalise the iteration in
while-loop programs. The pLucid language (1982) was used to describe dataflow networks. Indexical Lucid (1987) was introduced for
intensional programming, in which the semantics of a variable was understood as a function from a universe of possible worlds
to ordinary values. With TransLucid, and the use of contexts as firstclass values, programming can be understood in a Cartesian
framework.
Mathematics Subject Classification (2000). 68N15
Keywords. Declarative programming - multidimensional programming - Lucid programming language