db@lfcs.ed.ac.uk (Dave Berry) (01/13/89)
Some people have recently asked which languages are procedural. The discussion went on to talk about languages that have procedures. I've always thought that procedural languages were those in which you have to specify the procedure that the computer must follow to evaluate your program. Non-procedural languages are those that can be viewed as a static set of definitions. E.g. pure Prolog programs can be viewed as a logic specification, pure functional programs can be viewed as specifying the result of a set of equations, and Lucid can be viewed as specifying the result of operations on potentially infinite sequences. Programs in all these examples can also be interpreted procedurally. Often, if not always, you have to view them procedurally as well as statically when creating them. But the static view makes them much more amenable to analysis. Dave Berry, Laboratory for Foundations of Computer Science, Edinburgh. db%lfcs.ed.ac.uk@nss.cs.ucl.ac.uk <Atlantic Ocean>!mcvax!ukc!lfcs!db