10. Customizations
STklos environement can be customized using Parameter Objects. These parmaters are listed below.
STklos procedure
This parameter object permits to change the default precision used to print real numbers.
(real-precision) => 15
(define f 0.123456789)
(display f) => 0.123456789
(real-precision 3)
(display f) => 0.123
STklos procedure
This parameter object permits to change the behavior of the reader with underscores in numbers. Numbers with underscores are defined in ,(link-srfi 169). By default, this variable is true, meaning that underscores are accepted in numbers.
(accept-srfi-169-numbers) => #t
(symbol? '1_000_000) => #f
(number? '1_000_000) => #t
(accept-srfi-169-numbers #f)
(symbol? '1_000_000) => #t
(number? '1_000_000) => #f
STklos procedure
This parameter object permits to change the default behaviour of
the read
primitive when reading a symbol. If this parameter has a
a true value a symbol is not converted to a default case when interned.
Since R7RS requires that symbol are case insignificant, the default
value of this parameter is #t
.
(read-case-sensitive) => `#t`
(read-from-string "ABC") => ABC
(read-case-sensitive #f)
(read-from-string "ABC") => abc
|
STklos procedure
This parameter object permits to change the default behaviour of
the display
or write
primitives when they write a list which starts with
the symbol quote, quasiquote, unquote or unquote-splicing. If this parameter
has a false value, the writer uses the list notation instead of a
more human-readable value.
By default, this parameter value is set to #t
.
(let ((x ''a))
(display x)
(display " ")
(write-pretty-quotes #f)
(display x)) |- 'a (quote a)
STklos procedure
load-path
is a parameter object. It
returns the current load path. The load path is a list of strings
which correspond to the directories in which a file must be searched for
loading. Directories of the load path are ,(emph "prepended") (in
their apparition
order) to the file name given to load
or try-load
until the file
can be loaded.
The initial value of the current load path can be set from the shell, by
setting the STKLOS_LOAD_PATH
shell variable.
Giving a value
to the parameter load-path
permits to change the
current list of paths.
STklos procedure
load-suffixes
is a parameter object. It
returns the list of possible suffixes for a Scheme file. Each suffix,
must be a string. Suffixes are appended (in their apparition order)
to a file name is appended to a file name given to load
or try-load
until the file can be loaded.
STklos procedure
load-verbose
is a parameter object. It permits to display the
path name of the files which are loaded by load
or try-load
on
the current error port, when set to a true value. If load-verbose
is set to #f
, no message is printed.
STklos procedure
When an untrapped error occurs in a thread, it produces an
uncaught exception which can finally be
trapped when the thread is joined.
Setting the thread-handler-error-show
parameter permits to see
error message as soon as possible, even without joining the thread.
This makes debugging easier. By default, this parameter is set to
#t
.
STklos procedure
stklos-debug-level
is a parameter objet. It permits to know the current
debugging level. The default value of this parameter is 0 (meaning "no debug").
Note that the debugging level can also be set by the --debug
option of the
stklos(1)
command.