People
Faculty Members
William D. Clinger |
![]() |
Professor Clinger focuses on the design, specification, and implementation of functional and higher-order programming languages. His research interest stems from programming languages' ability to connect mathematically sophisticated theories of syntax and semantics to economically important details of computer hardware and software.
In the course of his career, Professor Clinger has proven the correctness of a commercial compiler's algorithm for generating code, invented efficient algorithms for hygienic macro expansion and converting decimal scientific notation into the nearest binary floating-point approximation, and contributed to development of the IEEE/ANSI standard for Scheme.
Currently, he is examining compiler optimization for higher-order languages and nonpredictive generational garbage collection. The amortized efficiency of generational garbage collection depends upon the collector's ability to identify storage regions that contain an unusually low percentage of live objects. By proving that this is easier than heuristic prediction of object lifetimes, Professor Clinger has pointed the way to promising new algorithms.
The performance of some of these algorithms is currently being tested, using the Larceny implementation of Scheme written by Professor Clinger and a PhD student, Lars Hansen. The latest version of Larceny allows experiments to be conducted using four interchangeable garbage collectors; others will soon be added. Larceny is based on Professor Clinger's Twobit compiler, which he uses to measure the effectiveness of compiler optimizations as well as garbage collectors.
Career Publication Highlights
Clinger, William D. 1990. How to read floating-point numbers accurately. In proceedings, 1990 ACM conference on programming language design and implementation, 92-101. New York: ACM Press.
Clinger, William D., Richard Kelsey, and Jonathan Rees, eds. 1998. Revised report on the algorithmic language Scheme. Journal of Higher-Order and Symbolic Computation 11, no. 1: 7-105.
Clinger, William D., and Jonathan Rees. 1991. Macros that work. In proceedings, 1991 ACM conference on principles of programming languages, 155-162. New York: ACM Press
