A simple tree-like programming/specification language is presented. The central idea is the dividing of conventional programming constructs into the two classes of and and or subgoaling, the subgoal tree itself constituting the program. Programs written in the language can, in general, be both nondeterministic and parallel. The syntax and semantics of the language are defined, a method for verifying programs written in it is described, and the practical significance of programming in the language assessed. Finally, some directions for further research are indicated.
The idea to use alternation as a programming paradigm dates back to the work by Harel REF , who suggested a programming language which divides conventional programming constructs into classes of "and-" and "or-subgoals".
And/Or Programs: A New Approach to Structured Programming
TOPL
Computer Science