1. Guile can run interactively, as a script interpreter, and as a Scheme
  2. compiler to VM bytecode.  It is also packaged as a library so that
  3. applications can easily incorporate a complete Scheme interpreter/VM.
  4. An application can use Guile as an extension language, a clean and
  5. powerful configuration language, or as multi-purpose "glue" to connect
  6. primitives provided by the application.  It is easy to call Scheme code
  7. >From C code and vice versa.  Applications can add new functions, data
  8. types, control structures, and even syntax to Guile, to create a
  9. domain-specific language tailored to the task at hand.