This is guile.info, produced by makeinfo version 4.8 from guile.texi.

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

   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: 920
guile.info-2: 300502
guile.info-3: 599128
guile.info-4: 899038
guile.info-5: 1191943
guile.info-6: 1448194
guile.info-7: 1761754

Tag Table:
(Indirect)
Node: Top920
Node: Preface2130
Node: Manual Layout2576
Node: Manual Conventions4454
Node: Contributors5722
Node: Guile License7440
Node: Introduction to Guile8909
Node: What is Guile?9197
Node: Obtaining and Installing Guile11660
Node: Whirlwind Tour12967
Node: Running Guile Interactively13570
Node: Running Guile Scripts14467
Node: Linking Guile into Programs15095
Node: Writing Guile Extensions16607
Node: Using the Guile Module System18053
Node: Using Modules18763
Node: Writing new Modules19661
Node: Putting Extensions into Modules20418
Node: Discouraged and Deprecated21352
Node: Reporting Bugs22923
Node: Programming in Scheme29688
Node: Basic Ideas30923
Node: About Data31982
Node: Latent Typing32658
Node: Values and Variables34610
Node: Definition36573
Node: About Procedures39159
Node: Procedures as Values40094
Node: Simple Invocation42767
Node: Creating a Procedure44553
Node: Lambda Alternatives47142
Node: About Expressions49006
Node: Evaluating50402
Ref: Evaluating-Footnote-158906
Node: Tail Calls59042
Node: The REPL61775
Node: Syntax Summary62816
Node: About Closure64705
Node: About Environments65889
Node: Local Variables67710
Node: Chaining69224
Node: Lexical Scope71560
Node: Closure76763
Node: Serial Number79028
Node: Shared Variable80578
Node: Callback Closure82136
Node: OO Closure84403
Node: Guile Scheme86649
Node: Guile Scripting87630
Node: The Top of a Script File88428
Node: Invoking Guile90197
Node: The Meta Switch95206
Node: Command Line Handling99177
Node: Scripting Examples102059
Node: Using Guile Interactively105781
Node: Readline106713
Node: Value Historyx107463
Node: Error Handling108576
Node: Interactive Debugger110888
Node: Display Backtrace112201
Node: Frame Selection113141
Node: Frame Information115039
Node: Frame Evaluation116132
Node: Stepping and Continuing116763
Node: Using Guile in Emacs118380
Node: GDS Introduction123162
Node: GDS Architecture125472
Node: GDS Getting Started128151
Node: Working with GDS in Scheme Buffers134719
Node: Access to Guile Help and Completion135166
Node: Evaluating Scheme Code136805
Node: Displaying the Scheme Stack138392
Node: Continuing Execution141140
Node: Associating Buffers with Clients142945
Node: An Example GDS Session145126
Node: Further Reading148112
Node: Programming in C149000
Node: Linking Programs With Guile150788
Node: Guile Initialization Functions152075
Node: A Sample Guile Main Program153682
Node: Linking Guile with Libraries157600
Node: A Sample Guile Extension159627
Node: General Libguile Concepts161814
Node: Dynamic Types163472
Node: Garbage Collection168901
Node: Control Flow173409
Node: Asynchronous Signals179264
Node: Multi-Threading181155
Node: Defining New Types (Smobs)189643
Node: Describing a New Type191009
Node: Creating Instances194646
Node: Type checking200048
Node: Garbage Collecting Smobs201144
Node: Garbage Collecting Simple Smobs205664
Node: Remembering During Operations206736
Node: Double Smobs209084
Node: The Complete Example210424
Node: Function Snarfing215027
Node: Programming Overview219390
Node: Extending Dia220849
Node: Dia Objective221845
Node: Dia Steps223894
Node: Dia Smobs225191
Node: Dia Primitives230426
Node: Dia Hook232856
Node: Dia Structure233903
Node: Dia Advanced235419
Node: Scheme vs C240086
Node: Testbed Example242121
Ref: Testbed Example-Footnote-1243745
Node: Programming Options243866
Node: Available Functionality246401
Node: Basic Constraints249048
Node: Style Choices249269
Node: Program Control249470
Node: User Programming249645
Ref: User Programming-Footnote-1252766
Node: API Reference253046
Node: API Overview254918
Node: The SCM Type257315
Node: Initialization258889
Node: Snarfing Macros263919
Node: Simple Data Types267379
Node: Booleans268432
Node: Numbers271180
Node: Numerical Tower272646
Node: Integers274950
Node: Reals and Rationals283630
Node: Complex Numbers288839
Node: Exactness290396
Node: Number Syntax292298
Node: Integer Operations294117
Node: Comparison295993
Node: Conversion297625
Node: Complex298954
Node: Arithmetic300502
Node: Scientific303075
Node: Primitive Numerics304937
Node: Bitwise Operations308193
Node: Random313070
Node: Characters317119
Node: Character Sets321423
Node: Character Set Predicates/Comparison322651
Node: Iterating Over Character Sets323812
Node: Creating Character Sets327152
Node: Querying Character Sets330784
Node: Character-Set Algebra332354
Node: Standard Character Sets335525
Node: Strings338346
Node: String Syntax341460
Node: String Predicates342516
Node: String Constructors344883
Node: List/String Conversion347360
Node: String Selection348587
Node: String Modification353894
Node: String Comparison355917
Node: String Searching363022
Node: Alphabetic Case Mapping368439
Node: Reversing and Appending Strings370679
Node: Mapping Folding and Unfolding373183
Node: Miscellaneous String Operations377316
Node: Conversion to/from C380142
Node: Regular Expressions383987
Node: Regexp Functions385284
Node: Match Structures395768
Node: Backslash Escapes398923
Node: Symbols403024
Node: Symbol Data405946
Node: Symbol Keys408207
Node: Symbol Variables410652
Node: Symbol Primitives411687
Node: Symbol Props417861
Node: Symbol Read Syntax420710
Node: Symbol Uninterned422353
Node: Keywords425850
Node: Why Use Keywords?426495
Node: Coding With Keywords428394
Node: Keyword Read Syntax430375
Node: Keyword Procedures431989
Node: Other Types432978
Node: Compound Data Types433620
Node: Pairs434952
Node: Lists440704
Ref: Lists-Footnote-1441575
Node: List Syntax441767
Ref: List Syntax-Footnote-1442769
Node: List Predicates442876
Node: List Constructors443849
Node: List Selection446048
Node: Append/Reverse447286
Node: List Modification449379
Node: List Searching452649
Node: List Mapping454234
Node: Vectors455640
Node: Vector Syntax456813
Node: Vector Creation457590
Node: Vector Accessors459645
Node: Vector Accessing from C463043
Node: Uniform Numeric Vectors466679
Node: Bit Vectors489123
Node: Generalized Vectors494822
Node: Arrays497358
Node: Array Syntax499423
Node: Array Procedures501979
Node: Shared Arrays512579
Node: Accessing Arrays from C518658
Node: Records532051
Node: Structures536558
Node: Vtables537331
Node: Structure Basics540543
Node: Vtable Contents543423
Node: Vtable Vtables546065
Node: Dictionary Types550826
Node: Association Lists552682
Node: Alist Key Equality553989
Node: Adding or Setting Alist Entries554839
Node: Retrieving Alist Entries559437
Node: Removing Alist Entries561238
Node: Sloppy Alist Functions564002
Node: Alist Example566202
Node: Hash Tables567465
Node: Hash Table Examples568541
Node: Hash Table Reference570768
Node: Smobs580070
Node: Procedures and Macros588115
Node: Lambda588889
Node: Primitive Procedures591936
Node: Optional Arguments593750
Node: let-optional Reference595119
Node: let-keywords Reference596471
Node: lambda* Reference599128
Node: define* Reference602462
Node: Procedure Properties604498
Node: Procedures with Setters607456
Ref: Procedures with Setters-Footnote-1609834
Node: Macros609975
Node: Syntax Rules611994
Node: Pattern Language613968
Node: Define-Syntax614143
Node: Let-Syntax614604
Node: Syntax Case614751
Node: Internal Macros614951
Node: Utility Functions619568
Node: Equality620332
Node: Object Properties625111
Node: Property Primitives627204
Node: Old-fashioned Properties628447
Node: Sorting629719
Node: Copying634112
Node: General Conversion634974
Node: Hooks636049
Node: Hook Example637570
Node: Hook Reference639431
Node: C Hooks643296
Node: GC Hooks647485
Node: REPL Hooks649728
Node: Binding Constructs649865
Node: Top Level650592
Node: Local Bindings653300
Node: Internal Definitions656447
Node: Binding Reflection658069
Node: Control Mechanisms658591
Node: begin659563
Node: if cond case660798
Node: and or664156
Node: while do665347
Node: Continuations670015
Node: Multiple Values675518
Node: Exceptions678591
Node: Exception Terminology680285
Node: Catch681317
Node: Throw Handlers687968
Node: Lazy Catch690224
Node: Throw696120
Node: Exception Implementation698622
Node: Error Reporting700200
Node: Dynamic Wind702071
Node: Handling Errors709718
Node: Input and Output713911
Node: Ports714752
Node: Reading717702
Node: Writing722543
Node: Closing725988
Node: Random Access727151
Node: Line/Delimited728869
Node: Block Reading and Writing733366
Node: Default Ports737027
Node: Port Types740066
Node: File Ports740448
Node: String Ports746691
Node: Soft Ports749316
Node: Void Ports751169
Node: I/O Extensions751720
Node: C Port Interface751998
Node: Port Implementation755526
Node: Read/Load/Eval760661
Node: Scheme Syntax761444
Node: Expression Syntax761758
Node: Comments765453
Node: Block Comments766379
Node: Case Sensitivity767305
Node: Keyword Syntax768050
Node: Reader Extensions768213
Node: Scheme Read768732
Node: Fly Evaluation770392
Node: Loading773841
Node: Delayed Evaluation777971
Node: Local Evaluation779138
Node: Evaluator Behaviour779623
Node: Memory Management782094
Node: Garbage Collection Functions782686
Node: Memory Blocks785458
Node: Weak References793832
Node: Weak hash tables795737
Node: Weak vectors796914
Node: Guardians797934
Node: Objects800730
Node: Modules801698
Node: provide and require803506
Node: Environments804326
Node: The Guile module system806360
Node: General Information about Modules807854
Node: Using Guile Modules810505
Node: Creating Guile Modules815628
Node: Module System Reflection824237
Node: Module System Quirks826498
Node: Included Guile Modules827832
Node: Accessing Modules from C831155
Node: Dynamic Libraries834942
Ref: Dynamic Libraries-Footnote-1837046
Node: Low level dynamic linking837322
Node: Compiled Code Modules842987
Node: Dynamic Linking and Compiled Code Modules844323
Node: Compiled Code Installation849894
Node: Variables853449
Node: Scheduling856307
Node: Arbiters857274
Node: Asyncs858619
Node: System asyncs859671
Node: User asyncs862807
Node: Continuation Barriers863672
Node: Threads864845
Node: Mutexes and Condition Variables867634
Node: Blocking873227
Node: Critical Sections875599
Node: Fluids and Dynamic States877726
Node: Parallel Forms883527
Node: Options and Config887118
Node: Build Config888376
Node: Feature Tracking893093
Node: Feature Manipulation893929
Node: Common Feature Symbols894802
Node: Runtime Options899038
Node: Low level options interfaces899893
Node: User level options interfaces901597
Node: Reader options903798
Node: Printing options904641
Node: Evaluator options905659
Node: Evaluator trap options906033
Node: Debugger options908479
Node: Examples of option use910475
Node: Translation912973
Node: Emacs Lisp Support913291
Node: Internationalization914192
Node: Debugging919961
Node: Evaluation Model920624
Node: Capturing the Stack or Innermost Stack Frame923225
Node: Examining the Stack925224
Node: Examining Stack Frames926606
Node: Source Properties928627
Node: Decoding Memoized Source Expressions932688
Node: Starting a New Stack933295
Node: Debug on Error933825
Ref: Debug on Error-Footnote-1943218
Node: Traps943349
Node: How to Set a Trap946416
Node: Specifying Trap Behaviour948648
Node: Trap Context951105
Ref: Trap Context-Footnote-1952741
Node: Tracing Examples952906
Node: Tracing Configuration955862
Node: Tracing and (ice-9 debug)960951
Node: Traps Installing More Traps963029
Node: Common Trap Options964544
Node: Procedure Traps966611
Node: Exit Traps967359
Node: Entry Traps968137
Node: Apply Traps968824
Node: Step Traps969554
Node: Source Traps973413
Node: Location Traps976223
Node: Trap Shorthands977798
Node: Trap Utilities979121
Node: Debugging Examples980773
Node: Single Stepping through a Procedure's Code981100
Node: Profiling or Tracing a Procedure's Code983352
Node: GH989059
Node: GH deprecation990153
Node: Transitioning away from GH992611
Node: GH preliminaries1001305
Node: Data types and constants defined by GH1001790
Node: Starting and controlling the interpreter1003467
Node: Error messages1006850
Node: Executing Scheme code1007083
Node: Defining new Scheme procedures in C1008290
Node: Converting data between C and Scheme1010605
Node: C to Scheme1011068
Node: Scheme to C1012909
Node: Type predicates1015695
Node: Equality predicates1017077
Node: Memory allocation and garbage collection1018300
Node: Calling Scheme procedures from C1018546
Node: Guile Modules1025357
Node: SLIB1026441
Node: SLIB installation1027200
Node: JACAL1028494
Node: POSIX1029074
Node: Conventions1030225
Node: Ports and File Descriptors1033533
Node: File System1051270
Node: User Information1064180
Node: Time1068486
Node: Runtime Environment1076325
Node: Processes1080732
Node: Signals1093598
Node: Terminals and Ptys1101683
Node: Pipes1103244
Node: Networking1106781
Node: Network Address Conversion1107070
Node: Network Databases1110169
Node: Network Socket Address1119704
Node: Network Sockets and Communication1124066
Node: Internet Socket Examples1138689
Node: System Identification1140573
Node: Locales1142013
Node: Encryption1143041
Node: getopt-long1144288
Node: getopt-long Example1145518
Node: Option Specification1148049
Node: Command Line Format1151238
Node: getopt-long Reference1154038
Node: option-ref Reference1156642
Node: SRFI Support1157356
Node: About SRFI Usage1159386
Node: SRFI-01161082
Node: SRFI-11163511
Node: SRFI-1 Constructors1164831
Node: SRFI-1 Predicates1166321
Node: SRFI-1 Selectors1168978
Node: SRFI-1 Length Append etc1170823
Node: SRFI-1 Fold and Map1173338
Node: SRFI-1 Filtering and Partitioning1181566
Node: SRFI-1 Searching1183220
Node: SRFI-1 Deleting1187401
Node: SRFI-1 Association Lists1189696
Node: SRFI-1 Set Operations1191943
Node: SRFI-21200129
Node: SRFI-41202454
Node: SRFI-61202736
Node: SRFI-81203248
Node: SRFI-91203509
Node: SRFI-101206305
Node: SRFI-111210363
Node: SRFI-131211229
Node: SRFI-141211444
Node: SRFI-161211694
Node: SRFI-171213522
Node: SRFI-191215197
Node: SRFI-19 Introduction1216175
Node: SRFI-19 Time1217830
Node: SRFI-19 Date1221494
Node: SRFI-19 Time/Date conversions1223673
Node: SRFI-19 Date to string1226448
Node: SRFI-19 String to date1229367
Node: SRFI-261231886
Node: SRFI-311235085
Node: SRFI-341235990
Node: SRFI-351236445
Node: SRFI-371241993
Node: SRFI-391245664
Node: SRFI-551251451
Node: SRFI-601252432
Node: SRFI-611256233
Node: SRFI-691256726
Node: SRFI-69 Creating hash tables1257522
Node: SRFI-69 Accessing table items1260171
Node: SRFI-69 Table properties1261878
Node: SRFI-69 Hash table algorithms1262993
Node: SRFI-881264074
Node: Readline Support1265461
Node: Loading Readline Support1266215
Node: Readline Options1268320
Node: Readline Functions1269473
Node: Value History1274566
Node: Pretty Printing1275540
Node: Formatted Output1277070
Node: File Tree Walk1305011
Node: Queues1311285
Node: Streams1314087
Node: Buffered Input1318909
Node: Expect1321128
Node: The Scheme shell (scsh)1327139
Node: Tracing1327695
Node: Autoconf Support1330671
Node: Autoconf Background1331386
Node: Autoconf Macros1332385
Node: Using Autoconf Macros1336430
Node: Autofrisk1338978
Node: Using Autofrisk1341697
Node: Data Representation1343109
Node: Data Representation in Scheme1344552
Node: A Simple Representation1346256
Node: Faster Integers1347613
Node: Cheaper Pairs1351069
Node: Guile Is Hairier1354343
Node: How Guile does it1355125
Node: General Rules1356138
Node: Conservative GC1357310
Node: Immediates vs Non-immediates1361442
Node: Immediate Datatypes1362668
Node: Integer Data1363372
Node: Character Data1364476
Node: Boolean Data1365036
Node: Unique Values1365319
Node: Non-immediate Datatypes1366880
Node: Pair Data1368477
Node: Vector Data1370574
Node: Procedures1372549
Node: Closures1373206
Node: Subrs1374899
Node: Port Data1377495
Node: Signalling Type Errors1377668
Node: Unpacking the SCM type1379191
Node: Relationship between SCM and scm_t_bits1380124
Node: Immediate objects1381332
Node: Non-immediate objects1382542
Node: Allocating Cells1383920
Node: Heap Cell Type Information1385185
Node: Accessing Cell Entries1386145
Node: Basic Rules for Accessing Cell Entries1389697
Node: GNU Free Documentation License1391009
Node: Concept Index1413476
Node: Procedure Index1448194
Node: Variable Index1761754
Node: Type Index1781954
Node: R5RS Index1785586

End Tag Table
