Daniel Paul Friedman
(born 1944) is a professor of Computer Science
at Indiana University
in Bloomington, Indiana
. His research focuses on programming languages
, and he is a prominent author in the field.
With David Wise, Friedman wrote a highly influential paper on lazy programming
, specifically on lazy streams (ICALP
1976). The paper, entitled "Cons should not evaluate its arguments," is one of the first publications pushing for the exploration of a programming style with potentially infinite data structures and a form of programming that employs no computational effects (though programs may diverge). Over the 1970s, Friedman and Wise explored the topic in depth and also considered extensions to the world of parallel computing.
In the 1980s, Friedman turned to the study of Scheme
. He explored the use of macros for defining programming languages; with Kohlbecker, Felleisen
, and Duba, he co-introduced the notion of 'hygienic macros' in a 1986 LFP paper that is still widely cited today. Following that, Friedman and Felleisen
introduced a lambda calculus with continuations
and control operators
. Their work has spawned work on semantics, connections between classical logic and computation, and practical extensions of continuations.
Friedman... Read More