Improving programs by the introduction of recursion
Communications of the ACM
A Discipline of Programming
Specification statements and refinements
IBM Journal of Research and Development
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unifying correctness statements
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Hi-index | 0.00 |
Programming languages are not an ideal vehicle for expressing algorithms. This paper sketches how a language Abstracto might be developed for “algorithmic expressions” that may be manipulated by the rules of “algorithmics”, quite similar to the manipulation of mathematical expressions in mathematics. Two examples are given of “abstract” algorithmic expressions that are not executable in the ordinary sense, but may be used in the derivation of programs. It appears that the notion of “refinement” may be replaced by a weaker notion for abstract algorithmic expressions, corresponding also to a weaker notion of “weakest precondition”.