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.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: 920
guile.info-2: 300499
guile.info-3: 598702
guile.info-4: 898610
guile.info-5: 1191339
guile.info-6: 1447590
guile.info-7: 1761150

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 Flow173408
Node: Asynchronous Signals179263
Node: Multi-Threading181154
Node: Defining New Types (Smobs)189642
Node: Describing a New Type191008
Node: Creating Instances194645
Node: Type checking200047
Node: Garbage Collecting Smobs201143
Node: Garbage Collecting Simple Smobs205663
Node: Remembering During Operations206735
Node: Double Smobs209083
Node: The Complete Example210423
Node: Function Snarfing215026
Node: Programming Overview219389
Node: Extending Dia220848
Node: Dia Objective221844
Node: Dia Steps223893
Node: Dia Smobs225190
Node: Dia Primitives230425
Node: Dia Hook232855
Node: Dia Structure233902
Node: Dia Advanced235418
Node: Scheme vs C240085
Node: Testbed Example242120
Ref: Testbed Example-Footnote-1243744
Node: Programming Options243865
Node: Available Functionality246400
Node: Basic Constraints249047
Node: Style Choices249268
Node: Program Control249469
Node: User Programming249644
Ref: User Programming-Footnote-1252765
Node: API Reference253045
Node: API Overview254917
Node: The SCM Type257314
Node: Initialization258888
Node: Snarfing Macros263917
Node: Simple Data Types267377
Node: Booleans268430
Node: Numbers271178
Node: Numerical Tower272644
Node: Integers274948
Node: Reals and Rationals283627
Node: Complex Numbers288836
Node: Exactness290393
Node: Number Syntax292295
Node: Integer Operations294114
Node: Comparison295990
Node: Conversion297622
Node: Complex298951
Node: Arithmetic300499
Node: Scientific303072
Node: Primitive Numerics304934
Node: Bitwise Operations308190
Node: Random313067
Node: Characters317116
Node: Character Sets321420
Node: Character Set Predicates/Comparison322648
Node: Iterating Over Character Sets323809
Node: Creating Character Sets327149
Node: Querying Character Sets330781
Node: Character-Set Algebra332351
Node: Standard Character Sets335522
Node: Strings338343
Node: String Syntax341457
Node: String Predicates342513
Node: String Constructors344880
Node: List/String Conversion347357
Node: String Selection348584
Node: String Modification353891
Node: String Comparison355914
Node: String Searching363019
Node: Alphabetic Case Mapping368436
Node: Reversing and Appending Strings370676
Node: Mapping Folding and Unfolding373180
Node: Miscellaneous String Operations377313
Node: Conversion to/from C380139
Node: Regular Expressions383984
Node: Regexp Functions385281
Node: Match Structures395765
Node: Backslash Escapes398920
Node: Symbols403021
Node: Symbol Data405943
Node: Symbol Keys408204
Node: Symbol Variables410649
Node: Symbol Primitives411684
Node: Symbol Props417858
Node: Symbol Read Syntax420707
Node: Symbol Uninterned422350
Node: Keywords425847
Node: Why Use Keywords?426492
Node: Coding With Keywords428391
Node: Keyword Read Syntax430372
Node: Keyword Procedures431986
Node: Other Types432975
Node: Compound Data Types433617
Node: Pairs434949
Node: Lists440701
Ref: Lists-Footnote-1441572
Node: List Syntax441764
Ref: List Syntax-Footnote-1442766
Node: List Predicates442873
Node: List Constructors443846
Node: List Selection446045
Node: Append/Reverse447283
Node: List Modification449376
Node: List Searching452646
Node: List Mapping454231
Node: Vectors455637
Node: Vector Syntax456810
Node: Vector Creation457587
Node: Vector Accessors459642
Node: Vector Accessing from C463040
Node: Uniform Numeric Vectors466676
Node: Bit Vectors489120
Node: Generalized Vectors494819
Node: Arrays497355
Node: Array Syntax499420
Node: Array Procedures501976
Node: Shared Arrays512576
Node: Accessing Arrays from C518655
Node: Records531625
Node: Structures536132
Node: Vtables536905
Node: Structure Basics540117
Node: Vtable Contents542997
Node: Vtable Vtables545639
Node: Dictionary Types550400
Node: Association Lists552256
Node: Alist Key Equality553563
Node: Adding or Setting Alist Entries554413
Node: Retrieving Alist Entries559011
Node: Removing Alist Entries560812
Node: Sloppy Alist Functions563576
Node: Alist Example565776
Node: Hash Tables567039
Node: Hash Table Examples568115
Node: Hash Table Reference570342
Node: Smobs579644
Node: Procedures and Macros587689
Node: Lambda588463
Node: Primitive Procedures591510
Node: Optional Arguments593324
Node: let-optional Reference594693
Node: let-keywords Reference596045
Node: lambda* Reference598702
Node: define* Reference602036
Node: Procedure Properties604072
Node: Procedures with Setters607030
Ref: Procedures with Setters-Footnote-1609408
Node: Macros609549
Node: Syntax Rules611568
Node: Pattern Language613542
Node: Define-Syntax613717
Node: Let-Syntax614178
Node: Syntax Case614325
Node: Internal Macros614525
Node: Utility Functions619142
Node: Equality619906
Node: Object Properties624685
Node: Property Primitives626778
Node: Old-fashioned Properties628021
Node: Sorting629293
Node: Copying633686
Node: General Conversion634548
Node: Hooks635623
Node: Hook Example637144
Node: Hook Reference639005
Node: C Hooks642870
Node: GC Hooks647059
Node: REPL Hooks649302
Node: Binding Constructs649439
Node: Top Level650166
Node: Local Bindings652874
Node: Internal Definitions656021
Node: Binding Reflection657643
Node: Control Mechanisms658165
Node: begin659137
Node: if cond case660372
Node: and or663730
Node: while do664921
Node: Continuations669589
Node: Multiple Values675092
Node: Exceptions678165
Node: Exception Terminology679859
Node: Catch680891
Node: Throw Handlers687542
Node: Lazy Catch689798
Node: Throw695694
Node: Exception Implementation698196
Node: Error Reporting699774
Node: Dynamic Wind701645
Node: Handling Errors709292
Node: Input and Output713485
Node: Ports714326
Node: Reading717276
Node: Writing722117
Node: Closing725562
Node: Random Access726725
Node: Line/Delimited728443
Node: Block Reading and Writing732940
Node: Default Ports736601
Node: Port Types739640
Node: File Ports740022
Node: String Ports746265
Node: Soft Ports748890
Node: Void Ports750743
Node: I/O Extensions751294
Node: C Port Interface751572
Node: Port Implementation755100
Node: Read/Load/Eval760235
Node: Scheme Syntax761018
Node: Expression Syntax761332
Node: Comments765027
Node: Block Comments765953
Node: Case Sensitivity766879
Node: Keyword Syntax767624
Node: Reader Extensions767787
Node: Scheme Read768306
Node: Fly Evaluation769966
Node: Loading773415
Node: Delayed Evaluation777545
Node: Local Evaluation778712
Node: Evaluator Behaviour779197
Node: Memory Management781668
Node: Garbage Collection Functions782259
Node: Memory Blocks785031
Node: Weak References793404
Node: Weak hash tables795309
Node: Weak vectors796486
Node: Guardians797506
Node: Objects800302
Node: Modules801270
Node: provide and require803078
Node: Environments803898
Node: The Guile module system805932
Node: General Information about Modules807426
Node: Using Guile Modules810077
Node: Creating Guile Modules815200
Node: Module System Reflection823809
Node: Module System Quirks826070
Node: Included Guile Modules827404
Node: Accessing Modules from C830727
Node: Dynamic Libraries834514
Ref: Dynamic Libraries-Footnote-1836618
Node: Low level dynamic linking836894
Node: Compiled Code Modules842559
Node: Dynamic Linking and Compiled Code Modules843895
Node: Compiled Code Installation849466
Node: Variables853021
Node: Scheduling855879
Node: Arbiters856846
Node: Asyncs858191
Node: System asyncs859243
Node: User asyncs862379
Node: Continuation Barriers863244
Node: Threads864417
Node: Mutexes and Condition Variables867206
Node: Blocking872799
Node: Critical Sections875171
Node: Fluids and Dynamic States877298
Node: Parallel Forms883099
Node: Options and Config886690
Node: Build Config887948
Node: Feature Tracking892665
Node: Feature Manipulation893501
Node: Common Feature Symbols894374
Node: Runtime Options898610
Node: Low level options interfaces899465
Node: User level options interfaces901169
Node: Reader options903370
Node: Printing options904213
Node: Evaluator options905231
Node: Evaluator trap options905605
Node: Debugger options908051
Node: Examples of option use910047
Node: Translation912545
Node: Emacs Lisp Support912863
Node: Internationalization913764
Node: Debugging919533
Node: Evaluation Model920196
Node: Capturing the Stack or Innermost Stack Frame922797
Node: Examining the Stack924796
Node: Examining Stack Frames926178
Node: Source Properties928199
Node: Decoding Memoized Source Expressions932260
Node: Starting a New Stack932867
Node: Debug on Error933397
Ref: Debug on Error-Footnote-1942790
Node: Traps942921
Node: How to Set a Trap945988
Node: Specifying Trap Behaviour948220
Node: Trap Context950677
Ref: Trap Context-Footnote-1952313
Node: Tracing Examples952478
Node: Tracing Configuration955434
Node: Tracing and (ice-9 debug)960523
Node: Traps Installing More Traps962601
Node: Common Trap Options964116
Node: Procedure Traps966183
Node: Exit Traps966931
Node: Entry Traps967709
Node: Apply Traps968396
Node: Step Traps969126
Node: Source Traps972985
Node: Location Traps975795
Node: Trap Shorthands977370
Node: Trap Utilities978693
Node: Debugging Examples980345
Node: Single Stepping through a Procedure's Code980672
Node: Profiling or Tracing a Procedure's Code982924
Node: GH988631
Node: GH deprecation989725
Node: Transitioning away from GH992183
Node: GH preliminaries1000877
Node: Data types and constants defined by GH1001362
Node: Starting and controlling the interpreter1003039
Node: Error messages1006422
Node: Executing Scheme code1006655
Node: Defining new Scheme procedures in C1007862
Node: Converting data between C and Scheme1010177
Node: C to Scheme1010640
Node: Scheme to C1012481
Node: Type predicates1015267
Node: Equality predicates1016649
Node: Memory allocation and garbage collection1017872
Node: Calling Scheme procedures from C1018118
Node: Guile Modules1024929
Node: SLIB1026013
Node: SLIB installation1026772
Node: JACAL1028066
Node: POSIX1028646
Node: Conventions1029797
Node: Ports and File Descriptors1033105
Node: File System1050842
Node: User Information1063752
Node: Time1068058
Node: Runtime Environment1075897
Node: Processes1080304
Node: Signals1093170
Node: Terminals and Ptys1101079
Node: Pipes1102640
Node: Networking1106177
Node: Network Address Conversion1106466
Node: Network Databases1109565
Node: Network Socket Address1119100
Node: Network Sockets and Communication1123462
Node: Internet Socket Examples1138085
Node: System Identification1139969
Node: Locales1141409
Node: Encryption1142437
Node: getopt-long1143684
Node: getopt-long Example1144914
Node: Option Specification1147445
Node: Command Line Format1150634
Node: getopt-long Reference1153434
Node: option-ref Reference1156038
Node: SRFI Support1156752
Node: About SRFI Usage1158782
Node: SRFI-01160478
Node: SRFI-11162907
Node: SRFI-1 Constructors1164227
Node: SRFI-1 Predicates1165717
Node: SRFI-1 Selectors1168374
Node: SRFI-1 Length Append etc1170219
Node: SRFI-1 Fold and Map1172734
Node: SRFI-1 Filtering and Partitioning1180962
Node: SRFI-1 Searching1182616
Node: SRFI-1 Deleting1186797
Node: SRFI-1 Association Lists1189092
Node: SRFI-1 Set Operations1191339
Node: SRFI-21199525
Node: SRFI-41201850
Node: SRFI-61202132
Node: SRFI-81202644
Node: SRFI-91202905
Node: SRFI-101205701
Node: SRFI-111209759
Node: SRFI-131210625
Node: SRFI-141210840
Node: SRFI-161211090
Node: SRFI-171212918
Node: SRFI-191214593
Node: SRFI-19 Introduction1215571
Node: SRFI-19 Time1217226
Node: SRFI-19 Date1220890
Node: SRFI-19 Time/Date conversions1223069
Node: SRFI-19 Date to string1225844
Node: SRFI-19 String to date1228763
Node: SRFI-261231282
Node: SRFI-311234481
Node: SRFI-341235386
Node: SRFI-351235841
Node: SRFI-371241389
Node: SRFI-391245060
Node: SRFI-551250847
Node: SRFI-601251828
Node: SRFI-611255629
Node: SRFI-691256122
Node: SRFI-69 Creating hash tables1256918
Node: SRFI-69 Accessing table items1259567
Node: SRFI-69 Table properties1261274
Node: SRFI-69 Hash table algorithms1262389
Node: SRFI-881263470
Node: Readline Support1264857
Node: Loading Readline Support1265611
Node: Readline Options1267716
Node: Readline Functions1268869
Node: Value History1273962
Node: Pretty Printing1274936
Node: Formatted Output1276466
Node: File Tree Walk1304407
Node: Queues1310681
Node: Streams1313483
Node: Buffered Input1318305
Node: Expect1320524
Node: The Scheme shell (scsh)1326535
Node: Tracing1327091
Node: Autoconf Support1330067
Node: Autoconf Background1330782
Node: Autoconf Macros1331781
Node: Using Autoconf Macros1335826
Node: Autofrisk1338374
Node: Using Autofrisk1341093
Node: Data Representation1342505
Node: Data Representation in Scheme1343948
Node: A Simple Representation1345652
Node: Faster Integers1347009
Node: Cheaper Pairs1350465
Node: Guile Is Hairier1353739
Node: How Guile does it1354521
Node: General Rules1355534
Node: Conservative GC1356706
Node: Immediates vs Non-immediates1360838
Node: Immediate Datatypes1362064
Node: Integer Data1362768
Node: Character Data1363872
Node: Boolean Data1364432
Node: Unique Values1364715
Node: Non-immediate Datatypes1366276
Node: Pair Data1367873
Node: Vector Data1369970
Node: Procedures1371945
Node: Closures1372602
Node: Subrs1374295
Node: Port Data1376891
Node: Signalling Type Errors1377064
Node: Unpacking the SCM type1378587
Node: Relationship between SCM and scm_t_bits1379520
Node: Immediate objects1380728
Node: Non-immediate objects1381938
Node: Allocating Cells1383316
Node: Heap Cell Type Information1384581
Node: Accessing Cell Entries1385541
Node: Basic Rules for Accessing Cell Entries1389093
Node: GNU Free Documentation License1390405
Node: Concept Index1412872
Node: Procedure Index1447590
Node: Variable Index1761150
Node: Type Index1781350
Node: R5RS Index1784982

End Tag Table
