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

   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: 300557
guile.info-3: 598760
guile.info-4: 898663
guile.info-5: 1191394
guile.info-6: 1447645
guile.info-7: 1761205

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 Tour13025
Node: Running Guile Interactively13628
Node: Running Guile Scripts14525
Node: Linking Guile into Programs15153
Node: Writing Guile Extensions16665
Node: Using the Guile Module System18111
Node: Using Modules18821
Node: Writing new Modules19719
Node: Putting Extensions into Modules20476
Node: Discouraged and Deprecated21410
Node: Reporting Bugs22981
Node: Programming in Scheme29746
Node: Basic Ideas30981
Node: About Data32040
Node: Latent Typing32716
Node: Values and Variables34668
Node: Definition36631
Node: About Procedures39217
Node: Procedures as Values40152
Node: Simple Invocation42825
Node: Creating a Procedure44611
Node: Lambda Alternatives47200
Node: About Expressions49064
Node: Evaluating50460
Ref: Evaluating-Footnote-158964
Node: Tail Calls59100
Node: The REPL61833
Node: Syntax Summary62874
Node: About Closure64763
Node: About Environments65947
Node: Local Variables67768
Node: Chaining69282
Node: Lexical Scope71618
Node: Closure76821
Node: Serial Number79086
Node: Shared Variable80636
Node: Callback Closure82194
Node: OO Closure84461
Node: Guile Scheme86707
Node: Guile Scripting87688
Node: The Top of a Script File88486
Node: Invoking Guile90255
Node: The Meta Switch95264
Node: Command Line Handling99235
Node: Scripting Examples102117
Node: Using Guile Interactively105839
Node: Readline106771
Node: Value Historyx107521
Node: Error Handling108634
Node: Interactive Debugger110946
Node: Display Backtrace112259
Node: Frame Selection113199
Node: Frame Information115097
Node: Frame Evaluation116190
Node: Stepping and Continuing116821
Node: Using Guile in Emacs118438
Node: GDS Introduction123220
Node: GDS Architecture125530
Node: GDS Getting Started128209
Node: Working with GDS in Scheme Buffers134777
Node: Access to Guile Help and Completion135224
Node: Evaluating Scheme Code136863
Node: Displaying the Scheme Stack138450
Node: Continuing Execution141198
Node: Associating Buffers with Clients143003
Node: An Example GDS Session145184
Node: Further Reading148170
Node: Programming in C149058
Node: Linking Programs With Guile150846
Node: Guile Initialization Functions152133
Node: A Sample Guile Main Program153740
Node: Linking Guile with Libraries157658
Node: A Sample Guile Extension159685
Node: General Libguile Concepts161872
Node: Dynamic Types163530
Node: Garbage Collection168959
Node: Control Flow173466
Node: Asynchronous Signals179321
Node: Multi-Threading181212
Node: Defining New Types (Smobs)189700
Node: Describing a New Type191066
Node: Creating Instances194703
Node: Type checking200105
Node: Garbage Collecting Smobs201201
Node: Garbage Collecting Simple Smobs205721
Node: Remembering During Operations206793
Node: Double Smobs209141
Node: The Complete Example210481
Node: Function Snarfing215084
Node: Programming Overview219447
Node: Extending Dia220906
Node: Dia Objective221902
Node: Dia Steps223951
Node: Dia Smobs225248
Node: Dia Primitives230483
Node: Dia Hook232913
Node: Dia Structure233960
Node: Dia Advanced235476
Node: Scheme vs C240143
Node: Testbed Example242178
Ref: Testbed Example-Footnote-1243802
Node: Programming Options243923
Node: Available Functionality246458
Node: Basic Constraints249105
Node: Style Choices249326
Node: Program Control249527
Node: User Programming249702
Ref: User Programming-Footnote-1252823
Node: API Reference253103
Node: API Overview254975
Node: The SCM Type257372
Node: Initialization258946
Node: Snarfing Macros263975
Node: Simple Data Types267435
Node: Booleans268488
Node: Numbers271236
Node: Numerical Tower272702
Node: Integers275006
Node: Reals and Rationals283685
Node: Complex Numbers288894
Node: Exactness290451
Node: Number Syntax292353
Node: Integer Operations294172
Node: Comparison296048
Node: Conversion297680
Node: Complex299009
Node: Arithmetic300557
Node: Scientific303130
Node: Primitive Numerics304992
Node: Bitwise Operations308248
Node: Random313125
Node: Characters317174
Node: Character Sets321478
Node: Character Set Predicates/Comparison322706
Node: Iterating Over Character Sets323867
Node: Creating Character Sets327207
Node: Querying Character Sets330839
Node: Character-Set Algebra332409
Node: Standard Character Sets335580
Node: Strings338401
Node: String Syntax341515
Node: String Predicates342571
Node: String Constructors344938
Node: List/String Conversion347415
Node: String Selection348642
Node: String Modification353949
Node: String Comparison355972
Node: String Searching363077
Node: Alphabetic Case Mapping368494
Node: Reversing and Appending Strings370734
Node: Mapping Folding and Unfolding373238
Node: Miscellaneous String Operations377371
Node: Conversion to/from C380197
Node: Regular Expressions384042
Node: Regexp Functions385339
Node: Match Structures395823
Node: Backslash Escapes398978
Node: Symbols403079
Node: Symbol Data406001
Node: Symbol Keys408262
Node: Symbol Variables410707
Node: Symbol Primitives411742
Node: Symbol Props417916
Node: Symbol Read Syntax420765
Node: Symbol Uninterned422408
Node: Keywords425905
Node: Why Use Keywords?426550
Node: Coding With Keywords428449
Node: Keyword Read Syntax430430
Node: Keyword Procedures432044
Node: Other Types433033
Node: Compound Data Types433675
Node: Pairs435007
Node: Lists440759
Ref: Lists-Footnote-1441630
Node: List Syntax441822
Ref: List Syntax-Footnote-1442824
Node: List Predicates442931
Node: List Constructors443904
Node: List Selection446103
Node: Append/Reverse447341
Node: List Modification449434
Node: List Searching452704
Node: List Mapping454289
Node: Vectors455695
Node: Vector Syntax456868
Node: Vector Creation457645
Node: Vector Accessors459700
Node: Vector Accessing from C463098
Node: Uniform Numeric Vectors466734
Node: Bit Vectors489178
Node: Generalized Vectors494877
Node: Arrays497413
Node: Array Syntax499478
Node: Array Procedures502034
Node: Shared Arrays512634
Node: Accessing Arrays from C518713
Node: Records531683
Node: Structures536190
Node: Vtables536963
Node: Structure Basics540175
Node: Vtable Contents543055
Node: Vtable Vtables545697
Node: Dictionary Types550458
Node: Association Lists552314
Node: Alist Key Equality553621
Node: Adding or Setting Alist Entries554471
Node: Retrieving Alist Entries559069
Node: Removing Alist Entries560870
Node: Sloppy Alist Functions563634
Node: Alist Example565834
Node: Hash Tables567097
Node: Hash Table Examples568173
Node: Hash Table Reference570400
Node: Smobs579702
Node: Procedures and Macros587747
Node: Lambda588521
Node: Primitive Procedures591568
Node: Optional Arguments593382
Node: let-optional Reference594751
Node: let-keywords Reference596103
Node: lambda* Reference598760
Node: define* Reference602094
Node: Procedure Properties604130
Node: Procedures with Setters607088
Ref: Procedures with Setters-Footnote-1609466
Node: Macros609607
Node: Syntax Rules611626
Node: Pattern Language613600
Node: Define-Syntax613775
Node: Let-Syntax614236
Node: Syntax Case614383
Node: Internal Macros614583
Node: Utility Functions619200
Node: Equality619964
Node: Object Properties624743
Node: Property Primitives626836
Node: Old-fashioned Properties628079
Node: Sorting629351
Node: Copying633744
Node: General Conversion634606
Node: Hooks635681
Node: Hook Example637202
Node: Hook Reference639063
Node: C Hooks642928
Node: GC Hooks647117
Node: REPL Hooks649360
Node: Binding Constructs649497
Node: Top Level650224
Node: Local Bindings652932
Node: Internal Definitions656079
Node: Binding Reflection657701
Node: Control Mechanisms658223
Node: begin659195
Node: if cond case660430
Node: and or663788
Node: while do664979
Node: Continuations669647
Node: Multiple Values675150
Node: Exceptions678223
Node: Exception Terminology679917
Node: Catch680949
Node: Throw Handlers687600
Node: Lazy Catch689856
Node: Throw695752
Node: Exception Implementation698254
Node: Error Reporting699832
Node: Dynamic Wind701703
Node: Handling Errors709350
Node: Input and Output713543
Node: Ports714384
Node: Reading717334
Node: Writing722175
Node: Closing725620
Node: Random Access726783
Node: Line/Delimited728501
Node: Block Reading and Writing732998
Node: Default Ports736659
Node: Port Types739698
Node: File Ports740080
Node: String Ports746323
Node: Soft Ports748948
Node: Void Ports750801
Node: I/O Extensions751352
Node: C Port Interface751630
Node: Port Implementation755158
Node: Read/Load/Eval760293
Node: Scheme Syntax761076
Node: Expression Syntax761390
Node: Comments765085
Node: Block Comments766011
Node: Case Sensitivity766937
Node: Keyword Syntax767682
Node: Reader Extensions767845
Node: Scheme Read768364
Node: Fly Evaluation770024
Node: Loading773473
Node: Delayed Evaluation777603
Node: Local Evaluation778770
Node: Evaluator Behaviour779255
Node: Memory Management781726
Node: Garbage Collection Functions782317
Node: Memory Blocks785089
Node: Weak References793462
Node: Weak hash tables795367
Node: Weak vectors796544
Node: Guardians797564
Node: Objects800360
Node: Modules801328
Node: provide and require803136
Node: Environments803956
Node: The Guile module system805990
Node: General Information about Modules807484
Node: Using Guile Modules810135
Node: Creating Guile Modules815258
Node: Module System Reflection823867
Node: Module System Quirks826123
Node: Included Guile Modules827457
Node: Accessing Modules from C830780
Node: Dynamic Libraries834567
Ref: Dynamic Libraries-Footnote-1836671
Node: Low level dynamic linking836947
Node: Compiled Code Modules842612
Node: Dynamic Linking and Compiled Code Modules843948
Node: Compiled Code Installation849519
Node: Variables853074
Node: Scheduling855932
Node: Arbiters856899
Node: Asyncs858244
Node: System asyncs859296
Node: User asyncs862432
Node: Continuation Barriers863297
Node: Threads864470
Node: Mutexes and Condition Variables867259
Node: Blocking872852
Node: Critical Sections875224
Node: Fluids and Dynamic States877351
Node: Parallel Forms883152
Node: Options and Config886743
Node: Build Config888001
Node: Feature Tracking892718
Node: Feature Manipulation893554
Node: Common Feature Symbols894427
Node: Runtime Options898663
Node: Low level options interfaces899518
Node: User level options interfaces901222
Node: Reader options903423
Node: Printing options904266
Node: Evaluator options905284
Node: Evaluator trap options905658
Node: Debugger options908104
Node: Examples of option use910100
Node: Translation912598
Node: Emacs Lisp Support912916
Node: Internationalization913817
Node: Debugging919586
Node: Evaluation Model920249
Node: Capturing the Stack or Innermost Stack Frame922850
Node: Examining the Stack924849
Node: Examining Stack Frames926231
Node: Source Properties928252
Node: Decoding Memoized Source Expressions932313
Node: Starting a New Stack932920
Node: Debug on Error933450
Ref: Debug on Error-Footnote-1942843
Node: Traps942974
Node: How to Set a Trap946041
Node: Specifying Trap Behaviour948273
Node: Trap Context950730
Ref: Trap Context-Footnote-1952366
Node: Tracing Examples952531
Node: Tracing Configuration955487
Node: Tracing and (ice-9 debug)960576
Node: Traps Installing More Traps962654
Node: Common Trap Options964169
Node: Procedure Traps966236
Node: Exit Traps966984
Node: Entry Traps967762
Node: Apply Traps968449
Node: Step Traps969179
Node: Source Traps973038
Node: Location Traps975848
Node: Trap Shorthands977423
Node: Trap Utilities978746
Node: Debugging Examples980398
Node: Single Stepping through a Procedure's Code980725
Node: Profiling or Tracing a Procedure's Code982977
Node: GH988684
Node: GH deprecation989778
Node: Transitioning away from GH992236
Node: GH preliminaries1000930
Node: Data types and constants defined by GH1001415
Node: Starting and controlling the interpreter1003092
Node: Error messages1006475
Node: Executing Scheme code1006708
Node: Defining new Scheme procedures in C1007915
Node: Converting data between C and Scheme1010230
Node: C to Scheme1010693
Node: Scheme to C1012534
Node: Type predicates1015320
Node: Equality predicates1016702
Node: Memory allocation and garbage collection1017925
Node: Calling Scheme procedures from C1018171
Node: Guile Modules1024982
Node: SLIB1026066
Node: SLIB installation1026825
Node: JACAL1028119
Node: POSIX1028699
Node: Conventions1029850
Node: Ports and File Descriptors1033158
Node: File System1050895
Node: User Information1063805
Node: Time1068111
Node: Runtime Environment1075950
Node: Processes1080357
Node: Signals1093223
Node: Terminals and Ptys1101132
Node: Pipes1102693
Node: Networking1106230
Node: Network Address Conversion1106519
Node: Network Databases1109622
Node: Network Socket Address1119157
Node: Network Sockets and Communication1123519
Node: Internet Socket Examples1138140
Node: System Identification1140024
Node: Locales1141464
Node: Encryption1142492
Node: getopt-long1143739
Node: getopt-long Example1144969
Node: Option Specification1147500
Node: Command Line Format1150689
Node: getopt-long Reference1153489
Node: option-ref Reference1156093
Node: SRFI Support1156807
Node: About SRFI Usage1158837
Node: SRFI-01160533
Node: SRFI-11162962
Node: SRFI-1 Constructors1164282
Node: SRFI-1 Predicates1165772
Node: SRFI-1 Selectors1168429
Node: SRFI-1 Length Append etc1170274
Node: SRFI-1 Fold and Map1172789
Node: SRFI-1 Filtering and Partitioning1181017
Node: SRFI-1 Searching1182671
Node: SRFI-1 Deleting1186852
Node: SRFI-1 Association Lists1189147
Node: SRFI-1 Set Operations1191394
Node: SRFI-21199580
Node: SRFI-41201905
Node: SRFI-61202187
Node: SRFI-81202699
Node: SRFI-91202960
Node: SRFI-101205756
Node: SRFI-111209814
Node: SRFI-131210680
Node: SRFI-141210895
Node: SRFI-161211145
Node: SRFI-171212973
Node: SRFI-191214648
Node: SRFI-19 Introduction1215626
Node: SRFI-19 Time1217281
Node: SRFI-19 Date1220945
Node: SRFI-19 Time/Date conversions1223124
Node: SRFI-19 Date to string1225899
Node: SRFI-19 String to date1228818
Node: SRFI-261231337
Node: SRFI-311234536
Node: SRFI-341235441
Node: SRFI-351235896
Node: SRFI-371241444
Node: SRFI-391245115
Node: SRFI-551250902
Node: SRFI-601251883
Node: SRFI-611255684
Node: SRFI-691256177
Node: SRFI-69 Creating hash tables1256973
Node: SRFI-69 Accessing table items1259622
Node: SRFI-69 Table properties1261329
Node: SRFI-69 Hash table algorithms1262444
Node: SRFI-881263525
Node: Readline Support1264912
Node: Loading Readline Support1265666
Node: Readline Options1267771
Node: Readline Functions1268924
Node: Value History1274017
Node: Pretty Printing1274991
Node: Formatted Output1276521
Node: File Tree Walk1304462
Node: Queues1310736
Node: Streams1313538
Node: Buffered Input1318360
Node: Expect1320579
Node: The Scheme shell (scsh)1326590
Node: Tracing1327146
Node: Autoconf Support1330122
Node: Autoconf Background1330837
Node: Autoconf Macros1331836
Node: Using Autoconf Macros1335881
Node: Autofrisk1338429
Node: Using Autofrisk1341148
Node: Data Representation1342560
Node: Data Representation in Scheme1344003
Node: A Simple Representation1345707
Node: Faster Integers1347064
Node: Cheaper Pairs1350520
Node: Guile Is Hairier1353794
Node: How Guile does it1354576
Node: General Rules1355589
Node: Conservative GC1356761
Node: Immediates vs Non-immediates1360893
Node: Immediate Datatypes1362119
Node: Integer Data1362823
Node: Character Data1363927
Node: Boolean Data1364487
Node: Unique Values1364770
Node: Non-immediate Datatypes1366331
Node: Pair Data1367928
Node: Vector Data1370025
Node: Procedures1372000
Node: Closures1372657
Node: Subrs1374350
Node: Port Data1376946
Node: Signalling Type Errors1377119
Node: Unpacking the SCM type1378642
Node: Relationship between SCM and scm_t_bits1379575
Node: Immediate objects1380783
Node: Non-immediate objects1381993
Node: Allocating Cells1383371
Node: Heap Cell Type Information1384636
Node: Accessing Cell Entries1385596
Node: Basic Rules for Accessing Cell Entries1389148
Node: GNU Free Documentation License1390460
Node: Concept Index1412927
Node: Procedure Index1447645
Node: Variable Index1761205
Node: Type Index1781405
Node: R5RS Index1785037

End Tag Table
