Non-strict Languages - Programming and Implementation
Author(s) -
Stuart Wray,
Jon Fairbairn
Publication year - 1989
Publication title -
the computer journal
Language(s) - English
Resource type - Journals
eISSN - 1460-2067
pISSN - 0010-4620
DOI - 10.1093/comjnl/32.2.142
Subject(s) - computer science , expressive power , programming language , functional programming , lazy evaluation , fifth generation programming language , programming paradigm
Non-strict evaluation improves the expressive power of functional languages at the expense of an apparent loss of eeciency. In this paper we give examples of this expressive power, taking as an example an interactive functional program and describing the programming techniques depending on non-strict evaluation which improved its design. Implementation methods for non-strict languages have delivered poor performance precisely when such programming techniques have been used. This need not be the case, however, and in the second part of the paper we describe Tim, a method of implementing non-strict languages for which the penalty for using lazy evaluation is very small.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom