[plt-scheme] call-by-value vs. call-by-name?
On Jan 28, 2008 6:28 AM, Benjamin L. Russell <dekudekuplex at yahoo.com> wrote:
> 2) Recently, there seems to have been a great increase
> in focus on lazy evaluation across the functional
> programming landscape. How well, and in what manner,
> does Scheme, as a language with strict evaluation,
> cope with this trend?
What you may be seeing here is the dominance of Haskell in the
functional programming community (certainly Haskellers were the most
prevalent group at this year's ICFP). Two points I think are relevant
here:
1. Every research community has its own definition of what makes an
acceptable result. In PLT I would say the mainstream answer is that
an acceptable result is what can be proved about a program. From
proofs follow types and Haskell has the most expressive type system of
the major FP languages. My opinion is that this is an overly narrow
view. Types are very useful but they aren't everything. You'll
notice other programming language communities, such as OOPSLA, have
very different criteria. [Disclaimer: I think most researchers would
agree with me, but still the emphasis on types is very strong.]
2. FP languages encompass more than is represented at ICFP. For
example, Scala is definitely born of work on FP languages, but wasn't
represented at ICFP.
Bonus point!
3. Of the typed FP languages Haskell has by far the most active
implementation. ML is on life support, and the O'Caml implementors
don't seem very active these days.
N.