Runtime Options
There are a number of runtime options available for parameterizing built-in procedures, like read, and built-in behavior, like what happens on an uncaught error.
For more information on reader options, See Reading Scheme Code.
For more information on print options, See Writing Scheme Values.
Finally, for more information on debugger options, See Debug options.
6.23.3.1 Examples of option use
Here is an example of a session in which some read and debug option handling procedures are used. In this example, the user
- Notices that the symbols
abcandaBcare not the same - Examines the
read-options, and sees thatcase-insensitiveis set to “no”. - Enables
case-insensitive - Quits the recursive prompt
- Verifies that now
aBcandabcare the same
bash
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) [1]> (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) [1]> (read-enable 'case-insensitive)
$2 = (square-brackets keywords #f case-insensitive positions)
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> aBc
$3 = "hello"