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

   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: 300060
guile.info-3: 598533
guile.info-4: 898447
guile.info-5: 1191352
guile.info-6: 1447599
guile.info-7: 1761086

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 Stack137950
Node: Continuing Execution140698
Node: Associating Buffers with Clients142503
Node: An Example GDS Session144684
Node: Further Reading147670
Node: Programming in C148558
Node: Linking Programs With Guile150346
Node: Guile Initialization Functions151633
Node: A Sample Guile Main Program153240
Node: Linking Guile with Libraries157158
Node: A Sample Guile Extension159185
Node: General Libguile Concepts161372
Node: Dynamic Types163030
Node: Garbage Collection168459
Node: Control Flow172967
Node: Asynchronous Signals178822
Node: Multi-Threading180713
Node: Defining New Types (Smobs)189201
Node: Describing a New Type190567
Node: Creating Instances194204
Node: Type checking199606
Node: Garbage Collecting Smobs200702
Node: Garbage Collecting Simple Smobs205222
Node: Remembering During Operations206294
Node: Double Smobs208642
Node: The Complete Example209982
Node: Function Snarfing214585
Node: Programming Overview218948
Node: Extending Dia220407
Node: Dia Objective221403
Node: Dia Steps223452
Node: Dia Smobs224749
Node: Dia Primitives229984
Node: Dia Hook232414
Node: Dia Structure233461
Node: Dia Advanced234977
Node: Scheme vs C239644
Node: Testbed Example241679
Ref: Testbed Example-Footnote-1243303
Node: Programming Options243424
Node: Available Functionality245959
Node: Basic Constraints248606
Node: Style Choices248827
Node: Program Control249028
Node: User Programming249203
Ref: User Programming-Footnote-1252324
Node: API Reference252604
Node: API Overview254476
Node: The SCM Type256873
Node: Initialization258447
Node: Snarfing Macros263477
Node: Simple Data Types266937
Node: Booleans267990
Node: Numbers270738
Node: Numerical Tower272204
Node: Integers274508
Node: Reals and Rationals283188
Node: Complex Numbers288397
Node: Exactness289954
Node: Number Syntax291856
Node: Integer Operations293675
Node: Comparison295551
Node: Conversion297183
Node: Complex298512
Node: Arithmetic300060
Node: Scientific302633
Node: Primitive Numerics304495
Node: Bitwise Operations307751
Node: Random312628
Node: Characters316677
Node: Character Sets320981
Node: Character Set Predicates/Comparison322209
Node: Iterating Over Character Sets323370
Node: Creating Character Sets326710
Node: Querying Character Sets330342
Node: Character-Set Algebra331912
Node: Standard Character Sets335083
Node: Strings337904
Node: String Syntax341018
Node: String Predicates342074
Node: String Constructors344441
Node: List/String Conversion346918
Node: String Selection348145
Node: String Modification353452
Node: String Comparison355475
Node: String Searching362580
Node: Alphabetic Case Mapping367997
Node: Reversing and Appending Strings370237
Node: Mapping Folding and Unfolding372741
Node: Miscellaneous String Operations376874
Node: Conversion to/from C379700
Node: Regular Expressions383545
Node: Regexp Functions384842
Node: Match Structures395326
Node: Backslash Escapes398481
Node: Symbols402582
Node: Symbol Data405504
Node: Symbol Keys407765
Node: Symbol Variables410210
Node: Symbol Primitives411245
Node: Symbol Props417266
Node: Symbol Read Syntax420115
Node: Symbol Uninterned421758
Node: Keywords425255
Node: Why Use Keywords?425900
Node: Coding With Keywords427799
Node: Keyword Read Syntax429780
Node: Keyword Procedures431394
Node: Other Types432383
Node: Compound Data Types433025
Node: Pairs434357
Node: Lists440109
Ref: Lists-Footnote-1440980
Node: List Syntax441172
Ref: List Syntax-Footnote-1442174
Node: List Predicates442281
Node: List Constructors443254
Node: List Selection445453
Node: Append/Reverse446691
Node: List Modification448784
Node: List Searching452054
Node: List Mapping453639
Node: Vectors455045
Node: Vector Syntax456218
Node: Vector Creation456995
Node: Vector Accessors459050
Node: Vector Accessing from C462448
Node: Uniform Numeric Vectors466084
Node: Bit Vectors488528
Node: Generalized Vectors494227
Node: Arrays496763
Node: Array Syntax498828
Node: Array Procedures501384
Node: Shared Arrays511984
Node: Accessing Arrays from C518063
Node: Records531456
Node: Structures535963
Node: Vtables536736
Node: Structure Basics539948
Node: Vtable Contents542828
Node: Vtable Vtables545470
Node: Dictionary Types550231
Node: Association Lists552087
Node: Alist Key Equality553394
Node: Adding or Setting Alist Entries554244
Node: Retrieving Alist Entries558842
Node: Removing Alist Entries560643
Node: Sloppy Alist Functions563407
Node: Alist Example565607
Node: Hash Tables566870
Node: Hash Table Examples567946
Node: Hash Table Reference570173
Node: Smobs579475
Node: Procedures and Macros587520
Node: Lambda588294
Node: Primitive Procedures591341
Node: Optional Arguments593155
Node: let-optional Reference594524
Node: let-keywords Reference595876
Node: lambda* Reference598533
Node: define* Reference601867
Node: Procedure Properties603903
Node: Procedures with Setters606861
Ref: Procedures with Setters-Footnote-1609239
Node: Macros609380
Node: Syntax Rules611399
Node: Pattern Language613373
Node: Define-Syntax613548
Node: Let-Syntax614009
Node: Syntax Case614156
Node: Internal Macros614356
Node: Utility Functions618973
Node: Equality619737
Node: Object Properties624516
Node: Property Primitives626609
Node: Old-fashioned Properties627852
Node: Sorting629124
Node: Copying633517
Node: General Conversion634379
Node: Hooks635454
Node: Hook Example636975
Node: Hook Reference638836
Node: C Hooks642701
Node: GC Hooks646890
Node: REPL Hooks649133
Node: Binding Constructs649270
Node: Top Level649997
Node: Local Bindings652705
Node: Internal Definitions655852
Node: Binding Reflection657474
Node: Control Mechanisms657996
Node: begin658968
Node: if cond case660203
Node: and or663561
Node: while do664752
Node: Continuations669420
Node: Multiple Values674923
Node: Exceptions677996
Node: Exception Terminology679690
Node: Catch680722
Node: Throw Handlers687373
Node: Lazy Catch689629
Node: Throw695525
Node: Exception Implementation698027
Node: Error Reporting699605
Node: Dynamic Wind701476
Node: Handling Errors709123
Node: Input and Output713316
Node: Ports714157
Node: Reading717107
Node: Writing721948
Node: Closing725393
Node: Random Access726556
Node: Line/Delimited728274
Node: Block Reading and Writing732771
Node: Default Ports736432
Node: Port Types739471
Node: File Ports739853
Node: String Ports746096
Node: Soft Ports748721
Node: Void Ports750574
Node: I/O Extensions751125
Node: C Port Interface751403
Node: Port Implementation754931
Node: Read/Load/Eval760066
Node: Scheme Syntax760849
Node: Expression Syntax761163
Node: Comments764858
Node: Block Comments765784
Node: Case Sensitivity766710
Node: Keyword Syntax767455
Node: Reader Extensions767618
Node: Scheme Read768137
Node: Fly Evaluation769797
Node: Loading773246
Node: Delayed Evaluation777376
Node: Local Evaluation778543
Node: Evaluator Behaviour779028
Node: Memory Management781499
Node: Garbage Collection Functions782091
Node: Memory Blocks784863
Node: Weak References793237
Node: Weak hash tables795142
Node: Weak vectors796319
Node: Guardians797339
Node: Objects800135
Node: Modules801103
Node: provide and require802911
Node: Environments803731
Node: The Guile module system805765
Node: General Information about Modules807259
Node: Using Guile Modules809910
Node: Creating Guile Modules815033
Node: Module System Reflection823642
Node: Module System Quirks825903
Node: Included Guile Modules827237
Node: Accessing Modules from C830560
Node: Dynamic Libraries834347
Ref: Dynamic Libraries-Footnote-1836451
Node: Low level dynamic linking836727
Node: Compiled Code Modules842392
Node: Dynamic Linking and Compiled Code Modules843728
Node: Compiled Code Installation849299
Node: Variables852854
Node: Scheduling855712
Node: Arbiters856679
Node: Asyncs858024
Node: System asyncs859076
Node: User asyncs862212
Node: Continuation Barriers863077
Node: Threads864250
Node: Mutexes and Condition Variables867039
Node: Blocking872632
Node: Critical Sections875004
Node: Fluids and Dynamic States877131
Node: Parallel Forms882932
Node: Options and Config886523
Node: Build Config887781
Node: Feature Tracking892502
Node: Feature Manipulation893338
Node: Common Feature Symbols894211
Node: Runtime Options898447
Node: Low level options interfaces899302
Node: User level options interfaces901006
Node: Reader options903207
Node: Printing options904050
Node: Evaluator options905068
Node: Evaluator trap options905442
Node: Debugger options907888
Node: Examples of option use909884
Node: Translation912382
Node: Emacs Lisp Support912700
Node: Internationalization913601
Node: Debugging919370
Node: Evaluation Model920033
Node: Capturing the Stack or Innermost Stack Frame922634
Node: Examining the Stack924633
Node: Examining Stack Frames926015
Node: Source Properties928036
Node: Decoding Memoized Source Expressions932097
Node: Starting a New Stack932704
Node: Debug on Error933234
Ref: Debug on Error-Footnote-1942627
Node: Traps942758
Node: How to Set a Trap945825
Node: Specifying Trap Behaviour948057
Node: Trap Context950514
Ref: Trap Context-Footnote-1952150
Node: Tracing Examples952315
Node: Tracing Configuration955271
Node: Tracing and (ice-9 debug)960360
Node: Traps Installing More Traps962438
Node: Common Trap Options963953
Node: Procedure Traps966020
Node: Exit Traps966768
Node: Entry Traps967546
Node: Apply Traps968233
Node: Step Traps968963
Node: Source Traps972822
Node: Location Traps975632
Node: Trap Shorthands977207
Node: Trap Utilities978530
Node: Debugging Examples980182
Node: Single Stepping through a Procedure's Code980509
Node: Profiling or Tracing a Procedure's Code982761
Node: GH988468
Node: GH deprecation989562
Node: Transitioning away from GH992020
Node: GH preliminaries1000714
Node: Data types and constants defined by GH1001199
Node: Starting and controlling the interpreter1002876
Node: Error messages1006259
Node: Executing Scheme code1006492
Node: Defining new Scheme procedures in C1007699
Node: Converting data between C and Scheme1010014
Node: C to Scheme1010477
Node: Scheme to C1012318
Node: Type predicates1015104
Node: Equality predicates1016486
Node: Memory allocation and garbage collection1017709
Node: Calling Scheme procedures from C1017955
Node: Guile Modules1024766
Node: SLIB1025850
Node: SLIB installation1026609
Node: JACAL1027903
Node: POSIX1028483
Node: Conventions1029634
Node: Ports and File Descriptors1032942
Node: File System1050679
Node: User Information1063589
Node: Time1067895
Node: Runtime Environment1075734
Node: Processes1080141
Node: Signals1093007
Node: Terminals and Ptys1101092
Node: Pipes1102653
Node: Networking1106190
Node: Network Address Conversion1106479
Node: Network Databases1109578
Node: Network Socket Address1119113
Node: Network Sockets and Communication1123475
Node: Internet Socket Examples1138098
Node: System Identification1139982
Node: Locales1141422
Node: Encryption1142450
Node: getopt-long1143697
Node: getopt-long Example1144927
Node: Option Specification1147458
Node: Command Line Format1150647
Node: getopt-long Reference1153447
Node: option-ref Reference1156051
Node: SRFI Support1156765
Node: About SRFI Usage1158795
Node: SRFI-01160491
Node: SRFI-11162920
Node: SRFI-1 Constructors1164240
Node: SRFI-1 Predicates1165730
Node: SRFI-1 Selectors1168387
Node: SRFI-1 Length Append etc1170232
Node: SRFI-1 Fold and Map1172747
Node: SRFI-1 Filtering and Partitioning1180975
Node: SRFI-1 Searching1182629
Node: SRFI-1 Deleting1186810
Node: SRFI-1 Association Lists1189105
Node: SRFI-1 Set Operations1191352
Node: SRFI-21199538
Node: SRFI-41201863
Node: SRFI-61202145
Node: SRFI-81202657
Node: SRFI-91202918
Node: SRFI-101205714
Node: SRFI-111209772
Node: SRFI-131210638
Node: SRFI-141210853
Node: SRFI-161211103
Node: SRFI-171212931
Node: SRFI-191214606
Node: SRFI-19 Introduction1215584
Node: SRFI-19 Time1217239
Node: SRFI-19 Date1220903
Node: SRFI-19 Time/Date conversions1223082
Node: SRFI-19 Date to string1225857
Node: SRFI-19 String to date1228776
Node: SRFI-261231295
Node: SRFI-311234494
Node: SRFI-341235399
Node: SRFI-351235854
Node: SRFI-371241402
Node: SRFI-391245073
Node: SRFI-551250860
Node: SRFI-601251841
Node: SRFI-611255642
Node: SRFI-691256135
Node: SRFI-69 Creating hash tables1256931
Node: SRFI-69 Accessing table items1259580
Node: SRFI-69 Table properties1261287
Node: SRFI-69 Hash table algorithms1262402
Node: SRFI-881263483
Node: Readline Support1264866
Node: Loading Readline Support1265620
Node: Readline Options1267725
Node: Readline Functions1268878
Node: Value History1273971
Node: Pretty Printing1274945
Node: Formatted Output1276475
Node: File Tree Walk1304416
Node: Queues1310690
Node: Streams1313492
Node: Buffered Input1318314
Node: Expect1320533
Node: The Scheme shell (scsh)1326544
Node: Tracing1327100
Node: Autoconf Support1330076
Node: Autoconf Background1330791
Node: Autoconf Macros1331790
Node: Using Autoconf Macros1335835
Node: Autofrisk1338383
Node: Using Autofrisk1341102
Node: Data Representation1342514
Node: Data Representation in Scheme1343957
Node: A Simple Representation1345661
Node: Faster Integers1347018
Node: Cheaper Pairs1350474
Node: Guile Is Hairier1353748
Node: How Guile does it1354530
Node: General Rules1355543
Node: Conservative GC1356715
Node: Immediates vs Non-immediates1360847
Node: Immediate Datatypes1362073
Node: Integer Data1362777
Node: Character Data1363881
Node: Boolean Data1364441
Node: Unique Values1364724
Node: Non-immediate Datatypes1366285
Node: Pair Data1367882
Node: Vector Data1369979
Node: Procedures1371954
Node: Closures1372611
Node: Subrs1374304
Node: Port Data1376900
Node: Signalling Type Errors1377073
Node: Unpacking the SCM type1378596
Node: Relationship between SCM and scm_t_bits1379529
Node: Immediate objects1380737
Node: Non-immediate objects1381947
Node: Allocating Cells1383325
Node: Heap Cell Type Information1384590
Node: Accessing Cell Entries1385550
Node: Basic Rules for Accessing Cell Entries1389102
Node: GNU Free Documentation License1390414
Node: Concept Index1412881
Node: Procedure Index1447599
Node: Variable Index1761086
Node: Type Index1781286
Node: R5RS Index1784918

End Tag Table
