46 |
@c reference manual to group stuff according to whether it is R5RS or a |
@c reference manual to group stuff according to whether it is R5RS or a |
47 |
@c Guile extension. |
@c Guile extension. |
48 |
@defcodeindex rn |
@defcodeindex rn |
|
@defcodeindex ge |
|
49 |
|
|
50 |
@include version.texi |
@include version.texi |
51 |
|
|
65 |
Copyright (C) 1996 Free Software Foundation @* |
Copyright (C) 1996 Free Software Foundation @* |
66 |
Copyright (C) 1997 Free Software Foundation @* |
Copyright (C) 1997 Free Software Foundation @* |
67 |
Copyright (C) 2000 Free Software Foundation @* |
Copyright (C) 2000 Free Software Foundation @* |
68 |
Copyright (C) 2001 Free Software Foundation |
Copyright (C) 2001 Free Software Foundation @* |
69 |
|
Copyright (C) 2002 Free Software Foundation |
70 |
|
|
71 |
Permission is granted to make and distribute verbatim copies of |
Permission is granted to make and distribute verbatim copies of |
72 |
this manual provided the copyright notice and this permission notice |
this manual provided the copyright notice and this permission notice |
159 |
|
|
160 |
Copyright @copyright{} 2000 Free Software Foundation |
Copyright @copyright{} 2000 Free Software Foundation |
161 |
|
|
162 |
|
Copyright @copyright{} 2001 Free Software Foundation |
163 |
|
|
164 |
|
Copyright @copyright{} 2002 Free Software Foundation |
165 |
|
|
166 |
Permission is granted to make and distribute verbatim copies of |
Permission is granted to make and distribute verbatim copies of |
167 |
this manual provided the copyright notice and this permission notice |
this manual provided the copyright notice and this permission notice |
168 |
are preserved on all copies. |
are preserved on all copies. |
211 |
* Obtaining and Installing Guile:: |
* Obtaining and Installing Guile:: |
212 |
* Reporting Bugs:: Reporting bugs in Guile or this manual. |
* Reporting Bugs:: Reporting bugs in Guile or this manual. |
213 |
|
|
214 |
Part II: Guile Scheme |
Part II: Programming with Guile |
215 |
|
|
216 |
|
* Programming Intro:: Introduction to this part. |
217 |
|
* Programming Overview:: An overview of Guile programming. |
218 |
* Scheme Intro:: Introduction to Guile Scheme. |
* Scheme Intro:: Introduction to Guile Scheme. |
219 |
* Basic Ideas:: Basic ideas in Scheme. |
* Basic Ideas:: Basic ideas in Scheme. |
220 |
|
* Guile Scripting:: How to write Guile scripts. |
221 |
|
* Command Line Handling:: Command line options and arguments. |
222 |
|
* Libguile Intro:: Using Guile as an extension language. |
223 |
|
* Guile API:: Overview of the Guile API. |
224 |
|
* Data Representation:: Data representation in Guile. |
225 |
|
* GH:: The deprecated GH interface. |
226 |
|
* Debugger User Interface:: |
227 |
|
* Autoconf Support:: Guile-specific configure.in macros. |
228 |
|
* Miscellaneous Tools:: Snarfing, linting, etc. |
229 |
|
* Further Reading:: Where to find out more about Scheme programming. |
230 |
|
|
231 |
|
Part III: Guile API Reference |
232 |
|
|
233 |
|
* Reference Intro:: Introduction to the Guile API reference. |
234 |
* Simple Data Types:: Numbers, strings, booleans and so on. |
* Simple Data Types:: Numbers, strings, booleans and so on. |
235 |
* Compound Data Types:: Data types for holding other data. |
* Compound Data Types:: Data types for holding other data. |
236 |
* Procedures and Macros:: Procedures and macros. |
* Procedures and Macros:: Procedures and macros. |
247 |
* Translation:: Support for translating other languages. |
* Translation:: Support for translating other languages. |
248 |
* Debugging:: Internal debugging interface. |
* Debugging:: Internal debugging interface. |
249 |
* Deprecated:: Features that are planned to disappear. |
* Deprecated:: Features that are planned to disappear. |
|
* 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. |
|
250 |
|
|
251 |
Part III: Guile Modules |
Part IV: Guile Modules |
252 |
|
|
253 |
* SLIB:: Using the SLIB Scheme library. |
* SLIB:: Using the SLIB Scheme library. |
254 |
* POSIX:: POSIX system calls and networking. |
* POSIX:: POSIX system calls and networking. |
260 |
* Rx Regexps:: The Rx regular expression library. |
* Rx Regexps:: The Rx regular expression library. |
261 |
* Expect:: Controlling interactive programs with Guile. |
* Expect:: Controlling interactive programs with Guile. |
262 |
* The Scheme shell (scsh):: Using scsh interfaces in Guile. |
* The Scheme shell (scsh):: Using scsh interfaces in Guile. |
|
@c * Tcl/Tk Interface:: |
|
|
|
|
|
Part IV: Guile Scripting |
|
|
|
|
|
* Guile Scripting:: How to write Guile scripts. |
|
|
* Command Line Handling:: Command line options and arguments. |
|
|
|
|
|
Part V: Extending Applications Using Guile |
|
|
|
|
|
* Libguile Intro:: Using Guile as an extension language. |
|
|
* Data Representation:: Data representation in Guile. |
|
|
* Guile API:: Overview of the Guile API. |
|
|
* GH:: The deprecated GH interface. |
|
263 |
|
|
264 |
Indices |
Indices |
265 |
|
|
268 |
* Variable Index:: |
* Variable Index:: |
269 |
* Type Index:: |
* Type Index:: |
270 |
* R5RS Index:: |
* R5RS Index:: |
|
* Guile Extensions Index:: |
|
271 |
|
|
272 |
@end menu |
@end menu |
273 |
|
|
280 |
|
|
281 |
@include intro.texi |
@include intro.texi |
282 |
|
|
|
@c programming in Scheme |
|
|
@iftex |
|
283 |
@page |
@page |
284 |
@unnumbered{Part II: Guile Scheme} |
@node Programming Intro |
285 |
@end iftex |
@unnumbered Part II: Programming with Guile |
286 |
|
|
287 |
|
In this part of the manual, we aim to present a wide ranging picture of |
288 |
|
what it means to program using Guile, to provide guidance, practical |
289 |
|
guidelines and tips for @emph{how} to program in Guile, and to document |
290 |
|
the tools that are available to help you with your programming. For |
291 |
|
detailed reference information on the variables, functions etc. that |
292 |
|
make up Guile's application programming interface (API), please refer to |
293 |
|
Part III (@pxref{Reference Intro,,Part III --- Guile API Reference}). |
294 |
|
|
295 |
|
We begin in the first chapter of this part by looking at the programming |
296 |
|
options available. |
297 |
|
|
298 |
|
@include program.texi |
299 |
@include scheme-intro.texi |
@include scheme-intro.texi |
300 |
@include scheme-ideas.texi |
@include scheme-ideas.texi |
301 |
|
@include scripts.texi |
302 |
|
@include script-getopt.texi |
303 |
|
@include extend.texi |
304 |
|
@include scm.texi |
305 |
|
@include data-rep.texi |
306 |
|
@include gh.texi |
307 |
|
@include debugging.texi |
308 |
|
@include autoconf.texi |
309 |
|
@include tools.texi |
310 |
|
@include scheme-reading.texi |
311 |
|
|
312 |
|
@page |
313 |
|
@node Reference Intro |
314 |
|
@unnumbered Part III: Guile API Reference |
315 |
|
|
316 |
|
Guile provides an application programming interface (@dfn{API}) to |
317 |
|
developers in two core languages: Scheme and C. This part of the manual |
318 |
|
contains reference documentation for all of the functionality that is |
319 |
|
available through both Scheme and C interfaces. |
320 |
|
|
321 |
@include scheme-data.texi |
@include scheme-data.texi |
322 |
@include scheme-compound.texi |
@include scheme-compound.texi |
323 |
@include scheme-procedures.texi |
@include scheme-procedures.texi |
334 |
@include scheme-translation.texi |
@include scheme-translation.texi |
335 |
@include scheme-debug.texi |
@include scheme-debug.texi |
336 |
@include deprecated.texi |
@include deprecated.texi |
|
@include debugging.texi |
|
|
@include autoconf.texi |
|
|
@include tools.texi |
|
|
@include scheme-reading.texi |
|
337 |
|
|
338 |
@iftex |
@iftex |
339 |
@page |
@page |
340 |
@unnumbered{Part III: Guile Modules} |
@unnumbered{Part IV: Guile Modules} |
341 |
@end iftex |
@end iftex |
342 |
|
|
343 |
@include slib.texi |
@include slib.texi |
347 |
@include misc-modules.texi |
@include misc-modules.texi |
348 |
@include expect.texi |
@include expect.texi |
349 |
@include scsh.texi |
@include scsh.texi |
|
@c @include tcltk.texi |
|
|
|
|
|
@c Guile as an scripting language |
|
|
@iftex |
|
|
@page |
|
|
@unnumbered{Part IV: Guile Scripting} |
|
|
@end iftex |
|
|
|
|
|
@include scripts.texi |
|
|
@include script-getopt.texi |
|
|
|
|
|
@c Guile as an extension language |
|
|
@iftex |
|
|
@page |
|
|
@unnumbered{Part V: Extending Applications Using Guile} |
|
|
@end iftex |
|
|
|
|
|
@include extend.texi |
|
|
@include data-rep.texi |
|
|
@include scm.texi |
|
|
@include gh.texi |
|
350 |
|
|
351 |
@iftex |
@iftex |
352 |
@page |
@page |