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: 1191736
guile.info-6: 1445124
guile.info-7: 1758027

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 Modules1025324
Node: SLIB1026408
Node: SLIB installation1027167
Node: JACAL1028461
Node: POSIX1029041
Node: Conventions1030192
Node: Ports and File Descriptors1033500
Node: File System1051237
Node: User Information1064147
Node: Time1068453
Node: Runtime Environment1076292
Node: Processes1080699
Node: Signals1093565
Node: Terminals and Ptys1101474
Node: Pipes1103035
Node: Networking1106572
Node: Network Address Conversion1106861
Node: Network Databases1109964
Node: Network Socket Address1119499
Node: Network Sockets and Communication1123861
Node: Internet Socket Examples1138482
Node: System Identification1140366
Node: Locales1141806
Node: Encryption1142834
Node: getopt-long1144081
Node: getopt-long Example1145311
Node: Option Specification1147842
Node: Command Line Format1151031
Node: getopt-long Reference1153831
Node: option-ref Reference1156435
Node: SRFI Support1157149
Node: About SRFI Usage1159179
Node: SRFI-01160875
Node: SRFI-11163304
Node: SRFI-1 Constructors1164624
Node: SRFI-1 Predicates1166114
Node: SRFI-1 Selectors1168771
Node: SRFI-1 Length Append etc1170616
Node: SRFI-1 Fold and Map1173131
Node: SRFI-1 Filtering and Partitioning1181359
Node: SRFI-1 Searching1183013
Node: SRFI-1 Deleting1187194
Node: SRFI-1 Association Lists1189489
Node: SRFI-1 Set Operations1191736
Node: SRFI-21199922
Node: SRFI-41202247
Node: SRFI-61202529
Node: SRFI-81203041
Node: SRFI-91203302
Node: SRFI-101206098
Node: SRFI-111210156
Node: SRFI-131211022
Node: SRFI-141211237
Node: SRFI-161211487
Node: SRFI-171213315
Node: SRFI-191214990
Node: SRFI-19 Introduction1215968
Node: SRFI-19 Time1217623
Node: SRFI-19 Date1221287
Node: SRFI-19 Time/Date conversions1223466
Node: SRFI-19 Date to string1226241
Node: SRFI-19 String to date1229160
Node: SRFI-261231679
Node: SRFI-311234878
Node: SRFI-341235783
Node: SRFI-351236238
Node: SRFI-371241786
Node: SRFI-391245457
Node: SRFI-551251244
Node: SRFI-601252225
Node: SRFI-611256026
Node: SRFI-691256519
Node: SRFI-69 Creating hash tables1257315
Node: SRFI-69 Accessing table items1259964
Node: SRFI-69 Table properties1261671
Node: SRFI-69 Hash table algorithms1262786
Node: SRFI-881263867
Node: Readline Support1265254
Node: Loading Readline Support1266008
Node: Readline Options1268113
Node: Readline Functions1269266
Node: Value History1274359
Node: Pretty Printing1275333
Node: Formatted Output1276863
Node: File Tree Walk1304804
Node: Queues1311078
Node: Streams1313880
Node: Buffered Input1318702
Node: Expect1320921
Node: The Scheme shell (scsh)1326932
Node: Tracing1327488
Node: Autoconf Support1330464
Node: Autoconf Background1331179
Node: Autoconf Macros1332178
Node: Using Autoconf Macros1333364
Node: Autofrisk1335912
Node: Using Autofrisk1338631
Node: Data Representation1340043
Node: Data Representation in Scheme1341486
Node: A Simple Representation1343190
Node: Faster Integers1344547
Node: Cheaper Pairs1348003
Node: Guile Is Hairier1351277
Node: How Guile does it1352059
Node: General Rules1353072
Node: Conservative GC1354244
Node: Immediates vs Non-immediates1358376
Node: Immediate Datatypes1359602
Node: Integer Data1360306
Node: Character Data1361410
Node: Boolean Data1361970
Node: Unique Values1362253
Node: Non-immediate Datatypes1363814
Node: Pair Data1365411
Node: Vector Data1367508
Node: Procedures1369483
Node: Closures1370140
Node: Subrs1371833
Node: Port Data1374429
Node: Signalling Type Errors1374602
Node: Unpacking the SCM type1376125
Node: Relationship between SCM and scm_t_bits1377058
Node: Immediate objects1378266
Node: Non-immediate objects1379476
Node: Allocating Cells1380854
Node: Heap Cell Type Information1382119
Node: Accessing Cell Entries1383079
Node: Basic Rules for Accessing Cell Entries1386631
Node: GNU Free Documentation License1387943
Node: Concept Index1410406
Node: Procedure Index1445124
Node: Variable Index1758027
Node: Type Index1778227
Node: R5RS Index1781859

End Tag Table
