Lenient evaluation and parallelism

  • Authors:
  • G. Tremblay;B. Malenfant

  • Affiliations:
  • Départment d'informatique, UQAM, C.P. 8888, Succ. Centre-Ville, Montréal, Québec Canada H3C 3P8;Départment d'informatique, UQAM, C.P. 8888, Succ. Centre-Ville, Montréal, Québec Canada H3C 3P8

  • Venue:
  • Computer Languages
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

In a companion paper (Tremblay G. Lenient evaluation is neither strict nor lazy. Computer languages 2000; 26:43-66.), we showed that non-strict functional languages were not necessarily lazy. More precisely, non-strict functional languages can be divided into lenient and lazy languages, both types allowing program constructions not directly available in strict functional languages. In this paper, we present parallel models of three evaluation strategies (strict, lenient, and lazy), along with an examination of the impact of these evaluation strategies on the implicit parallelism that can be extracted from programs. These formal semantics, expressed using a parallel notation (@p-calculus), make it possible to show why lenient evaluation can be seen as more naturally parallel.