ApplicationsΒΆ

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 [1].

(1-) (+ (* 7 8) 2)
58

(2-) (* 7)
#<FUNCTION :LAMBDA (#:Y18379) (multiply #:Y18378 #:Y18379)>

The exact form in which the closure is printed is platform dependent.

Footnotes

[1]Except in the case of the following functions; if, and, or, cases, freeze, let.