id author title date pages extension mime words sentences flesch summary cache txt en-wikipedia-org-338 Evaluation strategy - Wikipedia .html text/html 3982 352 67 To illustrate, a function application may evaluate the argument before evaluating the function's body and pass the ability to look up the argument's current value and modify it via assignment.[1] The notion of reduction strategy in lambda calculus is similar but distinct. In practical terms, many modern programming languages like C# and Java have converged on a call-by-value/call-by-reference evaluation strategy for function calls.[clarification needed] Some languages, especially lower-level languages such as C++, combine several notions of parameter passing. Call by reference (or pass by reference) is an evaluation strategy where a function receives an implicit reference to a variable used as argument, rather than a copy of its value. In purely functional languages there is typically no semantic difference between the two strategies (since their data structures are immutable, so there is no possibility for a function to modify any of its arguments), so they are typically described as call by value even though implementations frequently use call by reference internally for the efficiency benefits. ./cache/en-wikipedia-org-338.html ./txt/en-wikipedia-org-338.txt