High level operations in automatic programming

We discuss the thesis that one good way of achieving non-procedural or problem-oriented languages is by constructing higher and higher level procedural languages. We present a set of operations embedded in a programming language VERS2 which represent a higher level of description than currently exists. These include iterators (operations which, if written out, would normally involve an iteration over a group of objects), pattern matching facilities, implicitly specified data structures, and the ability to place constraints on data structures.