Lambda Calculi and Linear Speedups
Kapitel i bok, 2002

The equational theories at the core of most functional programming are variations on the standard lambda calculus. The best known of these is the call-by-value lambda calculus whose core is the value-beta computation rule (λχ.M) V → M[V/χ] where V is restricted to be a value rather than an arbitrary term. This paper investigates the transformational power of this core theory of functional programming. The main result is that the equational theory of the call-by-value lambda calculus cannot speed up (or slow down) programs by more than a constant factor. The corresponding result also holds for call-by-need but we show that it does not hold for call-byname: there are programs for which a single beta reduction can change the program’s asymptotic complexity.

Författare

David Sands

Chalmers, Institutionen för datavetenskap

Jörgen Gustavsson

Chalmers, Institutionen för datavetenskap, Funktionell programmering

Andrew Keith Moran

Chalmers, Institutionen för datavetenskap

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1007/3-540-36377-7_4

ISBN

978-3-540-00326-7

Mer information

Skapat

2017-10-07