Copyright (C) 2000-2012 |
GNU Info (guile-tut.info)What is libguileWhat is libguile ================ "Libguile" is the library which allows C programs to start a Scheme interpreter and execute Scheme code. There are also facilities in libguile to make C data structures available to Scheme, and vice versa. The interface provided by the libguile C library is somewhat specific to the implementation of the Scheme interpreter. This low-level libguile interface is usually referred to as the `scm_' interface, since its public calls (API) all have the `scm_' prefix. There is also a higher-level libguile interface, which is usually referred to as the `gh_' interface (libGuile High). Its public calls all have the `gh_' prefix. The `gh_' library interface is designed to hide the implementation details, thus making it easier to assimilate and portable to other underlying Scheme implementations. People extending Guile by adding bindings to C libraries (like OpenGL or Rx) are encouraged to use the `gh_' interface, so their work will be portable to other Scheme systems. The `gh_' interface should be more stable, because it is simpler. The `scm_' interface is necessary if you want to poke into the innards of Scheme data structures, or do anything else that is not offered by the `gh_' interface. It is not covered in this tutorial, but is covered extensively in Note: Guile Reference Manual. This chapter gives a gentle introduction to the `gh_' interface, presenting some _hello world_-style programs which I wrote while teaching myself to use libguile. The `Guile Programmer's Manual' gives more examples of programs written using libguile, illustrating diverse applications. You can also consult my _Gnudl_ documentation at <http://nis-www.lanl.gov/~rosalia/mydocs/> to see a large scale project that uses C and Scheme code together. automatically generated by info2www version 1.2.2.9 |