Cornell University Programming Language (also called CUPL) is a procedural computer programming language developed at Cornell University in the late 1960s.
CUPL was based on an earlier Cornell-developed programming language, CORC. It was used to teach introductory computer programming classes.
CUPL was developed by Richard W. Conway, W. L. Maxwell, G. Blomgren, Howard Elder, H. Morgan, C. Pottle, W. Riddle, and Robert Walker. CUPL had a very simple syntax similar to BASIC and to PL/I. The processor was designed to offer extensive error correction and diagnostic capabilities. This would allow student programs to execute even if they contained minor syntax errors. The compiler also included spelling correction capabilities so that if a variable name is referenced only once, the compiler would assume that it was a misspelling of some other intended name.
CUPL also offered an extensive set of matrix operations and offered dynamic run-time memory allocation. At the time, Cornell's computer was an IBM System/360 Model 40 batch processing system with only 64 KB of core memory. CUPL was able to process a large number of student programs quickly by remaining resident in core memory, but the compiler occupied 58 KB of memory, leaving only a small amount for the program code and variable storage.
Derivative projects
Additional computer language projects grew out of CUPL. The CUPL compiler was reworked to implement a subset of the PL/I programming language, called PL/C. PL/C retained the diagnostic and error correction features of CUPL.
Audio CUPL was an implementation to accept verbal CUPL statements spoken by the programmer. Each programmer trained the system by first speaking a standard set of CUPL vocabulary words for reference.
Retrocomputing implementation
There is an implementation of CUPL and CORC in modern C for Unix-like systems that includes both transcriptions of the original manuals and a chrestomathy of programs in these languages. It is available at the Retrocomputing Museum.
References
- ^ Conway, Richard W.; Maxwell, William L. (January 1968). CUPL—An approach to introductory computing instructions. Computer Science (Technical report). Cornell University. 68-4. Retrieved 2022-09-15.
- Ashlee Vance; Jeff Broido (November 18, 2008). "Teaching Everyone to Speak Big Blue". The New York Times.
- I taught myself Cornell's own student language, CUPL
- David Gries (2015-07-31). "A Conversation with Richard W. Conway".
- Elder, Howard A. (July 1969). On the feasibility of voice input to an on-line computer processing system. Computer Science (Technical report). Cornell University. 69-38. Retrieved 2022-09-15.
- Retrocomputing Museum
External links
- Resource page for cupl 1.6, providing binary and source code and background information about CUPL and CORC.