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.8.

   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 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: 950
guile.info-2: 300904
guile.info-3: 599107
guile.info-4: 899015
guile.info-5: 1191746
guile.info-6: 1445138
guile.info-7: 1758041

Tag Table:
(Indirect)
Node: Top950
Node: Preface2190
Node: Manual Layout2636
Node: Manual Conventions4514
Node: Contributors5782
Node: Guile License7500
Node: Introduction to Guile8969
Node: What is Guile?9257
Node: Obtaining and Installing Guile11720
Node: Whirlwind Tour13029
Node: Running Guile Interactively13632
Node: Running Guile Scripts14529
Node: Linking Guile into Programs15157
Node: Writing Guile Extensions16669
Node: Using the Guile Module System18115
Node: Using Modules18825
Node: Writing new Modules19723
Node: Putting Extensions into Modules20480
Node: Discouraged and Deprecated21414
Node: Reporting Bugs22985
Node: Programming in Scheme29750
Node: Basic Ideas30985
Node: About Data32044
Node: Latent Typing32720
Node: Values and Variables34672
Node: Definition36635
Node: About Procedures39221
Node: Procedures as Values40156
Node: Simple Invocation42829
Node: Creating a Procedure44615
Node: Lambda Alternatives47204
Node: About Expressions49068
Node: Evaluating50464
Ref: Evaluating-Footnote-158968
Node: Tail Calls59104
Node: The REPL61837
Node: Syntax Summary62878
Node: About Closure64767
Node: About Environments65951
Node: Local Variables67772
Node: Chaining69286
Node: Lexical Scope71622
Node: Closure76825
Node: Serial Number79090
Node: Shared Variable80640
Node: Callback Closure82198
Node: OO Closure84465
Node: Guile Scheme86711
Node: Guile Scripting87692
Node: The Top of a Script File88490
Node: Invoking Guile90259
Node: The Meta Switch95268
Node: Command Line Handling99239
Node: Scripting Examples102121
Node: Using Guile Interactively105843
Node: Readline106775
Node: Value Historyx107525
Node: Error Handling108638
Node: Interactive Debugger110950
Node: Display Backtrace112263
Node: Frame Selection113203
Node: Frame Information115101
Node: Frame Evaluation116194
Node: Stepping and Continuing116825
Node: Using Guile in Emacs118442
Node: GDS Introduction123224
Node: GDS Architecture125534
Node: GDS Getting Started128213
Node: Working with GDS in Scheme Buffers135124
Node: Access to Guile Help and Completion135571
Node: Evaluating Scheme Code137210
Node: Displaying the Scheme Stack138797
Node: Continuing Execution141545
Node: Associating Buffers with Clients143350
Node: An Example GDS Session145531
Node: Further Reading148517
Node: Programming in C149405
Node: Linking Programs With Guile151193
Node: Guile Initialization Functions152480
Node: A Sample Guile Main Program154087
Node: Linking Guile with Libraries158005
Node: A Sample Guile Extension160032
Node: General Libguile Concepts162219
Node: Dynamic Types163877
Node: Garbage Collection169306
Node: Control Flow173813
Node: Asynchronous Signals179668
Node: Multi-Threading181559
Node: Defining New Types (Smobs)190047
Node: Describing a New Type191413
Node: Creating Instances195050
Node: Type checking200452
Node: Garbage Collecting Smobs201548
Node: Garbage Collecting Simple Smobs206068
Node: Remembering During Operations207140
Node: Double Smobs209488
Node: The Complete Example210828
Node: Function Snarfing215431
Node: Programming Overview219794
Node: Extending Dia221253
Node: Dia Objective222249
Node: Dia Steps224298
Node: Dia Smobs225595
Node: Dia Primitives230830
Node: Dia Hook233260
Node: Dia Structure234307
Node: Dia Advanced235823
Node: Scheme vs C240490
Node: Testbed Example242525
Ref: Testbed Example-Footnote-1244149
Node: Programming Options244270
Node: Available Functionality246805
Node: Basic Constraints249452
Node: Style Choices249673
Node: Program Control249874
Node: User Programming250049
Ref: User Programming-Footnote-1253170
Node: API Reference253450
Node: API Overview255322
Node: The SCM Type257719
Node: Initialization259293
Node: Snarfing Macros264322
Node: Simple Data Types267782
Node: Booleans268835
Node: Numbers271583
Node: Numerical Tower273049
Node: Integers275353
Node: Reals and Rationals284032
Node: Complex Numbers289241
Node: Exactness290798
Node: Number Syntax292700
Node: Integer Operations294519
Node: Comparison296395
Node: Conversion298027
Node: Complex299356
Node: Arithmetic300904
Node: Scientific303477
Node: Primitive Numerics305339
Node: Bitwise Operations308595
Node: Random313472
Node: Characters317521
Node: Character Sets321825
Node: Character Set Predicates/Comparison323053
Node: Iterating Over Character Sets324214
Node: Creating Character Sets327554
Node: Querying Character Sets331186
Node: Character-Set Algebra332756
Node: Standard Character Sets335927
Node: Strings338748
Node: String Syntax341862
Node: String Predicates342918
Node: String Constructors345285
Node: List/String Conversion347762
Node: String Selection348989
Node: String Modification354296
Node: String Comparison356319
Node: String Searching363424
Node: Alphabetic Case Mapping368841
Node: Reversing and Appending Strings371081
Node: Mapping Folding and Unfolding373585
Node: Miscellaneous String Operations377718
Node: Conversion to/from C380544
Node: Regular Expressions384389
Node: Regexp Functions385686
Node: Match Structures396170
Node: Backslash Escapes399325
Node: Symbols403426
Node: Symbol Data406348
Node: Symbol Keys408609
Node: Symbol Variables411054
Node: Symbol Primitives412089
Node: Symbol Props418263
Node: Symbol Read Syntax421112
Node: Symbol Uninterned422755
Node: Keywords426252
Node: Why Use Keywords?426897
Node: Coding With Keywords428796
Node: Keyword Read Syntax430777
Node: Keyword Procedures432391
Node: Other Types433380
Node: Compound Data Types434022
Node: Pairs435354
Node: Lists441106
Ref: Lists-Footnote-1441977
Node: List Syntax442169
Ref: List Syntax-Footnote-1443171
Node: List Predicates443278
Node: List Constructors444251
Node: List Selection446450
Node: Append/Reverse447688
Node: List Modification449781
Node: List Searching453051
Node: List Mapping454636
Node: Vectors456042
Node: Vector Syntax457215
Node: Vector Creation457992
Node: Vector Accessors460047
Node: Vector Accessing from C463445
Node: Uniform Numeric Vectors467081
Node: Bit Vectors489525
Node: Generalized Vectors495224
Node: Arrays497760
Node: Array Syntax499825
Node: Array Procedures502381
Node: Shared Arrays512981
Node: Accessing Arrays from C519060
Node: Records532030
Node: Structures536537
Node: Vtables537310
Node: Structure Basics540522
Node: Vtable Contents543402
Node: Vtable Vtables546044
Node: Dictionary Types550805
Node: Association Lists552661
Node: Alist Key Equality553968
Node: Adding or Setting Alist Entries554818
Node: Retrieving Alist Entries559416
Node: Removing Alist Entries561217
Node: Sloppy Alist Functions563981
Node: Alist Example566181
Node: Hash Tables567444
Node: Hash Table Examples568520
Node: Hash Table Reference570747
Node: Smobs580049
Node: Procedures and Macros588094
Node: Lambda588868
Node: Primitive Procedures591915
Node: Optional Arguments593729
Node: let-optional Reference595098
Node: let-keywords Reference596450
Node: lambda* Reference599107
Node: define* Reference602441
Node: Procedure Properties604477
Node: Procedures with Setters607435
Ref: Procedures with Setters-Footnote-1609813
Node: Macros609954
Node: Syntax Rules611973
Node: Pattern Language613947
Node: Define-Syntax614122
Node: Let-Syntax614583
Node: Syntax Case614730
Node: Internal Macros614930
Node: Utility Functions619547
Node: Equality620311
Node: Object Properties625090
Node: Property Primitives627183
Node: Old-fashioned Properties628426
Node: Sorting629698
Node: Copying634091
Node: General Conversion634953
Node: Hooks636028
Node: Hook Example637549
Node: Hook Reference639410
Node: C Hooks643275
Node: GC Hooks647464
Node: REPL Hooks649707
Node: Binding Constructs649844
Node: Top Level650571
Node: Local Bindings653279
Node: Internal Definitions656426
Node: Binding Reflection658048
Node: Control Mechanisms658570
Node: begin659542
Node: if cond case660777
Node: and or664135
Node: while do665326
Node: Continuations669994
Node: Multiple Values675497
Node: Exceptions678570
Node: Exception Terminology680264
Node: Catch681296
Node: Throw Handlers687947
Node: Lazy Catch690203
Node: Throw696099
Node: Exception Implementation698601
Node: Error Reporting700179
Node: Dynamic Wind702050
Node: Handling Errors709697
Node: Input and Output713890
Node: Ports714731
Node: Reading717681
Node: Writing722522
Node: Closing725967
Node: Random Access727130
Node: Line/Delimited728848
Node: Block Reading and Writing733345
Node: Default Ports737006
Node: Port Types740045
Node: File Ports740427
Node: String Ports746670
Node: Soft Ports749295
Node: Void Ports751148
Node: I/O Extensions751699
Node: C Port Interface751977
Node: Port Implementation755505
Node: Read/Load/Eval760640
Node: Scheme Syntax761423
Node: Expression Syntax761737
Node: Comments765432
Node: Block Comments766358
Node: Case Sensitivity767284
Node: Keyword Syntax768029
Node: Reader Extensions768192
Node: Scheme Read768711
Node: Fly Evaluation770371
Node: Loading773820
Node: Delayed Evaluation777950
Node: Local Evaluation779117
Node: Evaluator Behaviour779602
Node: Memory Management782073
Node: Garbage Collection Functions782664
Node: Memory Blocks785436
Node: Weak References793809
Node: Weak hash tables795714
Node: Weak vectors796891
Node: Guardians797911
Node: Objects800707
Node: Modules801675
Node: provide and require803483
Node: Environments804303
Node: The Guile module system806337
Node: General Information about Modules807831
Node: Using Guile Modules810482
Node: Creating Guile Modules815605
Node: Module System Reflection824214
Node: Module System Quirks826475
Node: Included Guile Modules827809
Node: Accessing Modules from C831132
Node: Dynamic Libraries834919
Ref: Dynamic Libraries-Footnote-1837023
Node: Low level dynamic linking837299
Node: Compiled Code Modules842964
Node: Dynamic Linking and Compiled Code Modules844300
Node: Compiled Code Installation849871
Node: Variables853426
Node: Scheduling856284
Node: Arbiters857251
Node: Asyncs858596
Node: System asyncs859648
Node: User asyncs862784
Node: Continuation Barriers863649
Node: Threads864822
Node: Mutexes and Condition Variables867611
Node: Blocking873204
Node: Critical Sections875576
Node: Fluids and Dynamic States877703
Node: Parallel Forms883504
Node: Options and Config887095
Node: Build Config888353
Node: Feature Tracking893070
Node: Feature Manipulation893906
Node: Common Feature Symbols894779
Node: Runtime Options899015
Node: Low level options interfaces899870
Node: User level options interfaces901574
Node: Reader options903775
Node: Printing options904618
Node: Evaluator options905636
Node: Evaluator trap options906010
Node: Debugger options908456
Node: Examples of option use910452
Node: Translation912950
Node: Emacs Lisp Support913268
Node: Internationalization914169
Node: Debugging919938
Node: Evaluation Model920601
Node: Capturing the Stack or Innermost Stack Frame923202
Node: Examining the Stack925201
Node: Examining Stack Frames926583
Node: Source Properties928604
Node: Decoding Memoized Source Expressions932665
Node: Starting a New Stack933272
Node: Debug on Error933802
Ref: Debug on Error-Footnote-1943195
Node: Traps943326
Node: How to Set a Trap946393
Node: Specifying Trap Behaviour948625
Node: Trap Context951082
Ref: Trap Context-Footnote-1952718
Node: Tracing Examples952883
Node: Tracing Configuration955839
Node: Tracing and (ice-9 debug)960928
Node: Traps Installing More Traps963006
Node: Common Trap Options964521
Node: Procedure Traps966588
Node: Exit Traps967336
Node: Entry Traps968114
Node: Apply Traps968801
Node: Step Traps969531
Node: Source Traps973390
Node: Location Traps976200
Node: Trap Shorthands977775
Node: Trap Utilities979098
Node: Debugging Examples980750
Node: Single Stepping through a Procedure's Code981077
Node: Profiling or Tracing a Procedure's Code983329
Node: GH989036
Node: GH deprecation990130
Node: Transitioning away from GH992588
Node: GH preliminaries1001282
Node: Data types and constants defined by GH1001767
Node: Starting and controlling the interpreter1003444
Node: Error messages1006827
Node: Executing Scheme code1007060
Node: Defining new Scheme procedures in C1008267
Node: Converting data between C and Scheme1010582
Node: C to Scheme1011045
Node: Scheme to C1012886
Node: Type predicates1015672
Node: Equality predicates1017054
Node: Memory allocation and garbage collection1018277
Node: Calling Scheme procedures from C1018523
Node: Guile Modules1025334
Node: SLIB1026418
Node: SLIB installation1027177
Node: JACAL1028471
Node: POSIX1029051
Node: Conventions1030202
Node: Ports and File Descriptors1033510
Node: File System1051247
Node: User Information1064157
Node: Time1068463
Node: Runtime Environment1076302
Node: Processes1080709
Node: Signals1093575
Node: Terminals and Ptys1101484
Node: Pipes1103045
Node: Networking1106582
Node: Network Address Conversion1106871
Node: Network Databases1109974
Node: Network Socket Address1119509
Node: Network Sockets and Communication1123871
Node: Internet Socket Examples1138492
Node: System Identification1140376
Node: Locales1141816
Node: Encryption1142844
Node: getopt-long1144091
Node: getopt-long Example1145321
Node: Option Specification1147852
Node: Command Line Format1151041
Node: getopt-long Reference1153841
Node: option-ref Reference1156445
Node: SRFI Support1157159
Node: About SRFI Usage1159189
Node: SRFI-01160885
Node: SRFI-11163314
Node: SRFI-1 Constructors1164634
Node: SRFI-1 Predicates1166124
Node: SRFI-1 Selectors1168781
Node: SRFI-1 Length Append etc1170626
Node: SRFI-1 Fold and Map1173141
Node: SRFI-1 Filtering and Partitioning1181369
Node: SRFI-1 Searching1183023
Node: SRFI-1 Deleting1187204
Node: SRFI-1 Association Lists1189499
Node: SRFI-1 Set Operations1191746
Node: SRFI-21199932
Node: SRFI-41202257
Node: SRFI-61202539
Node: SRFI-81203051
Node: SRFI-91203312
Node: SRFI-101206108
Node: SRFI-111210166
Node: SRFI-131211032
Node: SRFI-141211247
Node: SRFI-161211497
Node: SRFI-171213325
Node: SRFI-191215000
Node: SRFI-19 Introduction1215978
Node: SRFI-19 Time1217633
Node: SRFI-19 Date1221297
Node: SRFI-19 Time/Date conversions1223476
Node: SRFI-19 Date to string1226251
Node: SRFI-19 String to date1229170
Node: SRFI-261231689
Node: SRFI-311234888
Node: SRFI-341235793
Node: SRFI-351236248
Node: SRFI-371241796
Node: SRFI-391245467
Node: SRFI-551251254
Node: SRFI-601252235
Node: SRFI-611256036
Node: SRFI-691256529
Node: SRFI-69 Creating hash tables1257325
Node: SRFI-69 Accessing table items1259974
Node: SRFI-69 Table properties1261681
Node: SRFI-69 Hash table algorithms1262796
Node: SRFI-881263877
Node: Readline Support1265264
Node: Loading Readline Support1266018
Node: Readline Options1268123
Node: Readline Functions1269276
Node: Value History1274369
Node: Pretty Printing1275343
Node: Formatted Output1276873
Node: File Tree Walk1304814
Node: Queues1311088
Node: Streams1313890
Node: Buffered Input1318712
Node: Expect1320931
Node: The Scheme shell (scsh)1326942
Node: Tracing1327498
Node: Autoconf Support1330474
Node: Autoconf Background1331189
Node: Autoconf Macros1332188
Node: Using Autoconf Macros1333374
Node: Autofrisk1335922
Node: Using Autofrisk1338641
Node: Data Representation1340053
Node: Data Representation in Scheme1341496
Node: A Simple Representation1343200
Node: Faster Integers1344557
Node: Cheaper Pairs1348013
Node: Guile Is Hairier1351287
Node: How Guile does it1352069
Node: General Rules1353082
Node: Conservative GC1354254
Node: Immediates vs Non-immediates1358386
Node: Immediate Datatypes1359612
Node: Integer Data1360316
Node: Character Data1361420
Node: Boolean Data1361980
Node: Unique Values1362263
Node: Non-immediate Datatypes1363824
Node: Pair Data1365421
Node: Vector Data1367518
Node: Procedures1369493
Node: Closures1370150
Node: Subrs1371843
Node: Port Data1374439
Node: Signalling Type Errors1374612
Node: Unpacking the SCM type1376135
Node: Relationship between SCM and scm_t_bits1377068
Node: Immediate objects1378276
Node: Non-immediate objects1379486
Node: Allocating Cells1380864
Node: Heap Cell Type Information1382129
Node: Accessing Cell Entries1383089
Node: Basic Rules for Accessing Cell Entries1386641
Node: GNU Free Documentation License1387953
Node: Concept Index1410420
Node: Procedure Index1445138
Node: Variable Index1758041
Node: Type Index1778241
Node: R5RS Index1781873

End Tag Table
