<p>J.C. Mitchell cites in his "Expressive power of programming languages" the result in Riecke's "Fully abstract translations between functional languages" about the call-by-value, call-by-name and lazy versions of the language PCF.</p>

<p>He mentions: In lazy PCF, call-by-name evaluation order is used, but additionally termination is observed using some convergence-testing language primitive.</p>

<p>In general terms, he says, the main results are that call-by-value and lazy PCF are equally expressive (apparently shown in Riecke by means of an abstraction-preserving reduction), and both are more expressive than call-by-name PCF.</p>

<p>The first part, of this previous statement is intuitive. The second is not yet to me.</p>

<p><em>EDIT: Removed some nonsense I had written earlier.</em></p>

CC BY-SA 3.0
2016-08-14T20:36:28.397Z
I am not sure what sort of an answer you're expecting here. It would help to know whether you read the cited papers, attempted to read them, or you're just hoping someone will give an executive summary (which is what this site is good at)?
Andrej Bauer
CC BY-SA 3.0
2016-08-15T11:07:54.933Z
@AndrejBauer Didn't attempt to read Riecke's paper yet. Yes, I was actually hoping for a summary that would help me when I do read it. Thanks.
Akram El-Korashy
<pl.programming-languages><functional-programming><semantics>
Is there is an intuitive explanation why call-by-name PCF is less expressive than both call-by-value PCF and lazy PCF?
Akram El-Korashy
# Is there is an intuitive explanation why call-by-name PCF is less expressive than both call-by-value PCF and lazy PCF?

(Asked by: username_0 on 2016-08-11)

J.C. Mitchell cites in his "Expressive power of programming languages" the result in Riecke's "Fully abstract translations between functional languages" about the call-by-value, call-by-name and lazy versions of the language PCF.

He mentions: In lazy PCF, call-by-name evaluation order is used, but additionally termination is observed using some convergence-testing language primitive.

In general terms, he says, the main results are that call-by-value and lazy PCF are equally expressive (apparently shown in Riecke by means of an abstraction-preserving reduction), and both are more expressive than call-by-name PCF.

The first part, of this previous statement is intuitive. The second is not yet to me.

*EDIT: Removed some nonsense I had written earlier.*

**Tags:** pl.programming-languages, functional-programming, semantics

> **Comments:**
> **username_1**: I am not sure what sort of an answer you're expecting here. It would help to know whether you read the cited papers, attempted to read them, or you're just hoping someone will give an executive summary (which is what this site is good at)?  
> **username_0**: @AndrejBauer Didn't attempt to read Riecke's paper yet. Yes, I was actually hoping for a summary that would help me when I do read it. Thanks.  

---

## 0 answers

