guile.texi 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. \input texinfo
  2. @c -*-texinfo-*-
  3. @c %**start of header
  4. @setfilename guile.info
  5. @settitle Guile Reference Manual
  6. @set guile
  7. @set MANUAL_EDITION 0.1
  8. @c %**end of header
  9. @c Define indices that are used in the Guile Scheme part of the
  10. @c reference manual to group stuff according to whether it is R5RS or a
  11. @c Guile extension.
  12. @defcodeindex rn
  13. @include version.texi
  14. @c vnew - For (some) new items, indicates the Guile version in which
  15. @c item first appeared. In future, this could be made to expand to
  16. @c something like a "New in Guile 45!" banner.
  17. @macro vnew{VERSION}
  18. @end macro
  19. @c @iftex
  20. @c @cropmarks
  21. @c @end iftex
  22. @dircategory The Algorithmic Language Scheme
  23. @direntry
  24. * Guile Reference: (guile). The Guile reference manual.
  25. @end direntry
  26. @setchapternewpage off
  27. @ifinfo
  28. Guile Reference Manual
  29. Copyright (C) 1996 Free Software Foundation @*
  30. Copyright (C) 1997 Free Software Foundation @*
  31. Copyright (C) 2000 Free Software Foundation @*
  32. Copyright (C) 2001 Free Software Foundation @*
  33. Copyright (C) 2002 Free Software Foundation
  34. Permission is granted to make and distribute verbatim copies of
  35. this manual provided the copyright notice and this permission notice
  36. are preserved on all copies.
  37. @ignore
  38. Permission is granted to process this file through TeX and print the
  39. results, provided the printed document carries copying permission
  40. notice identical to this one except for the removal of this paragraph
  41. (this paragraph not being relevant to the printed manual).
  42. @end ignore
  43. Permission is granted to copy and distribute modified versions of this
  44. manual under the conditions for verbatim copying, provided that the entire
  45. resulting derived work is distributed under the terms of a permission
  46. notice identical to this one.
  47. Permission is granted to copy and distribute translations of this manual
  48. into another language, under the above conditions for modified versions,
  49. except that this permission notice may be stated in a translation approved
  50. by the Free Software Foundation.
  51. @end ifinfo
  52. @titlepage
  53. @sp 10
  54. @comment The title is printed in a large font.
  55. @title Guile Reference Manual
  56. @subtitle Edition @value{MANUAL_EDITION}, for use with Guile @value{VERSION}
  57. @subtitle $Id: guile.texi,v 1.13.2.1 2002-05-05 11:31:59 ttn Exp $
  58. @c AUTHORS
  59. @c The Guile reference and tutorial manuals were written and edited
  60. @c largely by Mark Galassi and Jim Blandy. In particular, Jim wrote the
  61. @c original tutorial on Guile's data representation and the C API for
  62. @c accessing Guile objects.
  63. @c Significant portions were contributed by Gary Houston (contributions
  64. @c to POSIX system calls and networking, expect, I/O internals and
  65. @c extensions, slib installation, error handling) and Tim Pierce
  66. @c (sections on script interpreter triggers, alists, function tracing).
  67. @c Tom Lord contributed a great deal of material with early Guile
  68. @c snapshots; although most of this text has been rewritten, all of it
  69. @c was important, and some of the structure remains.
  70. @c Aubrey Jaffer wrote the SCM Scheme implementation and manual upon
  71. @c which the Guile program and manual are based. Some portions of the
  72. @c SCM and SLIB manuals have been included here verbatim.
  73. @c Since Guile 1.4, Neil Jerram has been maintaining and improving the
  74. @c reference manual. Among other contributions, he wrote the Basic
  75. @c Ideas chapter, developed the tools for keeping the manual in sync
  76. @c with snarfed libguile docstrings, and reorganized the structure so as
  77. @c to accommodate docstrings for all Guile's primitives.
  78. @c Martin Grabmueller has made substantial contributions throughout the
  79. @c reference manual in preparation for the Guile 1.6 release, including
  80. @c filling out a lot of the documentation of Scheme data types, control
  81. @c mechanisms and procedures. In addition, he wrote the documentation
  82. @c for Guile's SRFI modules and modules associated with the Guile REPL.
  83. @author Mark Galassi
  84. @author Cygnus Solution and Los Alamos National Laboratory
  85. @author @email{rosalia@@cygnus.com}
  86. @author
  87. @author Jim Blandy
  88. @author Free Software Foundation and MIT AI Lab
  89. @author @email{jimb@@red-bean.com}
  90. @author
  91. @author Gary Houston
  92. @author @email{ghouston@@arglist.com}
  93. @author
  94. @author Tim Pierce
  95. @author @email{twp@@skepsis.com}
  96. @author
  97. @author Neil Jerram
  98. @author @email{neil@@ossau.uklinux.net}
  99. @author
  100. @author Martin Grabmueller
  101. @author @email{mgrabmue@@cs.tu-berlin.de}
  102. @c The following two commands start the copyright page.
  103. @page
  104. @vskip 0pt plus 1filll
  105. @vskip 0pt plus 1filll
  106. Copyright @copyright{} 1996 Free Software Foundation
  107. Copyright @copyright{} 1997 Free Software Foundation
  108. Copyright @copyright{} 2000 Free Software Foundation
  109. Copyright @copyright{} 2001 Free Software Foundation
  110. Copyright @copyright{} 2002 Free Software Foundation
  111. Permission is granted to make and distribute verbatim copies of
  112. this manual provided the copyright notice and this permission notice
  113. are preserved on all copies.
  114. Permission is granted to copy and distribute modified versions of this
  115. manual under the conditions for verbatim copying, provided that the entire
  116. resulting derived work is distributed under the terms of a permission
  117. notice identical to this one.
  118. Permission is granted to copy and distribute translations of this manual
  119. into another language, under the above conditions for modified versions,
  120. except that this permission notice may be stated in a translation approved
  121. by Free Software Foundation.
  122. @end titlepage
  123. @c @smallbook
  124. @finalout
  125. @headings double
  126. @c @c Where to find Guile examples.
  127. @c @set example-dir doc/examples
  128. @ifnottex
  129. @node Top, Guile License, (dir), (dir)
  130. @top The Guile Reference Manual
  131. This reference manual documents Guile, GNU's Ubiquitous Intelligent
  132. Language for Extensions. It describes how to use Guile in many useful
  133. and interesting ways.
  134. This Info file contains edition @value{MANUAL_EDITION} of the reference
  135. manual, corresponding to Guile version @value{VERSION}.
  136. @end ifnottex
  137. @menu
  138. Preface
  139. * Guile License:: Conditions for copying and using Guile.
  140. * Data Representation:: How to use Guile objects in your C code.
  141. * Coming Attractions:: Where is the rest of the manual?!
  142. @end menu
  143. @include preface.texi
  144. @include data-rep.texi
  145. @c -----------------------------------------------------------------------
  146. @c BEGIN cheesy stub
  147. @node Coming Attractions
  148. @chapter Coming Attractions
  149. Where is the rest of the manual?
  150. Good question. At the time of this writing (2002-05), the rest of
  151. the (very comprehensive) manual is still to be integrated into the
  152. guile-1.4.x distribution.
  153. In the meantime, you can obtain work-in-progress snapshots of the
  154. manual in info and html formats under directory:
  155. @example
  156. http://www.glug.org/docbits/guile-doc-out/
  157. http://www.glug.org/docbits/ (parent has tarballs)
  158. @end example
  159. Keep in mind these snapshots are not necessarily specific to
  160. guile-1.4.x. As the integration progresses, we expect to mark
  161. version-specific information as such. (Feel free to suggest to the
  162. guile maintainers which areas need attention.)
  163. @c END cheesy stub
  164. @c -----------------------------------------------------------------------
  165. @contents
  166. @bye