Node:Manual Layout, Next:, Previous:Guile License, Up:Top



2 Layout of this Manual

The manual is divided into five parts.

Part I: Introduction to Guile provides an overview of what Guile is and how you can use it. A whirlwind tour shows how Guile can be used interactively and as a script interpreter, how to link Guile into your own applications, and how to write modules of interpreted and compiled code for use with Guile. Everything introduced here is documented again and in full by the later parts of the manual. This part also explains how to obtain and install new versions of Guile, and how to report bugs effectively.

Part II: Writing and Running Guile Scheme and Part III: Programming with Guile document all aspects of practical programming using Guile. This covers both the Scheme level -- where we provide an introduction to the key ideas of the Scheme language -- and use of Guile's scm interface to write new primitives and objects in C, and to incorporate Guile into a C application. It also covers the use of Guile as a POSIX compliant script interpreter, and how to use the Guile debugger.

Part IV: Guile API Reference documents Guile's core API. Most of the variables and procedures in Guile's core programming interface are available in both Scheme and C, and are related systematically such that the C interface can be inferred from the Scheme interface and vice versa. Therefore this part of the manual documents the Guile API in functionality-based groups with the Scheme and C interfaces presented side by side. Where the Scheme and C interfaces for a particular functional area do differ -- which is sometimes inevitable, given the differences in the structure of the two languages -- this is pointed out and explained. In all cases the overriding principle is that all the reference documentation for a given functional area is grouped together.

Part V: Guile Modules describes some important modules, distributed as part of the Guile distribution, that extend the functionality provided by the Guile Scheme core. Two important examples are: