SCRATCHPAD is an interactive system for symbolic mathematical computation. Its user language, originally intended as a special-purpose non-procedural language, was designed to capture the style and succinctness of common mathematical notations, and to serve as a useful, effective tool for on-line problem solving. This paper describes extensions to the language which enable it to serve also as a high-level programming language, both for the formal description of mathematical algorithms and their efficient implementation. © 1974, ACM. All rights reserved.