previous up next     contents index
Next: Exceptions and Escaping Continuations Up: Evaluation Previous: Tail Evaluation

Library Functions

 
Scheme_Object *  scheme_eval(Scheme_Object *expr, Scheme_Env *env) 

Evaluates the (uncompiled) S-expression expr in the environment env.

 
Scheme_Object *  scheme_eval_compiled(Scheme_Object *obj, Scheme_Env *env) 

Evaluates the compiled expression in the given environment.

 
Scheme_Object *  scheme_apply(Scheme_Object *f, int c, Scheme_Object *args[]) 

Applies the procedure f to the given arguments.

 
Scheme_Object *  scheme_apply_to_list(Scheme_Object *f, Scheme_Object *args) 

Applies the procedure f to the list of arguments in args.

 
Scheme_Object *  scheme_eval_string(char *str, Scheme_Env *env) 

Reads an S-expression from str and evaluates it in the given environment.

 
Scheme_Object *  scheme_tail_apply(Scheme_Object *f, int n, Scheme_Object *args[]) 

Applies the procedure as a tail-call. Actually, this function just registers the given application to be invoked when control returns to the evaluation loop.

 
Scheme_Object *  scheme_tail_apply_no_copy(Scheme_Object *f, int n, Scheme_Object *args[]) 

Like scheme_tail_apply, but the array args is not copied. Use this only when args has infinite extent and will not be used again, or when args will certainly not be used again until the called procedure has returned.

 
Scheme_Object *  scheme_tail_apply_to_list(Scheme_Object *f, Scheme_Object *l) 

Applies the procedure as a tail-call.

 
Scheme_Object *  scheme_tail_eval_expr(Scheme_Object *obj, Scheme_Env *env) 

Tail-evaluates the given compiled expression. Actually, this function just registers the expression to be evaluated when control returns to the evaluation loop.

 
Scheme_Object *  scheme_values(int n, Scheme_Object *args[]) 

  Returns the given values together as multiple return values.

 
void   scheme_rep() 

Executes a read-eval-print loop, reading from  scheme_stdin_port and writing to  scheme_stdout_port. The current thread's environment is used.



PLT