How Much Non-Strictness do Lenient Programs Require?

12 years 5 months ago
How Much Non-Strictness do Lenient Programs Require?
Lenient languages, such as Id90, have been touted as among the best functional languages for massively parallel machines AHN88]. Lenient evaluation combines non-strict semantics with eager evaluation Tra91]. Non-strictness gives these languages more expressive power than strict semantics, while eager evaluation ensures the highest degree of parallelism. Unfortunately, non-strictness incurs a large overhead, as it requires dynamic scheduling and synchronization. As a result, many powerful program analysis techniques have been developed to statically determine when non-strictness is not required CPJ85, Tra91, Sch94]. This paper studies a large set of lenient programs and quanti es the degree of non-strictness they require. We identify several forms of non-strictness, including functional, conditional, and data structure non-strictness. Surprisingly, most Id90 programs require neither functional nor conditional non-strictness. Many benchmark programs, however, make use of a limited form ...
Klaus E. Schauser, Seth Copen Goldstein
Added 26 Aug 2010
Updated 26 Aug 2010
Type Conference
Year 1995
Where FPCA
Authors Klaus E. Schauser, Seth Copen Goldstein
Comments (0)