This is guile.info, produced by makeinfo version 7.1 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: 946
guile.info-2: 300957
guile.info-3: 601093
guile.info-4: 902711
guile.info-5: 1207669
guile.info-6: 1796992
guile.info-7: 1819251

Tag Table:
(Indirect)
Node: Top946
Node: Preface2185
Node: Manual Layout2619
Node: Manual Conventions4500
Node: Contributors5808
Node: Guile License7526
Node: Introduction to Guile9009
Node: What is Guile?9297
Node: Obtaining and Installing Guile11760
Node: Whirlwind Tour13085
Node: Running Guile Interactively13696
Node: Running Guile Scripts14601
Node: Linking Guile into Programs15229
Node: Writing Guile Extensions16757
Node: Using the Guile Module System18219
Node: Using Modules18933
Node: Writing new Modules19843
Node: Putting Extensions into Modules20608
Node: Discouraged and Deprecated21546
Node: Reporting Bugs23124
Node: Programming in Scheme29957
Node: Basic Ideas31192
Node: About Data32251
Node: Latent Typing32931
Node: Values and Variables34899
Node: Definition36866
Node: About Procedures39506
Node: Procedures as Values40453
Node: Simple Invocation43182
Node: Creating a Procedure44988
Node: Lambda Alternatives47602
Node: About Expressions49494
Node: Evaluating50897
Ref: Evaluating-Footnote-159620
Node: Tail Calls59756
Node: The REPL62627
Node: Syntax Summary63686
Node: About Closure65623
Node: About Environments66811
Node: Local Variables68663
Node: Chaining70225
Node: Lexical Scope72657
Node: Closure77944
Node: Serial Number80287
Node: Shared Variable81863
Node: Callback Closure83485
Node: OO Closure85772
Node: Guile Scheme88055
Node: Guile Scripting89053
Node: The Top of a Script File89851
Node: Invoking Guile91649
Node: The Meta Switch96823
Node: Command Line Handling100909
Node: Scripting Examples103843
Node: Using Guile Interactively107712
Node: Readline108656
Node: Value Historyx109410
Node: Error Handling110551
Node: Interactive Debugger112931
Node: Display Backtrace114247
Node: Frame Selection115207
Node: Frame Information117122
Node: Frame Evaluation118219
Node: Stepping and Continuing118854
Node: Using Guile in Emacs120487
Node: GDS Introduction125317
Node: GDS Architecture127625
Node: GDS Getting Started130338
Node: Working with GDS in Scheme Buffers137438
Node: Access to Guile Help and Completion137889
Node: Evaluating Scheme Code139564
Node: Displaying the Scheme Stack141191
Node: Continuing Execution144051
Node: Associating Buffers with Clients145908
Node: An Example GDS Session148094
Node: Further Reading151170
Node: Programming in C152067
Node: Linking Programs With Guile153858
Node: Guile Initialization Functions155181
Node: A Sample Guile Main Program156819
Node: Linking Guile with Libraries160804
Node: A Sample Guile Extension162863
Node: General Libguile Concepts165095
Node: Dynamic Types166757
Node: Garbage Collection172378
Node: Control Flow176965
Node: Asynchronous Signals182979
Node: Multi-Threading184894
Node: Defining New Types (Smobs)193490
Node: Describing a New Type194872
Node: Creating Instances198620
Node: Type checking204153
Node: Garbage Collecting Smobs205261
Node: Garbage Collecting Simple Smobs209825
Node: Remembering During Operations210901
Node: Double Smobs213296
Node: The Complete Example214720
Node: Function Snarfing219335
Node: Programming Overview223837
Node: Extending Dia225296
Node: Dia Objective226292
Node: Dia Steps228351
Node: Dia Smobs229676
Node: Dia Primitives235001
Node: Dia Hook237478
Node: Dia Structure238533
Node: Dia Advanced240117
Node: Scheme vs C244841
Node: Testbed Example246882
Ref: Testbed Example-Footnote-1248506
Node: Programming Options248631
Node: Available Functionality251170
Node: Basic Constraints253836
Node: Style Choices254057
Node: Program Control254258
Node: User Programming254433
Ref: User Programming-Footnote-1257565
Node: API Reference257845
Node: API Overview259720
Node: The SCM Type262238
Node: Initialization263853
Node: Snarfing Macros269053
Node: Simple Data Types272552
Node: Booleans273613
Node: Numbers276596
Node: Numerical Tower278055
Node: Integers280418
Node: Reals and Rationals289226
Node: Complex Numbers294592
Node: Exactness296183
Node: Number Syntax298117
Node: Integer Operations300957
Node: Comparison302859
Node: Conversion304543
Node: Complex305892
Node: Arithmetic307465
Node: Scientific310067
Node: Primitive Numerics311933
Node: Bitwise Operations315367
Node: Random320293
Node: Characters324389
Node: Character Sets328999
Node: Character Set Predicates/Comparison330231
Node: Iterating Over Character Sets331412
Node: Creating Character Sets334794
Node: Querying Character Sets338436
Node: Character-Set Algebra340010
Node: Standard Character Sets343181
Node: Strings346059
Node: String Syntax349212
Node: String Predicates350268
Node: String Constructors352706
Node: List/String Conversion355220
Node: String Selection356454
Node: String Modification361832
Node: String Comparison363865
Node: String Searching371087
Node: Alphabetic Case Mapping376540
Node: Reversing and Appending Strings378796
Node: Mapping Folding and Unfolding381313
Node: Miscellaneous String Operations385467
Node: Conversion to/from C388312
Node: Regular Expressions392244
Node: Regexp Functions393561
Node: Match Structures404291
Node: Backslash Escapes407495
Node: Symbols411668
Node: Symbol Data414629
Node: Symbol Keys416912
Node: Symbol Variables419372
Node: Symbol Primitives420419
Node: Symbol Props426676
Node: Symbol Read Syntax429581
Node: Symbol Uninterned431252
Node: Keywords434800
Node: Why Use Keywords?435457
Node: Coding With Keywords437375
Node: Keyword Read Syntax439384
Node: Keyword Procedures441055
Node: Other Types442064
Node: Compound Data Types442706
Node: Pairs444042
Node: Lists449915
Ref: Lists-Footnote-1450798
Node: List Syntax450998
Ref: List Syntax-Footnote-1452006
Node: List Predicates452113
Node: List Constructors453110
Node: List Selection455369
Node: Append/Reverse456619
Node: List Modification458773
Node: List Searching462162
Node: List Mapping463791
Node: Vectors465209
Node: Vector Syntax466390
Node: Vector Creation467172
Node: Vector Accessors469274
Node: Vector Accessing from C472719
Node: Uniform Numeric Vectors476406
Node: Bit Vectors498940
Node: Generalized Vectors504726
Node: Arrays507290
Node: Array Syntax509379
Node: Array Procedures512038
Node: Shared Arrays522838
Node: Accessing Arrays from C528977
Node: Records542072
Node: Structures546646
Node: Vtables547435
Node: Structure Basics550746
Node: Vtable Contents553696
Node: Vtable Vtables556369
Node: Dictionary Types561186
Node: Association Lists563081
Node: Alist Key Equality564428
Node: Adding or Setting Alist Entries565316
Node: Retrieving Alist Entries569994
Node: Removing Alist Entries571911
Node: Sloppy Alist Functions574751
Node: Alist Example577011
Node: Hash Tables578279
Node: Hash Table Examples579354
Node: Hash Table Reference581623
Node: Smobs591089
Node: Procedures and Macros599365
Node: Lambda601093
Node: Primitive Procedures604184
Node: Optional Arguments606055
Node: let-optional Reference607432
Node: let-keywords Reference608824
Node: lambda* Reference611554
Node: define* Reference614982
Node: Procedure Properties617126
Node: Procedures with Setters620128
Ref: Procedures with Setters-Footnote-1622577
Node: Macros622718
Node: Syntax Rules624790
Node: Pattern Language626836
Node: Define-Syntax627015
Node: Let-Syntax627476
Node: Syntax Case627623
Node: Internal Macros627827
Node: Utility Functions632586
Node: Equality633354
Node: Object Properties638315
Node: Property Primitives640434
Node: Old-fashioned Properties641705
Node: Sorting642985
Node: Copying647418
Node: General Conversion648288
Node: Hooks649371
Node: Hook Example650912
Node: Hook Reference652802
Node: C Hooks656744
Node: GC Hooks661013
Node: REPL Hooks663286
Node: Binding Constructs663423
Node: Top Level664150
Node: Local Bindings666939
Node: Internal Definitions670162
Node: Binding Reflection671849
Node: Control Mechanisms672376
Node: begin673348
Node: if cond case674619
Node: and or678061
Node: while do679292
Node: Continuations684062
Node: Multiple Values689687
Node: Exceptions692814
Node: Exception Terminology694520
Node: Catch695616
Node: Throw Handlers702452
Node: Lazy Catch704768
Node: Throw710886
Node: Exception Implementation713436
Node: Error Reporting715068
Node: Dynamic Wind717024
Node: Handling Errors724783
Node: Input and Output729152
Node: Ports729993
Node: Reading732990
Node: Writing737918
Node: Closing741458
Node: Random Access742637
Node: Line/Delimited744360
Node: Block Reading and Writing748934
Node: Default Ports752633
Node: Port Types755708
Node: File Ports756090
Node: String Ports762438
Node: Soft Ports765084
Node: Void Ports766953
Node: I/O Extensions767512
Node: C Port Interface767790
Node: Port Implementation771461
Node: Read/Load/Eval776729
Node: Scheme Syntax777512
Node: Expression Syntax777826
Node: Comments781617
Node: Block Comments782547
Node: Case Sensitivity783493
Node: Keyword Syntax784242
Node: Reader Extensions784405
Node: Scheme Read784932
Node: Fly Evaluation786634
Node: Loading790115
Node: Delayed Evaluation794378
Node: Local Evaluation795562
Node: Evaluator Behaviour796047
Node: Memory Management798585
Node: Garbage Collection Functions799176
Node: Memory Blocks801980
Node: Weak References810635
Node: Weak hash tables812546
Node: Weak vectors813730
Node: Guardians814764
Node: Objects817568
Node: Modules818544
Node: provide and require820352
Node: Environments821176
Node: The Guile module system823267
Node: General Information about Modules824761
Node: Using Guile Modules827476
Node: Creating Guile Modules832730
Node: Module System Reflection841547
Node: Module System Quirks843831
Node: Included Guile Modules845169
Node: Accessing Modules from C848536
Node: Dynamic Libraries852380
Ref: Dynamic Libraries-Footnote-1854492
Node: Low level dynamic linking854772
Node: Compiled Code Modules860566
Node: Dynamic Linking and Compiled Code Modules861926
Node: Compiled Code Installation867580
Node: Variables871220
Node: Scheduling874135
Node: Arbiters875102
Node: Asyncs876464
Node: System asyncs877516
Node: User asyncs880712
Node: Continuation Barriers881589
Node: Threads882790
Node: Mutexes and Condition Variables885639
Node: Blocking891320
Node: Critical Sections893736
Node: Fluids and Dynamic States895891
Node: Parallel Forms902711
Node: Options and Config906353
Node: Build Config907617
Node: Feature Tracking912416
Node: Feature Manipulation913271
Node: Common Feature Symbols914164
Node: Runtime Options918669
Node: Low level options interfaces919524
Node: User level options interfaces921239
Node: Reader options923455
Node: Printing options924302
Node: Evaluator options925325
Node: Evaluator trap options925703
Node: Debugger options928186
Node: Examples of option use930212
Node: Translation932739
Node: Emacs Lisp Support933057
Node: Internationalization933966
Node: Debugging939816
Node: Evaluation Model940479
Node: Capturing the Stack or Innermost Stack Frame943132
Node: Examining the Stack945165
Node: Examining Stack Frames946559
Node: Source Properties948612
Node: Decoding Memoized Source Expressions952729
Node: Starting a New Stack953340
Node: Debug on Error953870
Ref: Debug on Error-Footnote-1963475
Node: Traps963606
Node: How to Set a Trap967088
Node: Specifying Trap Behaviour969374
Node: Trap Context971872
Ref: Trap Context-Footnote-1973547
Node: Tracing Examples973720
Node: Tracing Configuration976696
Node: Tracing and (ice-9 debug)981873
Node: Traps Installing More Traps983998
Node: Common Trap Options985513
Node: Procedure Traps987637
Node: Exit Traps988393
Node: Entry Traps989183
Node: Apply Traps989874
Node: Step Traps990608
Node: Source Traps994545
Node: Location Traps997404
Node: Trap Shorthands998991
Node: Trap Utilities1000314
Node: Debugging Examples1001998
Node: Single Stepping through a Procedure's Code1002325
Node: Profiling or Tracing a Procedure's Code1004625
Node: GH1010390
Node: GH deprecation1011484
Node: Transitioning away from GH1013954
Node: GH preliminaries1023623
Node: Data types and constants defined by GH1024107
Node: Starting and controlling the interpreter1025811
Node: Error messages1029285
Node: Executing Scheme code1029518
Node: Defining new Scheme procedures in C1030762
Node: Converting data between C and Scheme1033109
Node: C to Scheme1033580
Node: Scheme to C1035429
Node: Type predicates1038227
Node: Equality predicates1039633
Node: Memory allocation and garbage collection1040892
Node: Calling Scheme procedures from C1041138
Node: Guile Modules1048157
Node: SLIB1049245
Node: SLIB installation1050004
Node: JACAL1051329
Node: POSIX1051910
Node: Conventions1053059
Node: Ports and File Descriptors1056440
Node: File System1074333
Node: User Information1087422
Node: Time1091777
Node: Runtime Environment1099705
Node: Processes1104193
Node: Signals1117245
Node: Terminals and Ptys1125273
Node: Pipes1126842
Node: Networking1130488
Node: Network Address Conversion1130777
Node: Network Databases1133913
Node: Network Socket Address1143648
Node: Network Sockets and Communication1148146
Node: Internet Socket Examples1162995
Node: System Identification1164879
Node: Locales1166320
Node: Encryption1167360
Node: getopt-long1168623
Node: getopt-long Example1169901
Node: Option Specification1172470
Node: Command Line Format1175767
Node: getopt-long Reference1178615
Node: option-ref Reference1181314
Node: SRFI Support1182049
Node: About SRFI Usage1184079
Node: SRFI-01185799
Node: SRFI-11188284
Node: SRFI-1 Constructors1189604
Node: SRFI-1 Predicates1191104
Node: SRFI-1 Selectors1193878
Node: SRFI-1 Length Append etc1195751
Node: SRFI-1 Fold and Map1198307
Node: SRFI-1 Filtering and Partitioning1207669
Node: SRFI-1 Searching1209347
Node: SRFI-1 Deleting1213632
Node: SRFI-1 Association Lists1215975
Node: SRFI-1 Set Operations1218265
Node: SRFI-21226571
Node: SRFI-41229020
Node: SRFI-61229302
Node: SRFI-81229826
Node: SRFI-91230091
Node: SRFI-101232947
Node: SRFI-111237039
Node: SRFI-131237938
Node: SRFI-141238153
Node: SRFI-161238403
Node: SRFI-171240264
Node: SRFI-191241979
Node: SRFI-19 Introduction1242957
Node: SRFI-19 Time1244622
Node: SRFI-19 Date1248363
Node: SRFI-19 Time/Date conversions1250554
Node: SRFI-19 Date to string1253352
Node: SRFI-19 String to date1256568
Node: SRFI-261259857
Node: SRFI-311263158
Node: SRFI-341264063
Node: SRFI-351264518
Node: SRFI-371270135
Node: SRFI-391273894
Node: SRFI-551279755
Node: SRFI-601280759
Node: SRFI-611284682
Node: SRFI-691285188
Node: SRFI-69 Creating hash tables1285984
Node: SRFI-69 Accessing table items1288724
Node: SRFI-69 Table properties1290439
Node: SRFI-69 Hash table algorithms1291553
Node: SRFI-881292666
Node: Readline Support1294090
Node: Loading Readline Support1294844
Node: Readline Options1296955
Node: Readline Functions1298112
Node: Value History1303287
Node: Pretty Printing1304293
Node: Formatted Output1305855
Node: File Tree Walk1334096
Node: Queues1340576
Node: Streams1343486
Node: Buffered Input1348347
Node: Expect1350590
Node: The Scheme shell (scsh)1356726
Node: Tracing1357282
Node: Autoconf Support1360283
Node: Autoconf Background1360999
Node: Autoconf Macros1362003
Node: Using Autoconf Macros1366115
Node: Autofrisk1368715
Node: Using Autofrisk1371540
Node: Data Representation1372964
Node: Data Representation in Scheme1374406
Node: A Simple Representation1376122
Node: Faster Integers1377501
Node: Cheaper Pairs1381013
Node: Guile Is Hairier1384324
Node: How Guile does it1385114
Node: General Rules1386127
Node: Conservative GC1387358
Node: Immediates vs Non-immediates1391520
Node: Immediate Datatypes1392778
Node: Integer Data1393502
Node: Character Data1394626
Node: Boolean Data1395190
Node: Unique Values1395481
Node: Non-immediate Datatypes1397054
Node: Pair Data1398686
Node: Vector Data1400795
Node: Procedures1402793
Node: Closures1403470
Node: Subrs1405167
Node: Port Data1407803
Node: Signalling Type Errors1407976
Node: Unpacking the SCM type1409511
Node: Relationship between SCM and scm_t_bits1410467
Node: Immediate objects1411728
Node: Non-immediate objects1412962
Node: Allocating Cells1414428
Node: Heap Cell Type Information1415717
Node: Accessing Cell Entries1416685
Node: Basic Rules for Accessing Cell Entries1420295
Node: GNU Free Documentation License1421619
Node: Concept Index1444066
Node: Procedure Index1480220
Node: Variable Index1796992
Node: Type Index1819251
Node: R5RS Index1822883

End Tag Table


Local Variables:
coding: utf-8
End:
