[previous] [up] [next]     [contents] [index]
Next: BignumsRationals, and Complex Up: Parameterizations Previous: Parameterizations

Library Functions

Scheme_Object *scheme_get_param(Scheme_Config *config, int param_id) 

Gets the current value of the parameter specified by param_id. (This is a macro.)

Scheme_Object *scheme_get_param_or_null(Scheme_Config *config, int param_id) 

Gets the current value of the parameter specified by param_id. (This is a macro.)

Scheme_Object *scheme_make_config(Scheme_Config *base) 

Creates and returns a new configuration, using base as the base configuration. If base is NULL, the current thread's parameterization's current base parameterization is used.

int scheme_new_param() 

Allocates a new primitive parameter index. This function must be called before scheme_basic_env.

Scheme_Object *scheme_make_parameter(Scheme_Prim *function, char *name) 

Use this function instead of the other primitive-constructing functions, like scheme_make_prim, to create a primitive parameter procedure. See also scheme_param_config, below.

Scheme_Object *scheme_param_config( char *name, long param_id, int argc, Scheme_Object **argv,
               int arity, Scheme_Prim *check, char *expected, int isbool) 

Call this procedure in a primitive parameter procedure to implement the work of getting or setting the parameter. The name argument should be the parameter procedure name; it is used to report errors. The param_id argument is the primtive parameter index returned by scheme_new_param. The argc and argv arguments should be the un-touched and un-tested arguments that were passed to the primitive parameter (the implementation of in-parameterization will do strange things to these arguments). Argument-checking is performed within scheme_param_config using arity, check, expected, and isbool:


[previous] [up] [next]     [contents] [index]
Next: BignumsRationals, and Complex Up: Parameterizations Previous: Parameterizations

PLT