A large part of the effort in formal program developments is expended on repeating the same derivational patterns over and over again. The problem is compounded by notations that require many marks on paper for expressing one elementary concept, and ‘administrative overhead’, consisting of algorithmically uninteresting but technically necessary steps, like shuffling parts of an expression around without change in computational meaning, and the introduction of local auxiliary definitions for lack of a suitable notation for what is being defined. This can to a large extent be avoided by developing suitable theories, including a notation that is designed to increase the manipulability. After a reflexion on some of the issues, the more technical part of this paper is devoted to an attempt to construct a system of combinators that is better amenable to manipulation than the classical ones.

International Conference on Mathematics of Program Construction
Centrum Wiskunde & Informatica, Amsterdam, The Netherlands

Meertens, L.G.L.T. (1989). Constructing a calculus of programs. In Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence (pp. 66–90). doi:10.1007/3-540-51305-1_5