A phased programming paradigm
Charles T. Zahn · ACM SIGCSE Bulletin · 1988
Correctness and efficiency are both legitimate concerns in program development. Through an extended example we present a multi-phase paradigm which encourages early algorithms to be abstract and maximally nondeterministic in the spirit of Dijkstra's guarded commands [4] but which caters equally for correctness, termination, data representation, efficiency and practical implementation in a low level language.