Go to the first, previous, next, last section, table of contents.


Executing Scheme code

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

Function: SCM gh_eval_str (char *scheme_code)
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().

Function: SCM gh_eval_file (char *fname)
Function: SCM gh_load (char *fname)
gh_eval_file is completely analogous to gh_eval_str(), except that a whole file is evaluated instead of a string. Returns the result of the last expression evaluated.

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 R4RS Scheme procedures closely.


Go to the first, previous, next, last section, table of contents.