This is /usr/src/guile/guile-1.8.7/doc/ref/guile.info, produced by
makeinfo version 4.13 from
/usr/src/guile/guile-1.8.7/doc/ref/guile.texi.

This reference manual documents Guile, GNU's Ubiquitous Intelligent
Language for Extensions.  This is edition 1.1 corresponding to Guile
1.8.7.

   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005 Free
Software Foundation.

   Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
no Invariant Sections, with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Text "You are free to copy and modify this GNU
Manual.".  A copy of the license is included in the section entitled
"GNU Free Documentation License".

INFO-DIR-SECTION The Algorithmic Language Scheme
START-INFO-DIR-ENTRY
* Guile Reference: (guile).     The Guile reference manual.
END-INFO-DIR-ENTRY


Indirect:
guile.info-1: 988
guile.info-2: 300567
guile.info-3: 598770
guile.info-4: 898673
guile.info-5: 1191402
guile.info-6: 1447653
guile.info-7: 1761213

Tag Table:
(Indirect)
Node: Top988
Node: Preface2198
Node: Manual Layout2644
Node: Manual Conventions4522
Node: Contributors5790
Node: Guile License7508
Node: Introduction to Guile8977
Node: What is Guile?9265
Node: Obtaining and Installing Guile11728
Node: Whirlwind Tour13035
Node: Running Guile Interactively13638
Node: Running Guile Scripts14535
Node: Linking Guile into Programs15163
Node: Writing Guile Extensions16675
Node: Using the Guile Module System18121
Node: Using Modules18831
Node: Writing new Modules19729
Node: Putting Extensions into Modules20486
Node: Discouraged and Deprecated21420
Node: Reporting Bugs22991
Node: Programming in Scheme29756
Node: Basic Ideas30991
Node: About Data32050
Node: Latent Typing32726
Node: Values and Variables34678
Node: Definition36641
Node: About Procedures39227
Node: Procedures as Values40162
Node: Simple Invocation42835
Node: Creating a Procedure44621
Node: Lambda Alternatives47210
Node: About Expressions49074
Node: Evaluating50470
Ref: Evaluating-Footnote-158974
Node: Tail Calls59110
Node: The REPL61843
Node: Syntax Summary62884
Node: About Closure64773
Node: About Environments65957
Node: Local Variables67778
Node: Chaining69292
Node: Lexical Scope71628
Node: Closure76831
Node: Serial Number79096
Node: Shared Variable80646
Node: Callback Closure82204
Node: OO Closure84471
Node: Guile Scheme86717
Node: Guile Scripting87698
Node: The Top of a Script File88496
Node: Invoking Guile90265
Node: The Meta Switch95274
Node: Command Line Handling99245
Node: Scripting Examples102127
Node: Using Guile Interactively105849
Node: Readline106781
Node: Value Historyx107531
Node: Error Handling108644
Node: Interactive Debugger110956
Node: Display Backtrace112269
Node: Frame Selection113209
Node: Frame Information115107
Node: Frame Evaluation116200
Node: Stepping and Continuing116831
Node: Using Guile in Emacs118448
Node: GDS Introduction123230
Node: GDS Architecture125540
Node: GDS Getting Started128219
Node: Working with GDS in Scheme Buffers134787
Node: Access to Guile Help and Completion135234
Node: Evaluating Scheme Code136873
Node: Displaying the Scheme Stack138460
Node: Continuing Execution141208
Node: Associating Buffers with Clients143013
Node: An Example GDS Session145194
Node: Further Reading148180
Node: Programming in C149068
Node: Linking Programs With Guile150856
Node: Guile Initialization Functions152143
Node: A Sample Guile Main Program153750
Node: Linking Guile with Libraries157668
Node: A Sample Guile Extension159695
Node: General Libguile Concepts161882
Node: Dynamic Types163540
Node: Garbage Collection168969
Node: Control Flow173476
Node: Asynchronous Signals179331
Node: Multi-Threading181222
Node: Defining New Types (Smobs)189710
Node: Describing a New Type191076
Node: Creating Instances194713
Node: Type checking200115
Node: Garbage Collecting Smobs201211
Node: Garbage Collecting Simple Smobs205731
Node: Remembering During Operations206803
Node: Double Smobs209151
Node: The Complete Example210491
Node: Function Snarfing215094
Node: Programming Overview219457
Node: Extending Dia220916
Node: Dia Objective221912
Node: Dia Steps223961
Node: Dia Smobs225258
Node: Dia Primitives230493
Node: Dia Hook232923
Node: Dia Structure233970
Node: Dia Advanced235486
Node: Scheme vs C240153
Node: Testbed Example242188
Ref: Testbed Example-Footnote-1243812
Node: Programming Options243933
Node: Available Functionality246468
Node: Basic Constraints249115
Node: Style Choices249336
Node: Program Control249537
Node: User Programming249712
Ref: User Programming-Footnote-1252833
Node: API Reference253113
Node: API Overview254985
Node: The SCM Type257382
Node: Initialization258956
Node: Snarfing Macros263985
Node: Simple Data Types267445
Node: Booleans268498
Node: Numbers271246
Node: Numerical Tower272712
Node: Integers275016
Node: Reals and Rationals283695
Node: Complex Numbers288904
Node: Exactness290461
Node: Number Syntax292363
Node: Integer Operations294182
Node: Comparison296058
Node: Conversion297690
Node: Complex299019
Node: Arithmetic300567
Node: Scientific303140
Node: Primitive Numerics305002
Node: Bitwise Operations308258
Node: Random313135
Node: Characters317184
Node: Character Sets321488
Node: Character Set Predicates/Comparison322716
Node: Iterating Over Character Sets323877
Node: Creating Character Sets327217
Node: Querying Character Sets330849
Node: Character-Set Algebra332419
Node: Standard Character Sets335590
Node: Strings338411
Node: String Syntax341525
Node: String Predicates342581
Node: String Constructors344948
Node: List/String Conversion347425
Node: String Selection348652
Node: String Modification353959
Node: String Comparison355982
Node: String Searching363087
Node: Alphabetic Case Mapping368504
Node: Reversing and Appending Strings370744
Node: Mapping Folding and Unfolding373248
Node: Miscellaneous String Operations377381
Node: Conversion to/from C380207
Node: Regular Expressions384052
Node: Regexp Functions385349
Node: Match Structures395833
Node: Backslash Escapes398988
Node: Symbols403089
Node: Symbol Data406011
Node: Symbol Keys408272
Node: Symbol Variables410717
Node: Symbol Primitives411752
Node: Symbol Props417926
Node: Symbol Read Syntax420775
Node: Symbol Uninterned422418
Node: Keywords425915
Node: Why Use Keywords?426560
Node: Coding With Keywords428459
Node: Keyword Read Syntax430440
Node: Keyword Procedures432054
Node: Other Types433043
Node: Compound Data Types433685
Node: Pairs435017
Node: Lists440769
Ref: Lists-Footnote-1441640
Node: List Syntax441832
Ref: List Syntax-Footnote-1442834
Node: List Predicates442941
Node: List Constructors443914
Node: List Selection446113
Node: Append/Reverse447351
Node: List Modification449444
Node: List Searching452714
Node: List Mapping454299
Node: Vectors455705
Node: Vector Syntax456878
Node: Vector Creation457655
Node: Vector Accessors459710
Node: Vector Accessing from C463108
Node: Uniform Numeric Vectors466744
Node: Bit Vectors489188
Node: Generalized Vectors494887
Node: Arrays497423
Node: Array Syntax499488
Node: Array Procedures502044
Node: Shared Arrays512644
Node: Accessing Arrays from C518723
Node: Records531693
Node: Structures536200
Node: Vtables536973
Node: Structure Basics540185
Node: Vtable Contents543065
Node: Vtable Vtables545707
Node: Dictionary Types550468
Node: Association Lists552324
Node: Alist Key Equality553631
Node: Adding or Setting Alist Entries554481
Node: Retrieving Alist Entries559079
Node: Removing Alist Entries560880
Node: Sloppy Alist Functions563644
Node: Alist Example565844
Node: Hash Tables567107
Node: Hash Table Examples568183
Node: Hash Table Reference570410
Node: Smobs579712
Node: Procedures and Macros587757
Node: Lambda588531
Node: Primitive Procedures591578
Node: Optional Arguments593392
Node: let-optional Reference594761
Node: let-keywords Reference596113
Node: lambda* Reference598770
Node: define* Reference602104
Node: Procedure Properties604140
Node: Procedures with Setters607098
Ref: Procedures with Setters-Footnote-1609476
Node: Macros609617
Node: Syntax Rules611636
Node: Pattern Language613610
Node: Define-Syntax613785
Node: Let-Syntax614246
Node: Syntax Case614393
Node: Internal Macros614593
Node: Utility Functions619210
Node: Equality619974
Node: Object Properties624753
Node: Property Primitives626846
Node: Old-fashioned Properties628089
Node: Sorting629361
Node: Copying633754
Node: General Conversion634616
Node: Hooks635691
Node: Hook Example637212
Node: Hook Reference639073
Node: C Hooks642938
Node: GC Hooks647127
Node: REPL Hooks649370
Node: Binding Constructs649507
Node: Top Level650234
Node: Local Bindings652942
Node: Internal Definitions656089
Node: Binding Reflection657711
Node: Control Mechanisms658233
Node: begin659205
Node: if cond case660440
Node: and or663798
Node: while do664989
Node: Continuations669657
Node: Multiple Values675160
Node: Exceptions678233
Node: Exception Terminology679927
Node: Catch680959
Node: Throw Handlers687610
Node: Lazy Catch689866
Node: Throw695762
Node: Exception Implementation698264
Node: Error Reporting699842
Node: Dynamic Wind701713
Node: Handling Errors709360
Node: Input and Output713553
Node: Ports714394
Node: Reading717344
Node: Writing722185
Node: Closing725630
Node: Random Access726793
Node: Line/Delimited728511
Node: Block Reading and Writing733008
Node: Default Ports736669
Node: Port Types739708
Node: File Ports740090
Node: String Ports746333
Node: Soft Ports748958
Node: Void Ports750811
Node: I/O Extensions751362
Node: C Port Interface751640
Node: Port Implementation755168
Node: Read/Load/Eval760303
Node: Scheme Syntax761086
Node: Expression Syntax761400
Node: Comments765095
Node: Block Comments766021
Node: Case Sensitivity766947
Node: Keyword Syntax767692
Node: Reader Extensions767855
Node: Scheme Read768374
Node: Fly Evaluation770034
Node: Loading773483
Node: Delayed Evaluation777613
Node: Local Evaluation778780
Node: Evaluator Behaviour779265
Node: Memory Management781736
Node: Garbage Collection Functions782327
Node: Memory Blocks785099
Node: Weak References793472
Node: Weak hash tables795377
Node: Weak vectors796554
Node: Guardians797574
Node: Objects800370
Node: Modules801338
Node: provide and require803146
Node: Environments803966
Node: The Guile module system806000
Node: General Information about Modules807494
Node: Using Guile Modules810145
Node: Creating Guile Modules815268
Node: Module System Reflection823877
Node: Module System Quirks826133
Node: Included Guile Modules827467
Node: Accessing Modules from C830790
Node: Dynamic Libraries834577
Ref: Dynamic Libraries-Footnote-1836681
Node: Low level dynamic linking836957
Node: Compiled Code Modules842622
Node: Dynamic Linking and Compiled Code Modules843958
Node: Compiled Code Installation849529
Node: Variables853084
Node: Scheduling855942
Node: Arbiters856909
Node: Asyncs858254
Node: System asyncs859306
Node: User asyncs862442
Node: Continuation Barriers863307
Node: Threads864480
Node: Mutexes and Condition Variables867269
Node: Blocking872862
Node: Critical Sections875234
Node: Fluids and Dynamic States877361
Node: Parallel Forms883162
Node: Options and Config886753
Node: Build Config888011
Node: Feature Tracking892728
Node: Feature Manipulation893564
Node: Common Feature Symbols894437
Node: Runtime Options898673
Node: Low level options interfaces899528
Node: User level options interfaces901232
Node: Reader options903433
Node: Printing options904276
Node: Evaluator options905294
Node: Evaluator trap options905668
Node: Debugger options908114
Node: Examples of option use910110
Node: Translation912608
Node: Emacs Lisp Support912926
Node: Internationalization913827
Node: Debugging919596
Node: Evaluation Model920259
Node: Capturing the Stack or Innermost Stack Frame922860
Node: Examining the Stack924859
Node: Examining Stack Frames926241
Node: Source Properties928262
Node: Decoding Memoized Source Expressions932323
Node: Starting a New Stack932930
Node: Debug on Error933460
Ref: Debug on Error-Footnote-1942853
Node: Traps942984
Node: How to Set a Trap946051
Node: Specifying Trap Behaviour948283
Node: Trap Context950740
Ref: Trap Context-Footnote-1952376
Node: Tracing Examples952541
Node: Tracing Configuration955497
Node: Tracing and (ice-9 debug)960586
Node: Traps Installing More Traps962664
Node: Common Trap Options964179
Node: Procedure Traps966246
Node: Exit Traps966994
Node: Entry Traps967772
Node: Apply Traps968459
Node: Step Traps969189
Node: Source Traps973048
Node: Location Traps975858
Node: Trap Shorthands977433
Node: Trap Utilities978756
Node: Debugging Examples980408
Node: Single Stepping through a Procedure's Code980735
Node: Profiling or Tracing a Procedure's Code982987
Node: GH988694
Node: GH deprecation989788
Node: Transitioning away from GH992246
Node: GH preliminaries1000940
Node: Data types and constants defined by GH1001425
Node: Starting and controlling the interpreter1003102
Node: Error messages1006485
Node: Executing Scheme code1006718
Node: Defining new Scheme procedures in C1007925
Node: Converting data between C and Scheme1010240
Node: C to Scheme1010703
Node: Scheme to C1012544
Node: Type predicates1015330
Node: Equality predicates1016712
Node: Memory allocation and garbage collection1017935
Node: Calling Scheme procedures from C1018181
Node: Guile Modules1024992
Node: SLIB1026076
Node: SLIB installation1026835
Node: JACAL1028129
Node: POSIX1028709
Node: Conventions1029860
Node: Ports and File Descriptors1033168
Node: File System1050905
Node: User Information1063815
Node: Time1068121
Node: Runtime Environment1075960
Node: Processes1080367
Node: Signals1093233
Node: Terminals and Ptys1101142
Node: Pipes1102703
Node: Networking1106240
Node: Network Address Conversion1106529
Node: Network Databases1109628
Node: Network Socket Address1119163
Node: Network Sockets and Communication1123525
Node: Internet Socket Examples1138148
Node: System Identification1140032
Node: Locales1141472
Node: Encryption1142500
Node: getopt-long1143747
Node: getopt-long Example1144977
Node: Option Specification1147508
Node: Command Line Format1150697
Node: getopt-long Reference1153497
Node: option-ref Reference1156101
Node: SRFI Support1156815
Node: About SRFI Usage1158845
Node: SRFI-01160541
Node: SRFI-11162970
Node: SRFI-1 Constructors1164290
Node: SRFI-1 Predicates1165780
Node: SRFI-1 Selectors1168437
Node: SRFI-1 Length Append etc1170282
Node: SRFI-1 Fold and Map1172797
Node: SRFI-1 Filtering and Partitioning1181025
Node: SRFI-1 Searching1182679
Node: SRFI-1 Deleting1186860
Node: SRFI-1 Association Lists1189155
Node: SRFI-1 Set Operations1191402
Node: SRFI-21199588
Node: SRFI-41201913
Node: SRFI-61202195
Node: SRFI-81202707
Node: SRFI-91202968
Node: SRFI-101205764
Node: SRFI-111209822
Node: SRFI-131210688
Node: SRFI-141210903
Node: SRFI-161211153
Node: SRFI-171212981
Node: SRFI-191214656
Node: SRFI-19 Introduction1215634
Node: SRFI-19 Time1217289
Node: SRFI-19 Date1220953
Node: SRFI-19 Time/Date conversions1223132
Node: SRFI-19 Date to string1225907
Node: SRFI-19 String to date1228826
Node: SRFI-261231345
Node: SRFI-311234544
Node: SRFI-341235449
Node: SRFI-351235904
Node: SRFI-371241452
Node: SRFI-391245123
Node: SRFI-551250910
Node: SRFI-601251891
Node: SRFI-611255692
Node: SRFI-691256185
Node: SRFI-69 Creating hash tables1256981
Node: SRFI-69 Accessing table items1259630
Node: SRFI-69 Table properties1261337
Node: SRFI-69 Hash table algorithms1262452
Node: SRFI-881263533
Node: Readline Support1264920
Node: Loading Readline Support1265674
Node: Readline Options1267779
Node: Readline Functions1268932
Node: Value History1274025
Node: Pretty Printing1274999
Node: Formatted Output1276529
Node: File Tree Walk1304470
Node: Queues1310744
Node: Streams1313546
Node: Buffered Input1318368
Node: Expect1320587
Node: The Scheme shell (scsh)1326598
Node: Tracing1327154
Node: Autoconf Support1330130
Node: Autoconf Background1330845
Node: Autoconf Macros1331844
Node: Using Autoconf Macros1335889
Node: Autofrisk1338437
Node: Using Autofrisk1341156
Node: Data Representation1342568
Node: Data Representation in Scheme1344011
Node: A Simple Representation1345715
Node: Faster Integers1347072
Node: Cheaper Pairs1350528
Node: Guile Is Hairier1353802
Node: How Guile does it1354584
Node: General Rules1355597
Node: Conservative GC1356769
Node: Immediates vs Non-immediates1360901
Node: Immediate Datatypes1362127
Node: Integer Data1362831
Node: Character Data1363935
Node: Boolean Data1364495
Node: Unique Values1364778
Node: Non-immediate Datatypes1366339
Node: Pair Data1367936
Node: Vector Data1370033
Node: Procedures1372008
Node: Closures1372665
Node: Subrs1374358
Node: Port Data1376954
Node: Signalling Type Errors1377127
Node: Unpacking the SCM type1378650
Node: Relationship between SCM and scm_t_bits1379583
Node: Immediate objects1380791
Node: Non-immediate objects1382001
Node: Allocating Cells1383379
Node: Heap Cell Type Information1384644
Node: Accessing Cell Entries1385604
Node: Basic Rules for Accessing Cell Entries1389156
Node: GNU Free Documentation License1390468
Node: Concept Index1412935
Node: Procedure Index1447653
Node: Variable Index1761213
Node: Type Index1781413
Node: R5RS Index1785045

End Tag Table
