1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
\unnumbchapentry{Terms and Conditions for Use of ICOT Free Software}{1}
\chapentry{Introduction}{1}{3}
\secentry {Description of Predicates and Methods}{1}{1}{3}
\subsecentry {Predicates and Methods}{1}{1}{1}{3}
\subsecentry {Messages}{1}{1}{2}{4}
\subsecentry {Argument Modes}{1}{1}{3}{4}
\secentry {Reporting Bugs and Sending Comments}{1}{2}{4}
\chapentry{KL1 Language}{2}{6}
\secentry {Basic Execution Mechanism}{2}{1}{6}
\secentry {Predicates}{2}{2}{7}
\secentry {Modules}{2}{3}{7}
\secentry {Goals}{2}{4}{8}
\secentry {Initial Goal}{2}{5}{8}
\secentry {Generic Objects}{2}{6}{9}
\subsecentry {Creating Generic Objects}{2}{6}{1}{9}
\subsecentry {Guard Methods of Generic Data Objects}{2}{6}{2}{9}
\subsecentry {Body Methods of Generic Data Objects}{2}{6}{3}{9}
\secentry {Priority Specification}{2}{7}{10}
\secentry {Clause Preference}{2}{8}{10}
\secentry {Shorthand Notation for Argument Pairs}{2}{9}{11}
\subsecentry {Paired Arguments and their Expansion}{2}{9}{1}{11}
\subsecentry {Macros for Paired Arguments}{2}{9}{2}{12}
\subsecentry {Usage of Paired Arguments}{2}{9}{3}{12}
\secentry {Inserting C Language Code Inline}{2}{10}{13}
\subsecentry {Inline Insertion at the Top of Files}{2}{10}{1}{13}
\subsecentry {Inline Insertion in the Guard}{2}{10}{2}{13}
\subsecentry {C-Level Representation of KL1 Terms}{2}{10}{3}{14}
\subsecentry {Examples}{2}{10}{4}{15}
\subsecentry {Some Hints on Using the Inline C Code Feature}{2}{10}{5}{15}
\chapentry{Builtin and Library Features}{3}{17}
\secentry {Common Operations}{3}{1}{17}
\subsecentry {Unification}{3}{1}{1}{17}
\subsecentry {Synchronization}{3}{1}{2}{17}
\subsecentry {Comparison and Hashing}{3}{1}{3}{17}
\subsecentry {Execution Status}{3}{1}{4}{18}
\subsecentry {Debugging}{3}{1}{5}{19}
\secentry {Atomic Data}{3}{2}{19}
\subsecentry {Symbolic Atoms}{3}{2}{1}{19}
\subsubsecentry{Notation of Symbolic Atoms} {3}{2}{1}{1} {19}
\subsubsecentry{Operations on Symbolic Atoms} {3}{2}{1}{2} {20}
\subsecentry {Integer Atoms}{3}{2}{2}{21}
\subsubsecentry{Notation of Integers} {3}{2}{2}{1} {21}
\subsubsecentry{Integer Arithmetics} {3}{2}{2}{2} {21}
\subsubsecentry{Integer Comparison} {3}{2}{2}{3} {22}
\subsecentry {Floating Point Numbers}{3}{2}{3}{23}
\subsubsecentry{Notation of Floating Point Numbers} {3}{2}{3}{1} {23}
\subsubsecentry{Creating New Floating Point Numbers} {3}{2}{3}{2} {23}
\subsubsecentry{Floating Point Arithmetics} {3}{2}{3}{3} {23}
\subsubsecentry{Floating Point Comparison} {3}{2}{3}{4} {25}
\secentry {Structured Data}{3}{3}{26}
\subsecentry {Functor Structures}{3}{3}{1}{26}
\subsubsecentry{Notation of Functors} {3}{3}{1}{1} {26}
\subsubsecentry{Operations on Functors} {3}{3}{1}{2} {26}
\subsecentry {Lists}{3}{3}{2}{27}
\subsubsecentry{Notation of Lists} {3}{3}{2}{1} {27}
\subsubsecentry{Manipulation of Message Streams} {3}{3}{2}{2} {28}
\subsecentry {Vectors}{3}{3}{3}{30}
\subsubsecentry{Notation of Vectors} {3}{3}{3}{1} {30}
\subsubsecentry{Creating New Vectors} {3}{3}{3}{2} {30}
\subsubsecentry{Predicates on Vectors} {3}{3}{3}{3} {30}
\subsecentry {Strings}{3}{3}{4}{31}
\subsubsecentry{Notation of Strings} {3}{3}{4}{1} {32}
\subsubsecentry{Creating New Strings} {3}{3}{4}{2} {33}
\subsubsecentry{Predicates on Strings} {3}{3}{4}{3} {33}
\secentry {Handling Program Code as Data}{3}{4}{34}
\subsecentry {Modules}{3}{4}{1}{34}
\subsecentry {Predicates}{3}{4}{2}{35}
\secentry {Unix Interface}{3}{5}{36}
\subsecentry {Obtaining Unix Interface Stream}{3}{5}{1}{36}
\subsecentry {Opening Streams for Input and Output Operations}{3}{5}{2}{36}
\subsecentry {Using Sockets}{3}{5}{3}{37}
\subsecentry {Files and Directories}{3}{5}{4}{38}
\subsecentry {Handling Signal Interrupts}{3}{5}{5}{39}
\subsecentry {Miscellaneous Messages to the Unix Stream}{3}{5}{6}{39}
\subsecentry {Predicate Interface}{3}{5}{7}{40}
\secentry {Input and Output}{3}{6}{40}
\subsecentry {Input and Output with C-like Interface}{3}{6}{1}{40}
\subsubsecentry{Common Messages with C-like Interface} {3}{6}{1}{1} {41}
\subsubsecentry{Input Messages with C-like Interface} {3}{6}{1}{2} {41}
\subsubsecentry{Output Messages with C-like Interface} {3}{6}{1}{3} {42}
\subsecentry {Input and Output with Prolog-like Interface}{3}{6}{2}{42}
\subsubsecentry{Opening Prolog-like I/O Streams} {3}{6}{2}{1} {42}
\subsubsecentry{Common Messages with Prolog-like Interface} {3}{6}{2}{2} {43}
\subsubsecentry{Input Messages with Prolog-like Interface} {3}{6}{2}{3} {43}
\subsubsecentry{Output Messages with Prolog-like Interface} {3}{6}{2}{4} {44}
\subsubsecentry{Wrapped Terms} {3}{6}{2}{5} {45}
\secentry {Controlling System Behavior}{3}{7}{46}
\secentry {Timer}{3}{8}{47}
\secentry {Random Number Generator}{3}{9}{48}
\chapentry{Using KLIC}{4}{49}
\secentry {Compiling Programs with KLIC}{4}{1}{49}
\subsecentry {Command for Compilation}{4}{1}{1}{49}
\subsecentry {Compiler Options}{4}{1}{2}{49}
\subsecentry {How KLIC Compiler Works}{4}{1}{3}{51}
\secentry {Running Programs Compiled with KLIC}{4}{2}{51}
\subsecentry {Runtime Switches for Programs Compiled with KLIC}{4}{2}{1}{52}
\secentry {Tracing Program Execution}{4}{3}{52}
\subsecentry {Preparation for Traced Execution}{4}{3}{1}{53}
\subsecentry {Trace Ports}{4}{3}{2}{53}
\subsecentry {Format of Trace Display}{4}{3}{3}{53}
\subsecentry {Trace Controlling Commands}{4}{3}{4}{55}
\subsubsecentry{Controlling Tracing of the Traced Goal} {4}{3}{4}{1} {55}
\subsubsecentry{Controlling Tracing of Newly Created Subgoals} {4}{3}{4}{2} {56}
\subsubsecentry{Changing Default Trace of Predicates} {4}{3}{4}{3} {56}
\subsecentry {Spying}{4}{3}{5}{57}
\subsecentry {Controlling Trace Ports}{4}{3}{6}{57}
\subsecentry {Display Control Commands}{4}{3}{7}{58}
\subsecentry {Dumping Goals}{4}{3}{8}{59}
\subsecentry {Miscellaneous Commands}{4}{3}{9}{59}
\subsecentry {Detecting Perpetual Suspensions}{4}{3}{10}{59}
\secentry {Installation}{4}{4}{60}
\subsecentry {Configuration}{4}{4}{1}{60}
\subsecentry {Compiling the KLIC system}{4}{4}{2}{61}
\subsecentry {Testing the Compilation}{4}{4}{3}{61}
\subsecentry {Installing the Objects}{4}{4}{4}{61}
\subsecentry {Cleaning Up the Installation Directory}{4}{4}{5}{61}
\subsecentry {When Something Goes Wrong}{4}{4}{6}{61}
\secentry {Distributed Memory Parallel Implementation of KLIC}{4}{5}{62}
\subsecentry {Installation of Distributed KLIC}{4}{5}{1}{62}
\subsecentry {Compiling Programs for Distributed KLIC}{4}{5}{2}{62}
\subsecentry {Running Programs of Distributed KLIC}{4}{5}{3}{62}
\subsubsecentry{Setting Up PVM} {4}{5}{3}{1} {63}
\subsubsecentry{Runtime Options for Distributed KLIC} {4}{5}{3}{2} {63}
\subsubsecentry{Known Bugs of Distributed KLIC} {4}{5}{3}{3} {64}
\secentry {Shared-Memory Implementation of KLIC}{4}{6}{64}
\subsecentry {Installation of Shared-Memory KLIC}{4}{6}{1}{64}
\subsecentry {Compiling Programs for Shared-Memory KLIC}{4}{6}{2}{64}
\subsecentry {Running Programs of Shared-Memory KLIC}{4}{6}{3}{64}
\subsubsecentry{Runtime Options for Shared-MemoryKLIC} {4}{6}{3}{1} {64}
\subsubsecentry{Known Bugs of Shared-Memory KLIC} {4}{6}{3}{2} {64}
\unnumbchapentry{Data Type Index}{65}
\unnumbchapentry{Predicate, Method and Message Index}{66}
\unnumbchapentry{Module Index}{71}
\unnumbchapentry{Concept Index}{72}
|