4.2 Function Applications
TBoS p.35-36
Applications in Shen are written in prefix form in the manner of Lisp. Partial applications are supported for
nearly all functions and evaluate within Shen to closures. The mode of evaluation is applicative order evaluation and
is strict except in the case of the following.
if, and, or, cases, freeze, let, /., lambda.
(+ (* 7 8) 2)
58
(* 7)
#&60;FUNCTION :LAMBDA (#:Y18379) (multiply #:Y18378 #:Y18379)&62 |
Certain functions that obey the associativity law, i.e. (f (f x y) z) = (f x (f y z)), are also polyadic.
They accept n arguments; these include +, *, or, and and append. Thus (+ 1 2 3) is a legal expression. |