This is info/sicstus.info, produced by makeinfo version 4.8 from sicstus.texi. INFO-DIR-SECTION SICStus Prolog START-INFO-DIR-ENTRY * SICStus Prolog Manual: (sicstus). SICStus Prolog User's Manual. END-INFO-DIR-ENTRY Generated 10 May 2011.  Indirect: sicstus.info-1: 247 sicstus.info-2: 295660 sicstus.info-3: 594843 sicstus.info-4: 894841 sicstus.info-5: 1194433 sicstus.info-6: 1492086 sicstus.info-7: 1728967  Tag Table: (Indirect) Node: Top247 Node: Intro4183 Node: Acknowledgments6370 Node: Notation7917 Node: Keyboard Characters8282 Node: Mode Spec9031 Node: Development and Runtime Systems10097 Node: Function Prototypes10609 Node: ISO Compliance10946 Node: Glossary12166 Node: Run Intro44766 Node: Start45930 Node: Environment Variables50266 Node: Reading In54141 Node: Inserting Clauses55959 Node: Queries and Directives56638 Node: Queries57185 Node: Directives60581 Node: Syntax Errors62228 Node: Undefined Predicates63456 Node: Execution65044 Node: Exiting66471 Node: Nested66811 Node: Saving67709 Node: Emacs Interface71145 Node: Installation73024 Node: Quick-Start73656 Node: Customizing Emacs74909 Node: Enabling Emacs Support for SICStus75544 Node: Enabling Emacs Support for SICStus Documentation77514 Node: Basic Configuration78796 Node: Usage79648 Node: Mode Line83778 Node: Configuration84633 Node: Tips90902 Node: Font-locking91285 Node: Auto-fill Mode91773 Node: Speed92284 Node: Changing Colors93828 Node: Prolog Intro95843 Node: Syntax96457 Node: Terms96676 Node: Integers97012 Node: Floats98218 Node: Atoms98576 Node: Variables99901 Node: Compound Terms100849 Node: Programs104504 Node: Declarative109767 Node: Procedural111066 Node: Occur116088 Node: Cut117214 Node: Operators120174 Node: Restrictions124780 Node: Comments126175 Node: Module Intro126643 Node: Basic Concepts127936 Node: Module Spec129387 Node: Def Modules130802 Node: Importation132186 Node: Meta Exp133366 Node: Meta Decl135309 Node: Load Intro136193 Node: Load Predicates139380 Node: Declarations144007 Node: Multifile Declarations145565 Node: Dynamic Declarations148097 Node: Volatile Declarations148868 Node: Discontiguous Declarations149752 Node: Block Declarations150328 Node: Meta-Predicate Declarations152252 Node: Module Declarations152889 Node: Public Declarations153360 Node: Mode Declarations153950 Node: Include Declarations154409 Node: Initializations155739 Node: Considerations156467 Node: Debug Intro158148 Node: Procedure Box160637 Node: Basic Debug166748 Node: Plain Spypoint170533 Node: Debug Format172552 Node: Debug Commands176236 Node: Advanced Debugging192154 Node: Creating Breakpoints193749 Node: Processing Breakpoints196459 Node: Breakpoint Tests198092 Node: Specific and Generic Breakpoints214269 Node: Breakpoint Actions217976 Node: Advice-points231352 Node: Built-in Predicates for Breakpoint Handling238140 Node: Accessing Past Debugger States242856 Node: Storing User Information in the Backtrace249368 Node: Hooks Related to Breakpoints254872 Node: Programming Breakpoints259638 Node: Breakpoint Predicates267703 Node: Breakpoint Processing273812 Node: Breakpoint Conditions280202 Node: Goal Tests282281 Node: Source Tests285626 Node: Port Tests287190 Node: Break Tests290471 Node: Other Tests291511 Node: Action Conditions292755 Node: Past States293584 Node: Condition Macros294457 Node: Action Variables295660 Node: Consult300578 Node: Exceptions Debug301160 Node: Built Intro302231 Node: Input Output304275 Node: Read In311975 Node: Term and Goal Expansion321044 Node: Term I/O331433 Node: Char I/O353765 Node: Stream Pred359841 Node: File Pred382039 Node: I/O Example383699 Node: Arithmetic384428 Node: Term Compare393863 Node: Control397749 Node: Exception404038 Node: State Info410253 Node: Meta Logic429563 Node: Modify Term437599 Node: Modify Prog439675 Node: Database444737 Node: Blackboard Primitives447158 Node: All Solutions450226 Node: Messages and Queries455013 Node: Message Processing455537 Node: Message Phases457244 Node: Message Generation Phase460974 Node: Message Printing Phase462785 Node: Message Handling Predicates463862 Node: Query Processing468827 Node: Query Classes470035 Node: Query Phases473197 Node: Query Hooks479101 Node: Default Input Methods481568 Node: Default Map Methods482535 Node: Default Query Classes484079 Node: Query Handling Predicates484927 Node: Coroutining492096 Node: Debug Pred494453 Node: Profiling497877 Node: Misc Pred502295 Node: Mixing C and Prolog510392 Node: CPL Notes512820 Node: Calling C from Prolog515817 Node: Foreign Resources517505 Node: Conversion Declarations520194 Node: Conversions between Prolog Arguments and C Types522976 Node: Interface Predicates529151 Node: The Foreign Resource Linker531728 Node: Customizing splfr536354 Node: splfr UNIX537412 Node: Init and Deinit Functions538297 Node: Creating the Linked Foreign Resource540565 Node: An Alternative Way to Define C Predicates541954 Node: Calling C++ from Prolog544808 Node: Support Functions545462 Node: Creating and Manipulating SP_term_refs546301 Node: Creating Prolog Terms550826 Node: Accessing Prolog Terms556300 Node: Testing Prolog Terms562131 Node: Unifying and Comparing Terms563681 Node: Operating System Services564144 Node: OS Memory Allocation564471 Node: OS File System566127 Node: OS Threads567286 Node: Miscellaneous C API Functions568951 Node: Calling Prolog from C570716 Node: Finding One Solution of a Call572498 Node: Finding Multiple Solutions of a Call573712 Node: Calling Prolog Asynchronously577336 Node: Signal Handling580078 Node: Exception Handling in C584034 Node: SICStus Streams585304 Node: Prolog Streams586157 Node: Defining a New Stream589210 Node: Low Level I/O Functions590080 Node: Installing a New Stream591371 Node: Internal Representation593035 Node: Hookable Standard Streams594843 Node: Writing User-stream Hooks595816 Node: Writing User-stream Post-hooks596811 Node: User-stream Hook Example597564 Node: Hooks598456 Node: Stand-alone Executables600497 Node: Runtime Systems601300 Node: Runtime Systems on Target Machines603232 Node: Runtime Systems on UNIX Target Machines605138 Node: Runtime Systems on Windows Target Machines608092 Node: The Application Builder610486 Node: Customizing spld626248 Node: All-in-one Executables627331 Node: spld Examples635283 Node: User-defined Main Programs646213 Node: Initializing the Prolog Engine647004 Node: Loading Prolog Code653952 Node: Generic Runtime Systems under Windows656529 Node: Mixing Examples657816 Node: Train Example658145 Node: I/O on Lists of Character Codes662227 Node: Exceptions from C665773 Node: Stream Example668888 Node: Interfacing .NET and Java670854 Node: Multiple SICStus Run-Times672849 Node: Memory Considerations673927 Node: Multiple SICStus Run-Times in Java675527 Node: Multiple SICStus Run-Times in C676278 Node: MT Single677541 Node: MT Multiple678779 Node: Foreign Resources and Multiple SICStus Run-Times682714 Node: MT Foreign Single683722 Node: MT Foreign Multiple685658 Node: MT Foreign Multiple Simple686929 Node: MT Foreign Multiple Full689924 Node: Threads693660 Node: Handling Wide Characters694328 Node: WCX Introduction695325 Node: WCX Concepts697150 Node: Prolog Level WCX Features700741 Node: WCX Environment Variables703051 Node: WCX Hooks705288 Node: WCX Foreign Interface722226 Node: WCX Features in Libraries726014 Node: WCX Utility Functions728119 Node: Representation of EUC Wide Characters731951 Node: A Sample WCX Box735245 Node: Writing Efficient Programs740554 Node: Eff Overview741213 Node: The Cut743236 Node: Cut Overview743580 Node: Making Predicates Determinate744522 Node: Placement of Cuts747759 Node: Terminating a Backtracking Loop748660 Node: Indexing750467 Node: Indexing Overview750743 Node: Data Tables751745 Node: Determinacy Detection753638 Node: Last Clause Determinacy Detection755636 Node: The Determinacy Checker757616 Node: Using the Determinacy Checker758609 Node: Declaring Nondeterminacy760176 Node: Checker Output761802 Node: Det Example764442 Node: Det Options765742 Node: What is Detected767991 Node: Last Call Optimization771601 Node: Accumulating Parameters773007 Node: Accumulating Lists774697 Node: Building and Dismantling Terms776747 Node: Conditionals and Disjunction782112 Node: Programming Examples784394 Node: Simple List785100 Node: Family Example785900 Node: Association Lists786652 Node: Derivative787605 Node: Use Of Meta788230 Node: Use Of Term Exp789140 Node: Interpreter790222 Node: Translate791366 Node: The Cross-Referencer792924 Node: Xref Introduction793223 Node: Xref Basic Use793946 Node: Xref Practice and Experience795275 Node: The SICStus Tools797053 Node: The Prolog Library797885 Node: Arrays802963 Node: Assoc804652 Node: Attributes808725 Node: Heaps822666 Node: Lists825123 Node: Term Utilities829365 Node: Ordsets833128 Node: Queues836576 Node: Random838968 Node: System Utilities840374 Node: Trees848647 Node: UGraphs850484 Node: WGraphs856573 Node: Sockets862381 Node: Linda Library868951 Node: Server871092 Node: Client873695 Node: BDB877329 Node: BDB Basics878134 Node: Current Limitations879228 Node: Berkeley DB880184 Node: The DB-Spec Informal Description880921 Node: Predicates882723 Node: Conventions883013 Node: The Environment884677 Node: Memory Leaks885454 Node: The Predicates886131 Node: An Example Session894841 Node: The DB-Spec895798 Node: Exporting and importing a database897552 Node: CLPB898345 Node: CLPB Interface900635 Node: CLPB Examples901763 Node: CLPB Example 1902074 Node: CLPB Example 2903026 Node: CLPB Example 3903982 Node: CLPB Example 4905158 Node: CLPQR906915 Node: CLPQR Introduction907595 Node: Referencing CLPQR908634 Node: Acknowledging CLPQR909059 Node: CLPQR Interface909712 Node: Notational Conventions910746 Node: Solver Predicates911651 Node: Unification920394 Node: Feedback921965 Node: Linearity922659 Node: How Nonlinear Residues Are Made to Disappear925001 Node: Isolation Axioms925641 Node: Numerical Precision927034 Node: Projection934608 Node: Variable Ordering936688 Node: Turning Answers into Terms938425 Node: Projecting Inequalities939227 Node: Why Disequations944425 Node: Syntactic Sugar946719 Node: Monash Examples949332 Node: Compatibility Notes950390 Node: MIP951716 Node: Implementation Architecture954979 Node: Fragments and Bits955442 Node: Rationals955738 Node: Partial Evaluation956183 Node: Asserting with Constraints956887 Node: Bugs957510 Node: CLPFD958078 Node: CLPFD Intro958765 Node: Referencing CLPFD961275 Node: Acknowledgments CLPFD961718 Node: CLPFD Interface962535 Node: Posting Constraints966019 Node: A Constraint Satisfaction Problem966635 Node: Reified Constraints969080 Node: Available Constraints970222 Node: Arithmetic Constraints970758 Node: Membership Constraints973181 Node: Propositional Constraints974292 Node: Combinatorial Constraints975694 Node: User-Defined Constraints1003600 Node: Enumeration Predicates1004480 Node: Statistics Predicates1013594 Node: Answer Constraints1015047 Node: The Constraint System1016263 Node: Definitions1016549 Node: Pitfalls of Interval Reasoning1018405 Node: Defining Global Constraints1019349 Node: The Global Constraint Programming Interface1019805 Node: Reflection Predicates1025620 Node: FD Set Operations1028905 Node: A Global Constraint Example1032495 Node: Defining Primitive Constraints1035737 Node: Indexicals1036975 Node: Range Expressions1037840 Node: Term Expressions1040665 Node: Monotonicity of Indexicals1041910 Node: FD Predicates1043034 Node: Execution of Propagating Indexicals1049570 Node: Execution of Checking Indexicals1051530 Node: Goal Expanded Constraints1053469 Node: Example Programs1055556 Node: Send More Money1056091 Node: N Queens1056760 Node: Cumulative Scheduling1060025 Node: Syntax Summary1061528 Node: Syntax of Indexicals1061827 Node: Syntax of Arithmetic Expressions1065451 Node: Operator Declarations1066616 Node: CHR1067204 Node: CHR Copyright1067673 Node: CHR Introduction1068534 Node: CHR Introductory Examples1071316 Node: CHR Library1075808 Node: CHR Loading the Library1076864 Node: CHR Declarations1077334 Node: CHR Syntax1078778 Node: How CHR Work1081812 Node: CHR Pragmas1084318 Node: CHR Options1087638 Node: CHR Built-In Predicates1090173 Node: CHR Consulting and Compiling1093065 Node: CHR Compiler-Generated Predicates1093602 Node: CHR Operator Declarations1095116 Node: CHR Exceptions1095738 Node: CHR Debugging1097590 Node: CHR Control Flow Model1098466 Node: CHR Debugging Predicates1099830 Node: CHR Spypoints1103311 Node: CHR Debugging Messages1106094 Node: CHR Debugging Options1107386 Node: CHR Programming Hints1112984 Node: CHR Constraint Handlers1116416 Node: CHR Backward Compatibility1120714 Node: FDBG1123276 Node: FDBG Introduction1123560 Node: FDBG Concepts1124108 Node: FDBG Events1124722 Node: FDBG Labeling Levels1125952 Node: FDBG Visualizers1127364 Node: FDBG Names of Terms1128596 Node: FDBG Selectors1129844 Node: FDBG Name Auto-Generation1130392 Node: FDBG Legend1131758 Node: FDBG The fdbg_output Stream1133067 Node: FDBG Basics1133438 Node: FDBG Options1134277 Node: FDBG Naming Terms1136797 Node: FDBG Built-In Visualizers1137648 Node: FDBG Debugger Commands1141584 Node: FDBG Annotation1142973 Node: FDBG An Example Session1144943 Node: FDBG Advanced Usage1149451 Node: FDBG Customizing Output1150468 Node: FDBG Writing Visualizers1152495 Node: FDBG Writing Legend Printers1156184 Node: FDBG Showing Selected Constraints (simple version)1158319 Node: FDBG Showing Selected Constraints (advanced version)1160374 Node: FDBG Debugging Global Constraints1166112 Node: FDBG Code of the Built-In Visualizers1174081 Node: Obj Intro1176232 Node: Obj Getting Started1179744 Node: Obj Declared Objects1180290 Node: Object Declaration1180696 Node: Method Declarations1182436 Node: Generic Objects for Easy Reuse1185474 Node: Obj Self1187825 Node: Obj Hierarchies1190962 Node: Inheritance1192213 Node: Differential Inheritance1194031 Node: Use of Modules1194433 Node: Super and Sub1195228 Node: The Keyword Super1196043 Node: Semantic Links to Other Objects1197328 Node: Dynamically Declared Objects1197976 Node: Dynamic Methods1198698 Node: Inheritance of Dynamic Behavior1200638 Node: Obj Dynamic1201614 Node: Object Creation1202275 Node: Method Additions1203404 Node: Parameter Passing to New Objects1204062 Node: Obj Daemons1205077 Node: Instances1206250 Node: Obj Built-In1206956 Node: Universal Methods1207307 Node: Inlined Methods1207935 Node: The Proto-Object1208802 Node: The Utility Object1212663 Node: Obj Expand1214602 Node: The Inheritance Mechanism1216176 Node: Object Attributes1217448 Node: Object Instances1217972 Node: The Object Declaration1218629 Node: The Method Code1219129 Node: Parameter Transfer1223548 Node: Obj Examples1227046 Node: Classification of Birds1227317 Node: Inheritance and Delegation1228623 Node: PrologPlusPlus Pgms1234426 Node: PiLLoW1239626 Node: XML1241078 Node: Tcl/Tk1244876 Node: Introduction (Tcl)1245226 Node: What Is Tcl/Tk?1246093 Node: What Is Tcl/Tk Good For?1246809 Node: What Is Tcl/Tks Relationship to SICStus Prolog?1248952 Node: A Quick Example of Tcl/Tk in Action1249438 Node: hello world1250297 Node: telephone book1251922 Node: Outline of This Tutorial1254676 Node: Tcl1256844 Node: Syntax (Tcl)1257478 Node: Variable Substitution1259092 Node: Command Substitution1260363 Node: Backslash Substitution1261161 Node: Delaying Substitution1262245 Node: Double-Quotes1263243 Node: Variables (Tcl)1265117 Node: Commands1266525 Node: Notation (Tcl)1267261 Node: Commands to Do with Variables1268110 Node: Expressions1269188 Node: Lists (Tcl)1270707 Node: Control Flow1275083 Node: Commands over Strings1279637 Node: File I/O1286911 Node: User Defined Procedures1289215 Node: Global Variables1293675 Node: source1294970 Node: What We Have Left Out (Tcl)1295388 Node: Tk1296236 Node: Widgets1297090 Node: Types of Widget1298172 Node: Widgets Hierarchies1299860 Node: Widget Creation1303162 Node: label1306230 Node: message1307161 Node: button1307849 Node: checkbutton1308318 Node: radiobutton1309232 Node: entry1310660 Node: scale1311357 Node: listbox1312283 Node: scrollbar1313555 Node: frame1316741 Node: toplevel1318559 Node: menu1319455 Node: menubutton1322667 Node: canvas1323467 Node: text1324131 Node: Geometry Managers1324611 Node: pack1326722 Node: pad-ding1329360 Node: fill-ing1330610 Node: expand-ing1333633 Node: Anchors and Packing Order1337076 Node: grid1338467 Node: place1341630 Node: Event Handling1343077 Node: Miscellaneous1348240 Node: What We Have Left Out (Tk)1349839 Node: Queens Display1350418 Node: The Tcl/Tk Prolog Library1357215 Node: How it Works - An Overview1358035 Node: Basic Functions1361105 Node: Loading the Library1361556 Node: Creating a Tcl Interpreter1361885 Node: Creating a Tcl Interpreter Extended with Tk1362627 Node: Removing a Tcl Interpreter1365016 Node: Evaluation Functions1365535 Node: Command Format1366129 Node: Evaluating Tcl Expressions from Prolog1370373 Node: Evaluating Prolog Expressions from Tcl1372928 Node: Event Functions1376473 Node: Evaluate a Tcl Expression And Get Prolog Events1376848 Node: prolog_event1379046 Node: An Example1381573 Node: Servicing Tk Events1384374 Node: Passing Control to Tk1388805 Node: Housekeeping1389226 Node: Summary1390689 Node: Putting It All Together1394204 Node: Tcl The Master1396729 Node: Prolog The Master1406116 Node: Prolog And Tcl Interact through Prolog Event Queue1409291 Node: The Whole 8-Queens Example1414421 Node: Quick Reference1421851 Node: Command Format Summary1422468 Node: Predicates for Prolog to Interact with Tcl Interpreters1424822 Node: Predicates for Prolog to Interact with Tcl Interpreters with Tk Extensions1425977 Node: Commands for Tcl Interpreters to Interact with The Prolog System1429459 Node: Resources1429942 Node: Web Sites1430415 Node: Books1430648 Node: Manual Pages1431584 Node: Usenet News Groups1431903 Node: Gauge1432106 Node: Chars I/O1435659 Node: Jasper1439345 Node: Jasper Overview1439846 Node: Getting Started1442098 Node: Calling Prolog from Java1442587 Node: Single Threaded Example1443427 Node: Multi Threaded Example1446956 Node: Another Multi Threaded Example (Prolog Top Level)1450656 Node: Jasper Package Class Reference1456500 Node: Java Exception Handling1462765 Node: SPTerm and Memory1463760 Node: Lifetime of SPTerms and Prolog Memory1464521 Node: Preventing SPTerm Memory Leaks1467086 Node: Java Threads1469005 Node: The Jasper Library1470875 Node: Jasper Method Call Example1472475 Node: Jasper Library Predicates1475808 Node: Conversion between Prolog Arguments and Java Types1483869 Node: Global vs. Local References1489867 Node: Handling Java Exceptions1492086 Node: Deprecated Jasper API1495537 Node: Deprecated Argument Conversions1496400 Node: Deprecated Jasper Predicates1497973 Node: PrologBeans1499862 Node: PB Intro1500324 Node: PB Features1501630 Node: PB First Example1502789 Node: PB Prolog Server Interface1507282 Node: PB Java Client Interface1513421 Node: PB Java Examples1521653 Node: PB Ex Embedding1522202 Node: PB Ex Servers1523304 Node: PB Ex Tomcat1527223 Node: PB .NET Client Interface1529710 Node: PB .NET Examples1530786 Node: PB C# Examples1531234 Node: PB .NET Embedding1531472 Node: PB .NET Servers1532697 Node: PB VB Example1533240 Node: COM Client1533991 Node: Preliminaries1534696 Node: Terminology1535047 Node: COM Client Predicates1537863 Node: COM Client Examples1543090 Node: Visual Basic1545152 Node: VB Overview1545683 Node: How to Call Prolog from Visual Basic1546835 Node: Opening and Closing a Query1547411 Node: Finding the Solutions of a Query1548700 Node: Retrieving Variable Values1549195 Node: Evaluating a Query with Side-Effects1551608 Node: Handling Exceptions in Visual Basic1552496 Node: How to Use the Interface1553404 Node: Setting Up the Interface1553986 Node: Initializing the Prolog Engine From VB1554302 Node: Deinitializing the Prolog Engine From VB1554846 Node: Loading the Prolog Code1555518 Node: Examples1556789 Node: Example 1 - Calculator1557228 Node: Example 2 - Train1561053 Node: Example 3 - Queens1564190 Node: Summary of the Interface Functions1570279 Node: Runtime Utilities1574031 Node: Spaceout1574848 Node: Timeout1577822 Node: Pred Summary1579380 Node: Full Syntax1612273 Node: Syntax Notation1613993 Node: Sentence1615293 Node: Term Token1617771 Node: Token String1620536 Node: iso Execution Mode Rules1628738 Node: sicstus Execution Mode Rules1630089 Node: Escape Sequences1631802 Node: Syntax Notes1633497 Node: Standard Operators1635158 Node: References1636253 Node: Predicate Index1643981 Node: Obj Index1717351 Node: Keystroke Index1722273 Node: Book Index1728967  End Tag Table