Next: Library Functions
Up: MzScheme Architecture
Previous: Library Functions
Parameterization information is stored in a
Scheme_Config record. For the currently executing
thread, scheme_config is the current parameterization.
For any thread, the thread's Scheme_Process record's
config field stores the parameterization pointer.
Parameter values for built-in parameters are obtained and modified using
scheme_get_param and scheme_set_param. Each
parameter is stored as a Scheme_Object * value, and the
built-in parameters are accessed through the following indices:
- MZCONFIG_ENV -- current-namespace (use scheme_get_env)
- MZCONFIG_INPUT_PORT -- current-input-port
- MZCONFIG_OUTPUT_PORT -- current-output-port
- MZCONFIG_ERROR_PORT -- current-error-port
- MZCONFIG_USER_BREAK_POLL_HANDLER -- user-break-poll-handler
- MZCONFIG_ENABLE_BREAK -- break-enabled
- MZCONFIG_ENABLE_EXCEPTION_BREAK -- exception-break-enabled
- MZCONFIG_ERROR_DISPLAY_HANDLER -- error-display-handler
- MZCONFIG_ERROR_PRINT_VALUE_HANDLER -- error-value->string-handler
- MZCONFIG_EXIT_HANDLER -- exit-handler
- MZCONFIG_EXN_HANDLER -- current-exception-handler
- MZCONFIG_DEBUG_INFO_HANDLER -- debug-info-handler
- MZCONFIG_EVAL_HANDLER -- current-eval
- MZCONFIG_LOAD_HANDLER -- current-load
- MZCONFIG_PRINT_HANDLER -- current-print
- MZCONFIG_PROMPT_READ_HANDLER -- current-prompt-read
- MZCONFIG_CAN_READ_GRAPH -- read-accept-graph
- MZCONFIG_CAN_READ_COMPILED -- read-accept-compiled
- MZCONFIG_CAN_READ_BOX -- read-accept-box
- MZCONFIG_CAN_READ_TYPE_SYMBOL -- read-accept-type-symbol
- MZCONFIG_CAN_READ_PIPE_QUOTE -- read-accept-pipe-quote
- MZCONFIG_PRINT_GRAPH -- print-graph
- MZCONFIG_PRINT_STRUCT -- print-struct
- MZCONFIG_PRINT_BOX -- print-box
- MZCONFIG_CASE_SENS -- read-case-sensitive
- MZCONFIG_SQUARE_BRACKETS_ARE_PARENS -- read-square-brackets-as-parens
- MZCONFIG_CURLY_BRACES_ARE_PARENS -- read-curly-braces-as-parens
- MZCONFIG_ERROR_PRINT_WIDTH -- error-print-width
- MZCONFIG_CONFIG_BRANCH_HANDLER -- parameterization-branch-handler
- MZCONFIG_CONFIG_WILL_EXECUTOR -- current-will-executor
- MZCONFIG_ALLOW_SET_UNDEFINED -- allow-compile-set!-undefined
- MZCONFIG_ALLOW_COND_AUTO_ELSE -- allow-compile-cond-fallthrough
- MZCONFIG_MANAGER -- current-custodian
- MZCONFIG_REQ_LIB_USE_COMPILED -- require-library-use-compiled
- MZCONFIG_LOAD_DIRECTORY -- current-load-relative-directory
- MZCONFIG_COLLECTION_PATHS -- current-library-collection-paths
- MZCONFIG_PORT_PRINT_HANDLER -- global-port-print-handler
- MZCONFIG_REQUIRE_COLLECTION -- current-require-relative-collection
- MZCONFIG_LOAD_EXTENSION_HANDLER -- current-load-extension
When installing a new parameter with scheme_set_param,
no checking is performed on the supplied value to ensure that
it is a legal value for the parameter; this is the responsibility
of the caller of scheme_set_param. Note that Boolean
parameters should only be set to the values #t and
#f.
New primitive parameter indices are created with
scheme_new_param and implemented with
scheme_make_parameter and scheme_param_config.
Next: Library Functions
Up: MzScheme Architecture
Previous: Library Functions
PLT