The foundation of any language is its vocabulary. In <#48405#>Beginning Student<#48405#>
Scheme, we distinguish four categories of words: variables, constants,
primitive functions, and keywords. The classification ignores parentheses
but we know that every compound phrase is surrounded by a pair of
parentheses, and that every atomic phrase stands on its own.
<#48406#>Advanced Student<#48406#> Scheme respects this basic classification, though it
contains four important new keywords: <#68838#><#48407#>local<#48407#><#68838#>, <#68839#><#48408#>lambda<#48408#><#68839#>,
<#68840#><#48409#>set!<#48409#><#68840#>, and <#68841#><#48410#>begin<#48410#><#68841#>. The first two are important for
organizing and abstracting programs; the last two are important for the
computation of effects. Still, keywords <#48411#>per se<#48411#> have no
meaning. They are road signs that tell us what is ahead so that we can
orient ourselves. It is the grammar and the meaning of a language that
explains the role of the keywords.