A programming language is provided that permits the use of both
dynamically scoped variables and statically scoped variables, and that
allows a programmer to select which scoping is desired for a particular
variable. The programming language comprises at least one language
construct for defining statically scoped variables to be used if a static
scoped variable is desired and at least one language construct for
defining dynamically scoped variables to be used if a dynamically scoped
variable is desired. A method, apparatus, and computer-readable medium
are also provided.