<br><br><div><span class="gmail_quote">On 3/20/07, <b class="gmail_sendername">Dan Weston</b> <<a href="mailto:email@example.com">firstname.lastname@example.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dan Weston wrote:<br>> Douglas Philips wrote:<br>>> On 2007 Mar 20, at 3:30 PM, Dan Weston indited:<br>>><br>>>> I looked up John Backus on wikipedia and followed a link to ALGOL:<br>>>> <a href="http://en.wikipedia.org/wiki/ALGOL_60">
http://en.wikipedia.org/wiki/ALGOL_60</a><br>>>> where the following "undesirable" property of call-by-name is mentioned.<br>>>><br>>>> "ALGOL 60 allowed for two evaluation strategies for parameter
<br>>>> passing: the common call-by-value, and call-by-name. Call-by-name had<br>>>> certain limitations in contrast to call-by-reference, making it an<br>>>> undesirable feature in language design. For example, it is impossible
<br>>>> in ALGOL 60 to develop a procedure that will swap the values of two<br>>>> parameters if the actual parameters that are passed in are an integer<br>>>> variable and an array that is indexed by that same integer variable.
<br>>>> However, call-by-name is still beloved of ALGOL implementors for the<br>>>> interesting thunks that are used to implement it."<br>>>><br>>>> I suppose that call-by-name is still beloved of Haskell implementors
<br>>>> as well?<br>>><br>>> Notice that the "problem" with call-by-name is when side-effects are<br>>> involved. In a pure-functional-environment those "problems" don't<br>
>> arise...<br>>><br>>> --Doug<br>><br>> It was the phrase "making it an undesirable feature in language design"<br>> that jumped out at me. Here "language" is an implicitly universally
<br>> quantified variable, and the phrase beta-reduces to "call-by-name is an<br>> undesirable feature in Haskell design".</blockquote><div><br>Ah, but since everything on wikipedia is true yet the conclusion you reached by beta-reduction is false, I believe you have shown that beta-reduction is invalid.
<br>That's alright though, I never liked function application much anyway.<br></div><br></div><br>