Node:Executing Scheme code, Next:, Previous:Error messages, Up:GH



19.6 Executing Scheme code

Once you have an interpreter running, you can ask it to evaluate Scheme code. There are two calls that implement this:

SCM gh_eval_str (char *scheme_code) Function
This asks the interpreter to evaluate a single string of Scheme code, and returns the result of the last expression evaluated.

Note that the line of code in scheme_code must be a well formed Scheme expression. If you have many lines of code before you balance parentheses, you must either concatenate them into one string, or use gh_eval_file().

SCM gh_eval_file (char *fname) Function
SCM gh_load (char *fname) Function
gh_eval_file is completely analogous to gh_eval_str(), except that a whole file is evaluated instead of a string. gh_eval_file returns SCM_UNSPECIFIED.

gh_load is identical to gh_eval_file (it's a macro that calls gh_eval_file on its argument). It is provided to start making the gh_ interface match the R5RS Scheme procedures closely.