*** Welcome to piglix ***

Tim Teitelbaum

Tim Teitelbaum
Born (1943-04-12) April 12, 1943 (age 74)
Institutions Cornell University (1973-2010)
GrammaTech (1988-present)
Institut National de Recherche en Informatique et en Automatique (INRIA) in Rocquencourt, France (1982-83)
Alma mater M.I.T., S.B., 1964
Carnegie Mellon University, Ph.D., 1975
Thesis Minimum Distance Analysis of Syntax Errors in Computer Programs (1975)
Doctoral advisor Nico Habermann
Doctoral students Thomas W. Reps
Susan B. Horwitz
Roger Hoover
Bill Pugh
Stephen Peckham
Allan Zaring
John Field
John Reppy
Yanhong Annie Liu
Aswin vanden Berg

Tim Teitelbaum (born 12 April 1943, United States) is an American computer scientist known for his early work on integrated development environments (IDEs), syntax-directed editing, and incremental computation. As an educator and faculty member of the Cornell University Computer Science Department since 1973, he was recognized for his large-scale teaching of introductory programming, and for his mentoring of highly successful graduate students. As a businessman, he is known for having co-founded GrammaTech, Inc. and for having been its sole CEO since 1988.

In 1978, Professor Teitelbaum created the Cornell Program Synthesizer, one of the seminal systems that demonstrated the power of tightly integrating a collection of program development tools, all deeply knowledgeable about a programming language and its semantics, into one unified framework. His more than 45 lectures and demonstrations of this early IDE during 1979-82, as well as the credo of his 1981 paper co-authored with Thomas Reps, asserted:

Programs are not text; they are hierarchical compositions of computational structures and should be edited, executed, and debugged in an environment that consistently acknowledges and reinforces this viewpoint.

Motivated by the importance of immediate feedback in interactive systems such as IDEs, Teitelbaum’s research in the 1980s and 1990s focused on the problem of incremental computation:

Given a program P written in language L, and the result of executing P on input x, how can one efficiently determine the result of running P on input x’, where the difference between x and x’ is some small increment x’-x.

In a body of work with his graduate students, Teitelbaum investigated this problem for a range of languages L that included attribute grammars, SQL, first-order functional languages, and the lambda calculus. In addition to incremental evaluation methods, the work also included program transformation methods, i.e., the automatic derivation from P of an incremental program P’, where executing P’ on previous result P(x), increment x’-x, and auxiliary information retained from previous executions, efficiently performs the same computation as executing P on input x’.


...
Wikipedia

...