William Clinger (computer scientist)
Encyclopedia
William D. Clinger is an Associate Professor in the College of Computer and Information Science at Northeastern University. Clinger is known for his work on higher-order and functional programming
Functional programming
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state...

 languages, and in particular for his contributions to the standardization of the Scheme programming language
Scheme programming language
Scheme is one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Its compactness and elegance have made it popular with...

. Clinger was an editor of the second through fifth Revised Reports on Scheme (R2RS - R5RS), and an invited speaker on Scheme at the Lisp50 conference celebrating the 50th birthday of the Lisp programming language
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

. He has been on the faculty at Northeastern University since 1994.

Research

Clinger obtained his PhD from the Massachusetts Institute of Technology
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...

 (MIT) under the supervision of Carl Hewitt
Carl Hewitt
Carl Hewitt is Board Chair of the International Society for Inconsistency Robustness. He has been a Visiting Professor at Stanford University and the University of Keio. In 2000, he became emeritus in the EECS department at MIT....

. His doctoral research revolved around defining a denotational semantics
Denotational semantics
In computer science, denotational semantics is an approach to formalizing the meanings of programming languages by constructing mathematical objects which describe the meanings of expressions from the languages...

 for the Actor model
Actor model
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and...

 of concurrent computation, which is the same model of computation that originally motivated development of Scheme.

In addition to editing the R2RS - R5RS Scheme standards, Clinger's contributions to Scheme have included the development of compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

s for two implementations of the language: MacScheme, and Larceny
Larceny (Scheme implementation)
The Larceny Project is a set of computer programming languages, specifically Scheme implementations, using the Twobit optimizing Scheme compiler...

. He has also invented efficient algorithms for hygienic macro
Hygienic macro
Hygienic macros are macros whose expansion is guaranteed not to cause collisions with existing symbol definitions. They are a feature of programming languages such as Scheme and Dylan.-The hygiene problem:...

 expansion, accurate decimal-to-binary conversions, and bounded-latency generational garbage collection
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK