You'll notice that values are grouped together with blocks enclosed in square brackets, regardless of whether they're considered code or data. Notice, too, that most data is written in a style that's naturally readable by humans. Dates, for example, are written as you'd expect, URLs are written as URLs, and you'll find that money, time, tags, and other types follow this approach. Although the script looks just like code, in fact, everything within the script is also data. Strings, dates, and email addresses are obviously data, but so are the words and the blocks of the script.
Reflectivity is a language's ability to deal with itself.
Here's an example that illustrates this further. At the beginning of the script there's a descriptive header that makes scripts self-identifying. In addition, the header allows scripts to be embedded in other kinds of environments, such as email or newsgroups, or even on a Web page. Example 1 . In addition, you can extend this header with your own special fields to suit your requirements, such as a project identifier, department number, site location, and so on.