Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Notions of computation and monads
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Algebra of programming
Syntactic Analysis and Operator Precedence
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Generation of LR parsers by partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A unifying look at data structures
Communications of the ACM
Introduction to Functional Programming
Introduction to Functional Programming
Heapsort - Adapted for Presorted Files
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
Invited Talk: Pointwise Relational Programming
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
Galois Connections and Fixed Point Calculus
Revised Lectures from the International Summer School and Workshop on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
Inorder Traversal of a Binary Heap and its Inversion in Optimal Time and Space
Proceedings of the Second International Conference on Mathematics of Program Construction
An Alternative Derivation of a Binary Heap Construction Function
Proceedings of the Second International Conference on Mathematics of Program Construction
Scaling and related techniques for geometry problems
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Theory and applications of inverting functions as folds
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
Hi-index | 0.00 |
List or set comprehensions are a wonderful means to define nondeterministic or relational programs. Despite their beauty, comprehensions are somewhat underused in program calculation. The purpose of this paper is to remind the program-calculation community that comprehensions provide a convenient language for specifying and deriving nondeterministic programs in a pointwise manner. We illustrate the style of reasoning by re-solving the well-known problem of constructing tournament representations: Given a sequence x of integers, construct a heap whose inorder traversal is x itself.