This is guile.info, produced by makeinfo version 4.13 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: 948
guile.info-2: 300902
guile.info-3: 599105
guile.info-4: 899008
guile.info-5: 1191739
guile.info-6: 1445131
guile.info-7: 1758034

Tag Table:
(Indirect)
Node: Top948
Node: Preface2188
Node: Manual Layout2634
Node: Manual Conventions4512
Node: Contributors5780
Node: Guile License7498
Node: Introduction to Guile8967
Node: What is Guile?9255
Node: Obtaining and Installing Guile11718
Node: Whirlwind Tour13027
Node: Running Guile Interactively13630
Node: Running Guile Scripts14527
Node: Linking Guile into Programs15155
Node: Writing Guile Extensions16667
Node: Using the Guile Module System18113
Node: Using Modules18823
Node: Writing new Modules19721
Node: Putting Extensions into Modules20478
Node: Discouraged and Deprecated21412
Node: Reporting Bugs22983
Node: Programming in Scheme29748
Node: Basic Ideas30983
Node: About Data32042
Node: Latent Typing32718
Node: Values and Variables34670
Node: Definition36633
Node: About Procedures39219
Node: Procedures as Values40154
Node: Simple Invocation42827
Node: Creating a Procedure44613
Node: Lambda Alternatives47202
Node: About Expressions49066
Node: Evaluating50462
Ref: Evaluating-Footnote-158966
Node: Tail Calls59102
Node: The REPL61835
Node: Syntax Summary62876
Node: About Closure64765
Node: About Environments65949
Node: Local Variables67770
Node: Chaining69284
Node: Lexical Scope71620
Node: Closure76823
Node: Serial Number79088
Node: Shared Variable80638
Node: Callback Closure82196
Node: OO Closure84463
Node: Guile Scheme86709
Node: Guile Scripting87690
Node: The Top of a Script File88488
Node: Invoking Guile90257
Node: The Meta Switch95266
Node: Command Line Handling99237
Node: Scripting Examples102119
Node: Using Guile Interactively105841
Node: Readline106773
Node: Value Historyx107523
Node: Error Handling108636
Node: Interactive Debugger110948
Node: Display Backtrace112261
Node: Frame Selection113201
Node: Frame Information115099
Node: Frame Evaluation116192
Node: Stepping and Continuing116823
Node: Using Guile in Emacs118440
Node: GDS Introduction123222
Node: GDS Architecture125532
Node: GDS Getting Started128211
Node: Working with GDS in Scheme Buffers135122
Node: Access to Guile Help and Completion135569
Node: Evaluating Scheme Code137208
Node: Displaying the Scheme Stack138795
Node: Continuing Execution141543
Node: Associating Buffers with Clients143348
Node: An Example GDS Session145529
Node: Further Reading148515
Node: Programming in C149403
Node: Linking Programs With Guile151191
Node: Guile Initialization Functions152478
Node: A Sample Guile Main Program154085
Node: Linking Guile with Libraries158003
Node: A Sample Guile Extension160030
Node: General Libguile Concepts162217
Node: Dynamic Types163875
Node: Garbage Collection169304
Node: Control Flow173811
Node: Asynchronous Signals179666
Node: Multi-Threading181557
Node: Defining New Types (Smobs)190045
Node: Describing a New Type191411
Node: Creating Instances195048
Node: Type checking200450
Node: Garbage Collecting Smobs201546
Node: Garbage Collecting Simple Smobs206066
Node: Remembering During Operations207138
Node: Double Smobs209486
Node: The Complete Example210826
Node: Function Snarfing215429
Node: Programming Overview219792
Node: Extending Dia221251
Node: Dia Objective222247
Node: Dia Steps224296
Node: Dia Smobs225593
Node: Dia Primitives230828
Node: Dia Hook233258
Node: Dia Structure234305
Node: Dia Advanced235821
Node: Scheme vs C240488
Node: Testbed Example242523
Ref: Testbed Example-Footnote-1244147
Node: Programming Options244268
Node: Available Functionality246803
Node: Basic Constraints249450
Node: Style Choices249671
Node: Program Control249872
Node: User Programming250047
Ref: User Programming-Footnote-1253168
Node: API Reference253448
Node: API Overview255320
Node: The SCM Type257717
Node: Initialization259291
Node: Snarfing Macros264320
Node: Simple Data Types267780
Node: Booleans268833
Node: Numbers271581
Node: Numerical Tower273047
Node: Integers275351
Node: Reals and Rationals284030
Node: Complex Numbers289239
Node: Exactness290796
Node: Number Syntax292698
Node: Integer Operations294517
Node: Comparison296393
Node: Conversion298025
Node: Complex299354
Node: Arithmetic300902
Node: Scientific303475
Node: Primitive Numerics305337
Node: Bitwise Operations308593
Node: Random313470
Node: Characters317519
Node: Character Sets321823
Node: Character Set Predicates/Comparison323051
Node: Iterating Over Character Sets324212
Node: Creating Character Sets327552
Node: Querying Character Sets331184
Node: Character-Set Algebra332754
Node: Standard Character Sets335925
Node: Strings338746
Node: String Syntax341860
Node: String Predicates342916
Node: String Constructors345283
Node: List/String Conversion347760
Node: String Selection348987
Node: String Modification354294
Node: String Comparison356317
Node: String Searching363422
Node: Alphabetic Case Mapping368839
Node: Reversing and Appending Strings371079
Node: Mapping Folding and Unfolding373583
Node: Miscellaneous String Operations377716
Node: Conversion to/from C380542
Node: Regular Expressions384387
Node: Regexp Functions385684
Node: Match Structures396168
Node: Backslash Escapes399323
Node: Symbols403424
Node: Symbol Data406346
Node: Symbol Keys408607
Node: Symbol Variables411052
Node: Symbol Primitives412087
Node: Symbol Props418261
Node: Symbol Read Syntax421110
Node: Symbol Uninterned422753
Node: Keywords426250
Node: Why Use Keywords?426895
Node: Coding With Keywords428794
Node: Keyword Read Syntax430775
Node: Keyword Procedures432389
Node: Other Types433378
Node: Compound Data Types434020
Node: Pairs435352
Node: Lists441104
Ref: Lists-Footnote-1441975
Node: List Syntax442167
Ref: List Syntax-Footnote-1443169
Node: List Predicates443276
Node: List Constructors444249
Node: List Selection446448
Node: Append/Reverse447686
Node: List Modification449779
Node: List Searching453049
Node: List Mapping454634
Node: Vectors456040
Node: Vector Syntax457213
Node: Vector Creation457990
Node: Vector Accessors460045
Node: Vector Accessing from C463443
Node: Uniform Numeric Vectors467079
Node: Bit Vectors489523
Node: Generalized Vectors495222
Node: Arrays497758
Node: Array Syntax499823
Node: Array Procedures502379
Node: Shared Arrays512979
Node: Accessing Arrays from C519058
Node: Records532028
Node: Structures536535
Node: Vtables537308
Node: Structure Basics540520
Node: Vtable Contents543400
Node: Vtable Vtables546042
Node: Dictionary Types550803
Node: Association Lists552659
Node: Alist Key Equality553966
Node: Adding or Setting Alist Entries554816
Node: Retrieving Alist Entries559414
Node: Removing Alist Entries561215
Node: Sloppy Alist Functions563979
Node: Alist Example566179
Node: Hash Tables567442
Node: Hash Table Examples568518
Node: Hash Table Reference570745
Node: Smobs580047
Node: Procedures and Macros588092
Node: Lambda588866
Node: Primitive Procedures591913
Node: Optional Arguments593727
Node: let-optional Reference595096
Node: let-keywords Reference596448
Node: lambda* Reference599105
Node: define* Reference602439
Node: Procedure Properties604475
Node: Procedures with Setters607433
Ref: Procedures with Setters-Footnote-1609811
Node: Macros609952
Node: Syntax Rules611971
Node: Pattern Language613945
Node: Define-Syntax614120
Node: Let-Syntax614581
Node: Syntax Case614728
Node: Internal Macros614928
Node: Utility Functions619545
Node: Equality620309
Node: Object Properties625088
Node: Property Primitives627181
Node: Old-fashioned Properties628424
Node: Sorting629696
Node: Copying634089
Node: General Conversion634951
Node: Hooks636026
Node: Hook Example637547
Node: Hook Reference639408
Node: C Hooks643273
Node: GC Hooks647462
Node: REPL Hooks649705
Node: Binding Constructs649842
Node: Top Level650569
Node: Local Bindings653277
Node: Internal Definitions656424
Node: Binding Reflection658046
Node: Control Mechanisms658568
Node: begin659540
Node: if cond case660775
Node: and or664133
Node: while do665324
Node: Continuations669992
Node: Multiple Values675495
Node: Exceptions678568
Node: Exception Terminology680262
Node: Catch681294
Node: Throw Handlers687945
Node: Lazy Catch690201
Node: Throw696097
Node: Exception Implementation698599
Node: Error Reporting700177
Node: Dynamic Wind702048
Node: Handling Errors709695
Node: Input and Output713888
Node: Ports714729
Node: Reading717679
Node: Writing722520
Node: Closing725965
Node: Random Access727128
Node: Line/Delimited728846
Node: Block Reading and Writing733343
Node: Default Ports737004
Node: Port Types740043
Node: File Ports740425
Node: String Ports746668
Node: Soft Ports749293
Node: Void Ports751146
Node: I/O Extensions751697
Node: C Port Interface751975
Node: Port Implementation755503
Node: Read/Load/Eval760638
Node: Scheme Syntax761421
Node: Expression Syntax761735
Node: Comments765430
Node: Block Comments766356
Node: Case Sensitivity767282
Node: Keyword Syntax768027
Node: Reader Extensions768190
Node: Scheme Read768709
Node: Fly Evaluation770369
Node: Loading773818
Node: Delayed Evaluation777948
Node: Local Evaluation779115
Node: Evaluator Behaviour779600
Node: Memory Management782071
Node: Garbage Collection Functions782662
Node: Memory Blocks785434
Node: Weak References793807
Node: Weak hash tables795712
Node: Weak vectors796889
Node: Guardians797909
Node: Objects800705
Node: Modules801673
Node: provide and require803481
Node: Environments804301
Node: The Guile module system806335
Node: General Information about Modules807829
Node: Using Guile Modules810480
Node: Creating Guile Modules815603
Node: Module System Reflection824212
Node: Module System Quirks826468
Node: Included Guile Modules827802
Node: Accessing Modules from C831125
Node: Dynamic Libraries834912
Ref: Dynamic Libraries-Footnote-1837016
Node: Low level dynamic linking837292
Node: Compiled Code Modules842957
Node: Dynamic Linking and Compiled Code Modules844293
Node: Compiled Code Installation849864
Node: Variables853419
Node: Scheduling856277
Node: Arbiters857244
Node: Asyncs858589
Node: System asyncs859641
Node: User asyncs862777
Node: Continuation Barriers863642
Node: Threads864815
Node: Mutexes and Condition Variables867604
Node: Blocking873197
Node: Critical Sections875569
Node: Fluids and Dynamic States877696
Node: Parallel Forms883497
Node: Options and Config887088
Node: Build Config888346
Node: Feature Tracking893063
Node: Feature Manipulation893899
Node: Common Feature Symbols894772
Node: Runtime Options899008
Node: Low level options interfaces899863
Node: User level options interfaces901567
Node: Reader options903768
Node: Printing options904611
Node: Evaluator options905629
Node: Evaluator trap options906003
Node: Debugger options908449
Node: Examples of option use910445
Node: Translation912943
Node: Emacs Lisp Support913261
Node: Internationalization914162
Node: Debugging919931
Node: Evaluation Model920594
Node: Capturing the Stack or Innermost Stack Frame923195
Node: Examining the Stack925194
Node: Examining Stack Frames926576
Node: Source Properties928597
Node: Decoding Memoized Source Expressions932658
Node: Starting a New Stack933265
Node: Debug on Error933795
Ref: Debug on Error-Footnote-1943188
Node: Traps943319
Node: How to Set a Trap946386
Node: Specifying Trap Behaviour948618
Node: Trap Context951075
Ref: Trap Context-Footnote-1952711
Node: Tracing Examples952876
Node: Tracing Configuration955832
Node: Tracing and (ice-9 debug)960921
Node: Traps Installing More Traps962999
Node: Common Trap Options964514
Node: Procedure Traps966581
Node: Exit Traps967329
Node: Entry Traps968107
Node: Apply Traps968794
Node: Step Traps969524
Node: Source Traps973383
Node: Location Traps976193
Node: Trap Shorthands977768
Node: Trap Utilities979091
Node: Debugging Examples980743
Node: Single Stepping through a Procedure's Code981070
Node: Profiling or Tracing a Procedure's Code983322
Node: GH989029
Node: GH deprecation990123
Node: Transitioning away from GH992581
Node: GH preliminaries1001275
Node: Data types and constants defined by GH1001760
Node: Starting and controlling the interpreter1003437
Node: Error messages1006820
Node: Executing Scheme code1007053
Node: Defining new Scheme procedures in C1008260
Node: Converting data between C and Scheme1010575
Node: C to Scheme1011038
Node: Scheme to C1012879
Node: Type predicates1015665
Node: Equality predicates1017047
Node: Memory allocation and garbage collection1018270
Node: Calling Scheme procedures from C1018516
Node: Guile Modules1025327
Node: SLIB1026411
Node: SLIB installation1027170
Node: JACAL1028464
Node: POSIX1029044
Node: Conventions1030195
Node: Ports and File Descriptors1033503
Node: File System1051240
Node: User Information1064150
Node: Time1068456
Node: Runtime Environment1076295
Node: Processes1080702
Node: Signals1093568
Node: Terminals and Ptys1101477
Node: Pipes1103038
Node: Networking1106575
Node: Network Address Conversion1106864
Node: Network Databases1109967
Node: Network Socket Address1119502
Node: Network Sockets and Communication1123864
Node: Internet Socket Examples1138485
Node: System Identification1140369
Node: Locales1141809
Node: Encryption1142837
Node: getopt-long1144084
Node: getopt-long Example1145314
Node: Option Specification1147845
Node: Command Line Format1151034
Node: getopt-long Reference1153834
Node: option-ref Reference1156438
Node: SRFI Support1157152
Node: About SRFI Usage1159182
Node: SRFI-01160878
Node: SRFI-11163307
Node: SRFI-1 Constructors1164627
Node: SRFI-1 Predicates1166117
Node: SRFI-1 Selectors1168774
Node: SRFI-1 Length Append etc1170619
Node: SRFI-1 Fold and Map1173134
Node: SRFI-1 Filtering and Partitioning1181362
Node: SRFI-1 Searching1183016
Node: SRFI-1 Deleting1187197
Node: SRFI-1 Association Lists1189492
Node: SRFI-1 Set Operations1191739
Node: SRFI-21199925
Node: SRFI-41202250
Node: SRFI-61202532
Node: SRFI-81203044
Node: SRFI-91203305
Node: SRFI-101206101
Node: SRFI-111210159
Node: SRFI-131211025
Node: SRFI-141211240
Node: SRFI-161211490
Node: SRFI-171213318
Node: SRFI-191214993
Node: SRFI-19 Introduction1215971
Node: SRFI-19 Time1217626
Node: SRFI-19 Date1221290
Node: SRFI-19 Time/Date conversions1223469
Node: SRFI-19 Date to string1226244
Node: SRFI-19 String to date1229163
Node: SRFI-261231682
Node: SRFI-311234881
Node: SRFI-341235786
Node: SRFI-351236241
Node: SRFI-371241789
Node: SRFI-391245460
Node: SRFI-551251247
Node: SRFI-601252228
Node: SRFI-611256029
Node: SRFI-691256522
Node: SRFI-69 Creating hash tables1257318
Node: SRFI-69 Accessing table items1259967
Node: SRFI-69 Table properties1261674
Node: SRFI-69 Hash table algorithms1262789
Node: SRFI-881263870
Node: Readline Support1265257
Node: Loading Readline Support1266011
Node: Readline Options1268116
Node: Readline Functions1269269
Node: Value History1274362
Node: Pretty Printing1275336
Node: Formatted Output1276866
Node: File Tree Walk1304807
Node: Queues1311081
Node: Streams1313883
Node: Buffered Input1318705
Node: Expect1320924
Node: The Scheme shell (scsh)1326935
Node: Tracing1327491
Node: Autoconf Support1330467
Node: Autoconf Background1331182
Node: Autoconf Macros1332181
Node: Using Autoconf Macros1333367
Node: Autofrisk1335915
Node: Using Autofrisk1338634
Node: Data Representation1340046
Node: Data Representation in Scheme1341489
Node: A Simple Representation1343193
Node: Faster Integers1344550
Node: Cheaper Pairs1348006
Node: Guile Is Hairier1351280
Node: How Guile does it1352062
Node: General Rules1353075
Node: Conservative GC1354247
Node: Immediates vs Non-immediates1358379
Node: Immediate Datatypes1359605
Node: Integer Data1360309
Node: Character Data1361413
Node: Boolean Data1361973
Node: Unique Values1362256
Node: Non-immediate Datatypes1363817
Node: Pair Data1365414
Node: Vector Data1367511
Node: Procedures1369486
Node: Closures1370143
Node: Subrs1371836
Node: Port Data1374432
Node: Signalling Type Errors1374605
Node: Unpacking the SCM type1376128
Node: Relationship between SCM and scm_t_bits1377061
Node: Immediate objects1378269
Node: Non-immediate objects1379479
Node: Allocating Cells1380857
Node: Heap Cell Type Information1382122
Node: Accessing Cell Entries1383082
Node: Basic Rules for Accessing Cell Entries1386634
Node: GNU Free Documentation License1387946
Node: Concept Index1410413
Node: Procedure Index1445131
Node: Variable Index1758034
Node: Type Index1778234
Node: R5RS Index1781866

End Tag Table
