AbstractOne of the current major developments of computer science is a trend away from procedural programming languages, towards the creation of non-procedural languages. The paper examines the implications of this trend on large-scale mathematical modelling. In a procedural program, the basic rule is the assignment statement. In contrast, a non-procedural program consists of an underdetermined system of equations and nothing else. Consequently a non-procedural program is far more flexible and powerful than its procedural counterpart. While the latter describes only one problem the former may be used to solve every legitimate problem about the object represented by the program. The first major difficulty in designing a non- procedural model...