X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=rosetta1.mdwn;h=eda1a9f8174929bea8e950731684afd8e2edb4c7;hp=1c603674294c62db7f6db355c6cb9b41799f5fd5;hb=13d1f0c86e0ffb3fdeca38f40640160b579049aa;hpb=58af930a36d62c3830557a8b17e100f2ac53181e diff --git a/rosetta1.mdwn b/rosetta1.mdwn index 1c603674..eda1a9f8 100644 --- a/rosetta1.mdwn +++ b/rosetta1.mdwn @@ -110,7 +110,13 @@ Scheme has no infix operators. It ruthlessly demands that all functions to be ap (+ 3 2) -and the like. Moreover, in Scheme parentheses are never optional and never redundant. In contexts like this, the parentheses are necessary to express that the function is being applied; `+ 3 2` on its own is not a complete Scheme expression. And if the `+` were surrounded by its own parentheses, as in: +and the like. Here is an example where the function to be applied is the result of evaluating a more complex expression: + + ((if #t + *) 3 2) + +which will evaluate to `5`, not `6`. + +In Scheme the parentheses are never optional and never redundant. In expressions like `(+ 3 2)`, the parentheses are necessary to express that the function is being applied; `+ 3 2` on its own is not a complete Scheme expression. And if the `+` were surrounded by its own parentheses, as in: ((+) 3 2)