Talk:Comparison of normal-order evaluation and applicative-order evaluation

Most of the resources I've seen seem to claim that normal-order and call-by-name are equivalent, and that call-by-value and applicative-order are equivalent; however, some have claimed (in particular Benjamin Pierce's "Types and Programming Languages") that call-by-name is slightly different in that it does not reduce redices inside a single lambda term. In this case, it's not accurate to claim that Haskell implements normal-order evaluation.

I have yot to find a reliable enough formal definition for applicative-order evaluation to know whether it really is the same thing as either left-to-right call-by-value evaluation (as in Standard ML) or right-to-left call-by-value evaluation (as in OCaml). Most of the sources I've seen suggest that it is the same as Scheme's call-by-value, which I believe is left-to-right; does the term "applicative order" also apply to OCaml?

Also, the article is fairly informal (not encyclopedic in tone) and has some minor NPOV issues (there really isn't consensus among the functional programming community as to what kind of evaluation is "intuitive") that really ought to be corrected.
 * --bmills 05:56, 23 October 2005 (UTC)

I'm cleaning up the "calling conventions" part of Parameter (computer science) into a new article called evaluation strategy. I think a lot of the content from here might fit nicely there, too -- and the title is a lot shorter! =) What do you think?
 * --bmills 19:09, 23 October 2005 (UTC)