100 |
@sp 10 |
@sp 10 |
101 |
@comment The title is printed in a large font. |
@comment The title is printed in a large font. |
102 |
@title Guile Reference Manual |
@title Guile Reference Manual |
103 |
|
@subtitle Edition @value{MANUAL_EDITION}, for use with Guile @value{VERSION} |
104 |
@subtitle $Id$ |
@subtitle $Id$ |
|
@subtitle For use with Guile @value{VERSION} |
|
105 |
|
|
106 |
@c AUTHORS |
@c AUTHORS |
107 |
|
|
217 |
* Obtaining and Installing Guile:: |
* Obtaining and Installing Guile:: |
218 |
* Reporting Bugs:: Reporting bugs in Guile or this manual. |
* Reporting Bugs:: Reporting bugs in Guile or this manual. |
219 |
|
|
220 |
Part II: Programming with Guile |
Part II: Writing and Running Guile Scheme |
221 |
|
|
222 |
* Programming Intro:: Introduction to this part. |
* Running Intro:: Introduction to this part. |
223 |
* Programming Overview:: An overview of Guile programming. |
* Guile Scheme:: Guile's implementation of Scheme. |
|
* Scheme Intro:: Introduction to Guile Scheme. |
|
|
* Basic Ideas:: Basic ideas in Scheme. |
|
224 |
* Guile Scripting:: How to write Guile scripts. |
* Guile Scripting:: How to write Guile scripts. |
225 |
* Command Line Handling:: Command line options and arguments. |
* Command Line Handling:: Command line options and arguments. |
226 |
|
* Debugging Features:: Features for debugging errors. |
227 |
|
* Autoconf Support:: Guile-specific configure.in macros. |
228 |
|
* Miscellaneous Tools:: Snarfing, linting, etc. |
229 |
|
* Basic Ideas:: Basic ideas in Scheme. |
230 |
|
* Further Reading:: Where to find out more about Scheme. |
231 |
|
|
232 |
|
Part III: Guile as an Extension Language |
233 |
|
|
234 |
|
* Programming Intro:: Introduction to this part. |
235 |
* Libguile Intro:: Using Guile as an extension language. |
* Libguile Intro:: Using Guile as an extension language. |
236 |
* Guile API:: Overview of the Guile API. |
* Programming Overview:: An overview of Guile programming. |
237 |
* Data Representation:: Data representation in Guile. |
* Data Representation:: Data representation in Guile. |
238 |
* GH:: The deprecated GH interface. |
* GH:: The deprecated GH interface. |
|
* Debugger User Interface:: |
|
|
* Autoconf Support:: Guile-specific configure.in macros. |
|
|
* Miscellaneous Tools:: Snarfing, linting, etc. |
|
|
* Further Reading:: Where to find out more about Scheme programming. |
|
239 |
|
|
240 |
Part III: Guile API Reference |
Part IV: Guile API Reference |
241 |
|
|
242 |
* Reference Intro:: Introduction to the Guile API reference. |
* Reference Intro:: Introduction to the Guile API reference. |
243 |
|
* API Overview:: Overview of the Guile API. |
244 |
* Simple Data Types:: Numbers, strings, booleans and so on. |
* Simple Data Types:: Numbers, strings, booleans and so on. |
245 |
* Compound Data Types:: Data types for holding other data. |
* Compound Data Types:: Data types for holding other data. |
246 |
* Procedures and Macros:: Procedures and macros. |
* Procedures and Macros:: Procedures and macros. |
258 |
* Debugging:: Internal debugging interface. |
* Debugging:: Internal debugging interface. |
259 |
* Deprecated:: Features that are planned to disappear. |
* Deprecated:: Features that are planned to disappear. |
260 |
|
|
261 |
Part IV: Guile Modules |
Part V: Guile Modules |
262 |
|
|
263 |
* SLIB:: Using the SLIB Scheme library. |
* SLIB:: Using the SLIB Scheme library. |
264 |
* POSIX:: POSIX system calls and networking. |
* POSIX:: POSIX system calls and networking. |
291 |
@include intro.texi |
@include intro.texi |
292 |
|
|
293 |
@page |
@page |
294 |
@node Programming Intro |
@node Running Intro |
295 |
@unnumbered Part II: Programming with Guile |
@unnumbered Part II: Writing and Running Guile Scheme |
296 |
|
|
297 |
In this part of the manual, we aim to present a wide ranging picture of |
Guile's core language is Scheme, and an awful lot can be achieved simply |
298 |
what it means to program using Guile, to provide guidance, practical |
by using Guile to write and run Scheme programs. In this part of the |
299 |
guidelines and tips for @emph{how} to program in Guile, and to document |
manual, we explain how to use Guile in this mode, and describe the tools |
300 |
the tools that are available to help you with your programming. For |
that Guile provides to help you with script writing, debugging and |
301 |
detailed reference information on the variables, functions etc. that |
packaging your programs for distribution. |
302 |
make up Guile's application programming interface (API), please refer to |
|
303 |
Part III (@pxref{Reference Intro,,Part III --- Guile API Reference}). |
For readers who are not yet familiar with the Scheme language, this part |
304 |
|
includes a chapter that presents the basic concepts of the language, and |
305 |
|
gives references to freely available Scheme tutorial material on the |
306 |
|
web. |
307 |
|
|
308 |
We begin in the first chapter of this part by looking at the programming |
For detailed reference information on the variables, functions etc. that |
309 |
options available. |
make up Guile's application programming interface (API), please refer to |
310 |
|
Part IV (@pxref{Reference Intro,,Part IV --- Guile API Reference}). |
311 |
|
|
|
@include program.texi |
|
312 |
@include scheme-intro.texi |
@include scheme-intro.texi |
|
@include scheme-ideas.texi |
|
313 |
@include scripts.texi |
@include scripts.texi |
314 |
@include script-getopt.texi |
@include script-getopt.texi |
|
@include extend.texi |
|
|
@include scm.texi |
|
|
@include data-rep.texi |
|
|
@include gh.texi |
|
315 |
@include debugging.texi |
@include debugging.texi |
316 |
@include autoconf.texi |
@include autoconf.texi |
317 |
@include tools.texi |
@include tools.texi |
318 |
|
@include scheme-ideas.texi |
319 |
@include scheme-reading.texi |
@include scheme-reading.texi |
320 |
|
|
321 |
@page |
@page |
322 |
|
@node Programming Intro |
323 |
|
@unnumbered Part III: Guile as an Extension Language |
324 |
|
|
325 |
|
In this part of the manual, we aim to present a wide ranging picture of |
326 |
|
what it means to use Guile as an application extension language, to |
327 |
|
provide guidance, practical guidelines and tips for @emph{how} to |
328 |
|
program in Guile, and to document the tools that are available to help |
329 |
|
you with your programming. For detailed reference information on the |
330 |
|
variables, functions etc. that make up Guile's application programming |
331 |
|
interface (API), please refer to Part IV (@pxref{Reference Intro,,Part |
332 |
|
IV --- Guile API Reference}). |
333 |
|
|
334 |
|
@include extend.texi |
335 |
|
@include program.texi |
336 |
|
@include data-rep.texi |
337 |
|
@include gh.texi |
338 |
|
|
339 |
|
@page |
340 |
@node Reference Intro |
@node Reference Intro |
341 |
@unnumbered Part III: Guile API Reference |
@unnumbered Part IV: Guile API Reference |
342 |
|
|
343 |
Guile provides an application programming interface (@dfn{API}) to |
Guile provides an application programming interface (@dfn{API}) to |
344 |
developers in two core languages: Scheme and C. This part of the manual |
developers in two core languages: Scheme and C. This part of the manual |
345 |
contains reference documentation for all of the functionality that is |
contains reference documentation for all of the functionality that is |
346 |
available through both Scheme and C interfaces. |
available through both Scheme and C interfaces. |
347 |
|
|
348 |
|
@include scm.texi |
349 |
@include scheme-data.texi |
@include scheme-data.texi |
350 |
@include scheme-compound.texi |
@include scheme-compound.texi |
351 |
@include scheme-procedures.texi |
@include scheme-procedures.texi |
365 |
|
|
366 |
@iftex |
@iftex |
367 |
@page |
@page |
368 |
@unnumbered{Part IV: Guile Modules} |
@unnumbered{Part V: Guile Modules} |
369 |
@end iftex |
@end iftex |
370 |
|
|
371 |
@include slib.texi |
@include slib.texi |