Yaclml

The TAL Expression language 

Generally we don't want lisp code to appear in TAL templates, however there are two exceptions to this rule:

- tags or attributes which operate on values taken from the environment (eg: the content and dolist attributes discussed below) are passed regular lisp code (expressed as text and then converted to lisp via READ-FROM-STRING).

- Inside other HTML attributes where we would like to substitute the value of some lisp code inside the textual value of the attribute.

When a lisp expression is expected as the value of a TAL attribute the '$' read macro can be used to access values in current TAL environment.

When a string value is expected for an HTML attribute the syntax "${...}" can be used to evaluate a lisp form and substitute the result into the contain attribute value. The \"@{...}\" syntax differs from the "${...}\" syntax in that the form is expected to return a list and every element of that list is embedded in the enclosing attribute. Inside the lisp forms the \"$\" read macro is available as with regular lisp only attributes.