Scheme supports the definition of variables in different contexts. Variables can be defined at the top level, so that they are visible in the entire program, and variables can be defined locally to procedures and expressions. This is important for modularity and data abstraction.
|• Top Level:||Top level variable definitions.|
|• Local Bindings:||Local variable bindings.|
|• Internal Definitions:||Internal definitions.|
|• Binding Reflection:||Querying variable bindings.|
|• Binding Multiple Values:||Binding multiple return values.|