This is guile.info, produced by makeinfo version 4.7 from guile.texi.

INFO-DIR-SECTION The Algorithmic Language Scheme
START-INFO-DIR-ENTRY
* Guile Reference: (guile).     The Guile reference manual.
END-INFO-DIR-ENTRY

   Guile Reference Manual Copyright (C) 1996 Free Software Foundation
Copyright (C) 1997 Free Software Foundation
Copyright (C) 2000 Free Software Foundation
Copyright (C) 2001 Free Software Foundation
Copyright (C) 2002 Free Software Foundation Copyright (C) 2004 Free
Software Foundation

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.


Indirect:
guile.info-1: 1186
guile.info-2: 295913
guile.info-3: 594472
guile.info-4: 893258

Tag Table:
(Indirect)
Node: Top1186
Node: Guile License5060
Node: Manual Layout7437
Node: Manual Conventions9861
Node: What is Guile?10948
Node: Whirlwind Tour13395
Node: Running Guile Interactively13862
Node: Guile Scripts14747
Node: The Top of a Script File15472
Node: Scripting Examples18297
Node: Linking Programs With Guile22020
Node: Guile Initialization Functions23673
Node: A Sample Guile Main Program28031
Node: Writing Extensions for Guile32005
Node: A Sample Guile Extension34020
Node: Guile Modules36181
Node: Intro to Using Guile Modules36867
Node: Intro to Writing New Modules38355
Ref: Intro to Writing New Modules-Footnote-139957
Node: Intro to Modules and Extensions40131
Node: Obtaining and Installing Guile41773
Node: The Basic Guile Package42166
Node: Packages not shipped with Guile43455
Node: Reporting Bugs45264
Node: Running Intro52027
Node: Guile Scheme52974
Node: Guile Scripting53935
Node: Invoking Guile54536
Node: The Meta Switch58291
Node: Command Line Handling62228
Node: Command Line Args62990
Node: getopt-long65022
Node: getopt-long Example66642
Node: Option Specification69178
Node: Command Line Format72372
Node: getopt-long Reference75177
Node: option-ref Reference77783
Node: Debugging Features78499
Node: Single-Step79617
Node: Trace79731
Node: Backtrace81772
Node: Autoconf Support82041
Node: Autoconf Background82768
Node: Autoconf Macros83769
Node: Using Autoconf Macros86838
Node: Autofrisk89388
Node: Using Autofrisk92109
Node: Miscellaneous Tools93523
Node: Snarfing94078
Node: Init Snarfing with guile-snarf95040
Node: How guile-snarf works96420
Node: Macros guile-snarf recognizes100221
Node: Writing your own snarfing macros102698
Node: Doc Snarfing103514
Node: Executable Modules104728
Node: Basic Ideas107515
Node: About Data108585
Node: Latent Typing109259
Node: Values and Variables111209
Node: Definition113170
Node: About Procedures115754
Node: Procedures as Values116687
Node: Simple Invocation119358
Node: Creating a Procedure121142
Node: Lambda Alternatives123729
Node: About Expressions125591
Node: Evaluating126931
Ref: Evaluating-Footnote-1129077
Node: Eval Literal129213
Node: Eval Variable130477
Node: Eval Procedure131220
Node: Eval Special134293
Node: The REPL136288
Node: Syntax Summary137327
Node: About Closure139214
Node: About Environments140396
Node: Local Variables142215
Node: Chaining143727
Node: Lexical Scope146061
Node: Scoping Example147534
Node: Closure151421
Node: Serial Number153684
Node: Shared Variable155232
Node: Callback Closure156788
Node: OO Closure159053
Node: Further Reading161297
Node: Programming Intro162182
Node: Libguile Intro162881
Node: Programming Overview165450
Node: Extending Dia166919
Node: Dia Objective167885
Node: Dia Steps169932
Node: Dia Smobs171227
Node: Dia Primitives176460
Node: Dia Hook178860
Node: Dia Structure179905
Node: Dia Advanced181419
Node: Scheme vs C186084
Node: Testbed Example188117
Ref: Testbed Example-Footnote-1189739
Node: Programming Options189860
Node: Available Functionality192393
Node: Basic Constraints195038
Node: Style Choices195257
Node: Program Control195456
Node: User Programming195629
Ref: User Programming-Footnote-1198748
Node: Data Representation199028
Node: Data Representation in Scheme200577
Node: A Simple Representation202283
Node: Faster Integers203642
Node: Cheaper Pairs207100
Node: Guile Is Hairier210376
Node: How Guile does it211160
Node: General Rules211861
Node: Conservative GC213035
Node: Immediates vs Non-immediates217169
Node: Immediate Datatypes218397
Node: Integer Data219103
Node: Character Data220209
Node: Boolean Data220771
Node: Unique Values221402
Node: Non-immediate Datatypes222965
Node: Pair Data224564
Node: Vector Data227511
Node: Procedures229185
Node: Closures229844
Node: Subrs231539
Node: Port Data233944
Node: Signalling Type Errors234119
Node: Unpacking the SCM type235644
Node: Relationship between SCM and scm_t_bits237336
Node: Immediate objects238945
Node: Non-immediate objects240157
Node: Heap Cell Type Information241546
Node: Accessing Cell Entries242513
Node: Basic Rules for Accessing Cell Entries246067
Node: Defining New Types (Smobs)247381
Ref: Defining New Types (Smobs)-Footnote-1248557
Node: Describing a New Type248749
Node: Creating Instances254812
Ref: Creating Instances-Footnote-1259578
Node: Type checking259729
Node: Garbage Collecting Smobs261514
Node: A Common Mistake In Allocating Smobs266337
Node: Garbage Collecting Simple Smobs268969
Node: A Complete Example270587
Node: GH275153
Node: GH deprecation276296
Node: gh preliminaries278740
Node: Data types and constants defined by gh279209
Node: Starting and controlling the interpreter280882
Node: Error messages284261
Node: Executing Scheme code284490
Node: Defining new Scheme procedures in C285693
Node: Converting data between C and Scheme288005
Node: C to Scheme288464
Node: Scheme to C290301
Node: Type predicates293076
Node: Equality predicates294452
Node: Memory allocation and garbage collection295671
Node: Calling Scheme procedures from C295913
Node: Mixing gh and scm APIs302752
Node: scm transition summary302943
Node: Reference Intro311028
Node: API Overview311428
Node: Primitives313140
Node: Transforming Scheme name to C name313728
Node: Structuring argument lists for C functions315942
Node: C Only316449
Node: Scheme Only316758
Node: Reference Layout316936
Node: Simple Data Types317575
Node: Booleans319576
Node: Numbers321395
Node: Numerical Tower322859
Node: Integers324447
Node: Reals and Rationals325920
Node: Complex Numbers328636
Node: Exactness329832
Node: Number Syntax330929
Node: Integer Operations332530
Node: Comparison333574
Node: Conversion334524
Node: Complex335498
Node: Arithmetic336365
Node: Scientific338339
Node: Primitive Numerics339781
Node: Bitwise Operations343061
Node: Random346844
Node: Characters349628
Node: Strings354081
Node: String Syntax355679
Ref: String Syntax-Footnote-1356239
Node: String Predicates356334
Node: String Constructors356971
Node: List/String Conversion357723
Node: String Selection359001
Node: String Modification360172
Node: String Comparison361481
Node: String Searching363881
Node: Alphabetic Case Mapping365151
Node: Appending Strings366923
Node: Regular Expressions367456
Node: Regexp Functions368751
Node: Match Structures376756
Node: Backslash Escapes379909
Node: Symbols384008
Node: Symbol Data386876
Node: Symbol Keys389135
Node: Symbol Variables391578
Node: Symbol Primitives392611
Node: Symbol Props397364
Node: Symbol Read Syntax400316
Node: Keywords401931
Node: Why Use Keywords?402623
Node: Coding With Keywords404520
Node: Keyword Read Syntax406499
Node: Keyword Procedures407757
Node: Keyword Primitives408209
Node: Other Types409604
Node: Compound Data Types410244
Node: Pairs411259
Node: Lists414555
Ref: Lists-Footnote-1415424
Node: List Syntax415616
Ref: List Syntax-Footnote-1416599
Node: List Predicates416706
Node: List Constructors417576
Node: List Selection419257
Node: Append/Reverse420506
Node: List Modification422928
Node: List Searching425550
Node: List Mapping427038
Node: Vectors428328
Node: Vector Syntax429341
Node: Vector Creation430045
Node: Vector Accessors432181
Node: Records435094
Node: Structures439485
Node: Structure Concepts440281
Node: Structure Layout441638
Node: Structure Basics445352
Node: Vtables447438
Node: Arrays451738
Node: Conventional Arrays452153
Node: Array Mapping460690
Node: Uniform Arrays462300
Node: Bit Vectors467321
Node: Association Lists and Hash Tables468941
Node: Dictionary Types469460
Node: Association Lists471311
Node: Alist Key Equality472632
Node: Adding or Setting Alist Entries473482
Node: Retrieving Alist Entries478080
Node: Removing Alist Entries480377
Node: Sloppy Alist Functions483141
Node: Alist Example485330
Node: Hash Tables486593
Node: Hash Table Examples487340
Node: Hash Table Reference489070
Node: Procedures and Macros499035
Node: Lambda499754
Node: Optional Arguments502478
Node: let-optional Reference503831
Node: let-keywords Reference505181
Node: lambda* Reference506603
Node: define* Reference510034
Node: Procedure Properties512068
Node: Procedures with Setters515932
Ref: Procedures with Setters-Footnote-1518308
Node: Macros518449
Node: Syntax Rules520466
Node: Pattern Language522438
Node: Define-Syntax522611
Node: Let-Syntax523070
Node: Syntax Case523215
Node: Internal Macros523413
Node: Utility Functions528028
Node: Equality528780
Node: Object Properties530494
Node: Property Primitives532954
Node: Old-fashioned Properties534234
Node: Sorting535504
Node: Copying539862
Node: General Conversion540733
Node: Hooks541806
Node: Hook Example543265
Node: Hook Reference545124
Node: C Hooks548985
Node: Guile Hooks553175
Node: GC Hooks553433
Node: REPL Hooks555668
Node: Binding Constructs555813
Node: Top Level556526
Node: Local Bindings559230
Node: Internal Definitions562373
Node: Binding Reflection563991
Node: Control Mechanisms564508
Node: begin565364
Node: if cond case566449
Node: and or569145
Node: while do570323
Node: Continuations572855
Node: Multiple Values574888
Node: Exceptions577475
Node: Exception Terminology579099
Node: Catch580243
Node: Throw583717
Node: Lazy Catch586184
Node: Exception Implementation589504
Node: Error Reporting591083
Node: Dynamic Wind592703
Node: Handling Errors594472
Node: Input and Output599115
Node: Ports599942
Node: Reading601287
Ref: Reading-Footnote-1604901
Ref: Reading-Footnote-2605357
Node: Writing605804
Node: Closing608579
Node: Random Access610057
Node: Line/Delimited611654
Node: Block Reading and Writing616147
Node: Default Ports619804
Node: Port Types621470
Node: File Ports621848
Node: String Ports628657
Node: Soft Ports631278
Node: Void Ports632981
Node: I/O Extensions633528
Node: C Port Interface633802
Node: Port Implementation637446
Node: Read/Load/Eval641386
Node: Scheme Syntax642155
Node: Expression Syntax642465
Node: Comments642599
Node: Block Comments643521
Node: Case Sensitivity644443
Node: Keyword Syntax645184
Node: Reader Extensions645343
Node: Scheme Read645858
Node: Fly Evaluation647514
Node: Loading649612
Node: Delayed Evaluation652559
Node: Local Evaluation653118
Node: Evaluator Behaviour653599
Node: Memory Management655967
Node: Garbage Collection657072
Node: Weak References658156
Node: Weak key hashes660061
Node: Weak vectors661433
Node: Guardians662448
Node: Objects664488
Node: Modules665442
Node: provide and require667236
Node: Environments668052
Node: The Guile module system669949
Node: General Information about Modules671372
Node: Using Guile Modules674019
Node: Creating Guile Modules677716
Node: Module System Quirks680044
Node: Included Guile Modules681372
Node: Accessing Modules from C683417
Node: Dynamic Libraries687200
Ref: Dynamic Libraries-Footnote-1689212
Node: Low level dynamic linking689488
Node: Extensions695138
Node: Variables698970
Node: Scheduling701824
Node: Arbiters702462
Node: Asyncs703608
Node: Dynamic Roots706179
Node: Threads710456
Node: Low level thread primitives711159
Node: Higher level thread procedures713177
Node: Fluids714766
Node: Options and Config717508
Node: Build Config718752
Node: Feature Tracking723405
Node: Feature Manipulation724237
Node: Common Feature Symbols725106
Node: Runtime Options729344
Node: Low level options interfaces730195
Node: User level options interfaces731895
Node: Reader options734092
Node: Printing options734921
Node: Evaluator options735327
Node: Evaluator trap options735697
Node: Debugger options737574
Node: Examples of option use739656
Node: Translation742132
Node: Emacs Lisp Support742425
Node: Debugging743322
Node: Source Properties743731
Node: Using Traps745589
Node: Capturing the Stack or Innermost Stack Frame745999
Node: Examining the Stack748222
Node: Examining Stack Frames749325
Node: Decoding Memoized Source Expressions751350
Node: Starting a New Stack751947
Node: Deprecated752462
Node: Shared And Read Only Strings753010
Node: Shared Substrings753718
Node: Read Only Strings756723
Node: Sloppy Membership757872
Node: Strange Eval759169
Node: Close All Ports760895
Node: C Module Reg761576
Node: Obarray Symbols762636
Node: Removed Items766923
Node: SLIB767114
Node: SLIB installation767563
Node: JACAL768671
Node: POSIX769292
Node: Conventions770404
Node: Ports and File Descriptors773076
Node: File System789274
Node: User Information799609
Node: Time803432
Node: Runtime Environment809057
Node: Processes811253
Node: Signals821970
Node: Terminals and Ptys827542
Node: Pipes829101
Node: Networking830403
Node: Network Address Conversion830663
Node: Network Databases833203
Node: Network Sockets and Communication842737
Node: Internet Socket Examples855774
Node: Internet Socket Client856084
Node: Internet Socket Server856724
Node: System Identification858060
Node: Locales859284
Node: Encryption859941
Node: SRFI Support861125
Node: About SRFI Usage862604
Node: SRFI-0864298
Node: SRFI-1867221
Node: SRFI-1 Constructors868539
Node: SRFI-1 Predicates869514
Node: SRFI-1 Selectors871143
Node: SRFI-1 Length Append etc872872
Node: SRFI-1 Fold and Map874517
Node: SRFI-1 Filtering and Partitioning879390
Node: SRFI-1 Searching881156
Node: SRFI-1 Deleting883633
Node: SRFI-1 Association Lists884768
Node: SRFI-1 Set Operations886137
Node: SRFI-2889804
Node: SRFI-4890793
Node: SRFI-4 - Read Syntax892139
Node: SRFI-4 - Procedures893258
Node: SRFI-6895148
Node: SRFI-8895658
Node: SRFI-9895917
Node: SRFI-10897286
Node: SRFI-11898488
Node: SRFI-13899352
Node: Loading SRFI-13901526
Node: SRFI-13 Predicates902528
Node: SRFI-13 Constructors904798
Node: SRFI-13 List/String Conversion905443
Node: SRFI-13 Selection906861
Node: SRFI-13 Modification909399
Node: SRFI-13 Comparison909992
Node: SRFI-13 Prefixes/Suffixes912437
Node: SRFI-13 Searching913683
Node: SRFI-13 Case Mapping915631
Node: SRFI-13 Reverse/Append916629
Node: SRFI-13 Fold/Unfold/Map918403
Node: SRFI-13 Replicate/Rotate920765
Node: SRFI-13 Miscellaneous922170
Node: SRFI-13 Filtering/Deleting923178
Node: SRFI-14924195
Node: Loading SRFI-14925283
Node: SRFI-14 Character Set Data Type925736
Node: SRFI-14 Predicates/Comparison926662
Node: SRFI-14 Iterating Over Character Sets927650
Node: SRFI-14 Creating Character Sets930104
Node: SRFI-14 Querying Character Sets932380
Node: SRFI-14 Character-Set Algebra933659
Node: SRFI-14 Standard Character Sets935460
Node: SRFI-16937157
Node: SRFI-17938983
Node: SRFI-19940044
Node: SRFI-19 Constants940754
Node: SRFI-19 Current time and clock resolution941130
Node: SRFI-19 Time object and accessors941601
Node: SRFI-19 Time comparison procedures942211
Node: SRFI-19 Time arithmetic procedures942647
Node: SRFI-19 Date object and accessors943265
Node: SRFI-19 Time/Date/Julian Day/Modified Julian Day converters944093
Node: SRFI-19 Date to string/string to date converters945993
Node: SRFI-31946380
Node: Readline Support947267
Node: Loading Readline Support947922
Node: Readline Options949625
Node: Value History950763
Node: Pretty Printing951725
Node: Formatted Output952781
Node: Rx Regexps959837
Node: Expect964068
Node: The Scheme shell (scsh)970083
Node: Concept Index970651
Node: Procedure Index982053
Node: Variable Index1170319
Node: Type Index1177578
Node: R5RS Index1180064

End Tag Table
