When an unquoted symbol in a Scheme program is evaluated, it is interpreted as a variable reference, and the result of the evaluation is the appropriate variable’s value.
For example, when the expression (string-length "abcd")
is read
and evaluated, the sequence of characters string-length
is read
as the symbol whose name is "string-length". This symbol is associated
with a variable whose value is the procedure that implements string
length calculation. Therefore evaluation of the string-length
symbol results in that procedure.
The details of the connection between an unquoted symbol and the variable to which it refers are explained elsewhere. See Definitions and Variable Bindings, for how associations between symbols and variables are created, and Modules, for how those associations are affected by Guile’s module system.