There are a number of runtime options available for paramaterizing
built-in procedures, like
read, and built-in behavior, like what
happens on an uncaught error.
For more information on reader options, See Scheme Read.
For more information on print options, See Scheme Write.
Finally, for more information on debugger options, See Debug Options.
Here is an example of a session in which some read and debug option handling procedures are used. In this example, the user
aBcare not the same
read-options, and sees that
case-insensitiveis set to “no”.
abcare the same
scheme@(guile-user)> (define abc "hello") scheme@(guile-user)> abc $1 = "hello" scheme@(guile-user)> aBc <unknown-location>: warning: possibly unbound variable `aBc' ERROR: In procedure module-lookup: ERROR: Unbound variable: aBc Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) > (read-options 'help) copy no Copy source code expressions. positions yes Record positions of source code expressions. case-insensitive no Convert symbols to lower case. keywords #f Style of keyword recognition: #f, 'prefix or 'postfix. r6rs-hex-escapes no Use R6RS variable-length character and string hex escapes. square-brackets yes Treat `[' and `]' as parentheses, for R6RS compatibility. hungry-eol-escapes no In strings, consume leading whitespace after an escaped end-of-line. curly-infix no Support SRFI-105 curly infix expressions. scheme@(guile-user) > (read-enable 'case-insensitive) $2 = (square-brackets keywords #f case-insensitive positions) scheme@(guile-user) > ,q scheme@(guile-user)> aBc $3 = "hello"