Nov 28, 2017

Lucid is a functional programming language from the '80s that took a very different approach. All variables are infinite streams of values. It is a grandfather of sorts of reactive programming. Although the book title claims it's a dataflow language, the original Lucid is more a type of reduction-strategy functional language with a twist (viz. they call it Eduction).

The authors later refined the idea with Multidimensional Lucid, which replaces a slew of special forms (e.g. next, fby) and better deals with complex nested iterations, essentially by introducing a eval-at-context operator (context being a vector of dimension values). The Multidimensional Programming ( book starts with the example of transposing a matrix without touching its values.

Here's the Lucid wikipedia page:

The relatively ancient pLucid implementation can be found here:

The original book's PDF can be found on various sites, such as Bret Victor's,%20the%20Datafl...