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 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868
|
\chapter{Summary} \label{sec:summary}
% Required Macros:
%
% environment `summarylist' to embrace a summary list
%
% \predicatesummary{Name}{Arity}{Summary}
% \oppredsummary{Name}{Arity}{Associativity}{Priority}{Summary}
% \functionsummary{Name}{Arity}{Summary}
% \opfuncsummary{Name}{Arity}{Associativity}{Priority}{Summary}
% \opsummary{Priority}{Associativity}{Name}{Function}
\section{Predicates} \label{sec:predsummary}
The predicate summary is used by the Prolog predicate apropos/1 to
suggest predicates from a keyword.
\begin{summarylist}{ll}
\predicatesummary{@}{2}{Call using calling context}
\predicatesummary{!}{0}{Cut (discard choicepoints)}
\oppredsummary{,}{2}{xfy}{1000}{Conjunction of goals}
\oppredsummary{->}{2}{xfy}{1050}{If-then-else}
\oppredsummary{*->}{2}{xfy}{1050}{Soft-cut}
\predicatesummary{.}{2}{Consult. Also functional notation}
\oppredsummary{:<}{2}{xfx}{700}{Select keys from a dict}
\oppredsummary{;}{2}{xfy}{1100}{Disjunction of two goals}
\oppredsummary{<}{2}{xfx}{700}{Arithmetic smaller}
\oppredsummary{=}{2}{xfx}{700}{True when arguments are unified}
\oppredsummary{=..}{2}{xfx}{700}{``Univ.'' Term to list conversion}
\oppredsummary{=:=}{2}{xfx}{700}{Arithmetic equality}
\oppredsummary{=<}{2}{xfx}{700}{Arithmetic smaller or equal}
\oppredsummary{==}{2}{xfx}{700}{Test for strict equality}
\oppredsummary{=@=}{2}{xfx}{700}{Test for structural equality (variant)}
\oppredsummary{=\=}{2}{xfx}{700}{Arithmetic not equal}
\oppredsummary{>}{2}{xfx}{700}{Arithmetic larger}
\oppredsummary{>=}{2}{xfx}{700}{Arithmetic larger or equal}
\oppredsummary{>:<}{2}{xfx}{700}{Partial dict unification}
\predicatesummary{?=}{2}{Test of terms can be compared now}
\oppredsummary{@<}{2}{xfx}{700}{Standard order smaller}
\oppredsummary{@=<}{2}{xfx}{700}{Standard order smaller or equal}
\oppredsummary{@>}{2}{xfx}{700}{Standard order larger}
\oppredsummary{@>=}{2}{xfx}{700}{Standard order larger or equal}
\oppredsummary{\+}{1}{fy}{900}{Negation by failure. Same as not/1}
\oppredsummary{\=}{2}{xfx}{700}{True if arguments cannot be unified}
\oppredsummary{\==}{2}{xfx}{700}{True if arguments are not strictly equal}
\oppredsummary{\=@=}{2}{xfx}{700}{Not structural identical}
\oppredsummary{^}{2}{xfy}{200}{Existential quantification (bagof/3, setof/3)}
\oppredsummary{|}{2}{xfy}{1105}{Disjunction in DCGs. Same as \predref{;}{2}}
\predicatesummary{{}}{1}{DCG escape; constraints}
\predicatesummary{abolish}{1}{Remove predicate definition from the database}
\predicatesummary{abolish}{2}{Remove predicate definition from the database}
\predicatesummary{abort}{0}{Abort execution, return to top level}
\predicatesummary{absolute_file_name}{2}{Get absolute path name}
\predicatesummary{absolute_file_name}{3}{Get absolute path name with options}
\predicatesummary{access_file}{2}{Check access permissions of a file}
\predicatesummary{acyclic_term}{1}{Test term for cycles}
\predicatesummary{add_import_module}{3}{Add module to the auto-import list}
\predicatesummary{add_nb_set}{2}{Add term to a non-backtrackable set}
\predicatesummary{add_nb_set}{3}{Add term to a non-backtrackable set}
\predicatesummary{append}{1}{Append to a file}
\predicatesummary{apply}{2}{Call goal with additional arguments}
\predicatesummary{apropos}{1}{\pllib{online_help} Search manual}
\predicatesummary{arg}{3}{Access argument of a term}
\predicatesummary{assoc_to_list}{2}{Convert association tree to list}
\predicatesummary{assert}{1}{Add a clause to the database}
\predicatesummary{assert}{2}{Add a clause to the database, give reference}
\predicatesummary{asserta}{1}{Add a clause to the database (first)}
\predicatesummary{asserta}{2}{Add a clause to the database (first)}
\predicatesummary{assertion}{1}{Make assertions about your program}
\predicatesummary{assertz}{1}{Add a clause to the database (last)}
\predicatesummary{assertz}{2}{Add a clause to the database (last)}
\predicatesummary{attach_console}{0}{Attach I/O console to thread}
\predicatesummary{attribute_goals}{3}{Project attributes to goals}
\predicatesummary{attr_unify_hook}{2}{Attributed variable unification hook}
\predicatesummary{attr_portray_hook}{2}{Attributed variable print hook}
\predicatesummary{attvar}{1}{Type test for attributed variable}
\predicatesummary{at_end_of_stream}{0}{Test for end of file on input}
\predicatesummary{at_end_of_stream}{1}{Test for end of file on stream}
\predicatesummary{at_halt}{1}{Register goal to run at halt/1}
\predicatesummary{atom}{1}{Type check for an atom}
\predicatesummary{atom_chars}{2}{Convert between atom and list of characters}
\predicatesummary{atom_codes}{2}{Convert between atom and list of characters codes}
\predicatesummary{atom_concat}{3}{Contatenate two atoms}
\predicatesummary{atom_length}{2}{Determine length of an atom}
\predicatesummary{atom_number}{2}{Convert between atom and number}
\predicatesummary{atom_prefix}{2}{Test for start of atom}
\predicatesummary{atom_string}{2}{Conversion between atom and string}
\predicatesummary{atom_to_term}{3}{Convert between atom and term}
\predicatesummary{atomic}{1}{Type check for primitive}
\predicatesummary{atomic_concat}{3}{Concatenate two atomic values to an atom}
\predicatesummary{atomic_list_concat}{2}{Append a list of atomics}
\predicatesummary{atomic_list_concat}{3}{Append a list of atomics with separator}
\predicatesummary{atomics_to_string}{2}{Concatenate list of inputs to a string}
\predicatesummary{atomics_to_string}{3}{Concatenate list of inputs to a string}
\predicatesummary{autoload}{0}{Autoload all predicates now}
\predicatesummary{autoload_path}{1}{Add directories for autoloading}
\predicatesummary{b_getval}{2}{Fetch backtrackable global variable}
\predicatesummary{b_set_dict}{3}{Destructive assignment on a dict}
\predicatesummary{b_setval}{2}{Assign backtrackable global variable}
\predicatesummary{bagof}{3}{Find all solutions to a goal}
\predicatesummary{between}{3}{Integer range checking/generating}
\predicatesummary{blob}{2}{Type check for a blob}
\predicatesummary{break}{0}{Start interactive top level}
\predicatesummary{break_hook}{6}{\hook{prolog} Debugger hook}
\predicatesummary{byte_count}{2}{Byte-position in a stream}
\predicatesummary{call}{1}{Call a goal}
\predicatesummary{call}{[2..]}{Call with additional arguments}
\predicatesummary{call_cleanup}{3}{Guard a goal with a cleaup-handler}
\predicatesummary{call_cleanup}{2}{Guard a goal with a cleaup-handler}
\predicatesummary{call_dcg}{3}{As phrase/3 without type checking}
\predicatesummary{call_residue_vars}{2}{Find residual attributed variables}
\predicatesummary{call_shared_object_function}{2}{UNIX: Call C-function in shared (.so) file}
\predicatesummary{call_with_depth_limit}{3}{Prove goal with bounded depth}
\predicatesummary{call_with_inference_limit}{3}{Prove goal in limited inferences}
\predicatesummary{callable}{1}{Test for atom or compound term}
\predicatesummary{cancel_halt}{1}{Cancel halt/0 from an at_halt/1 hook}
\predicatesummary{catch}{3}{Call goal, watching for exceptions}
\predicatesummary{char_code}{2}{Convert between character and character code}
\predicatesummary{char_conversion}{2}{Provide mapping of input characters}
\predicatesummary{char_type}{2}{Classify characters}
\predicatesummary{character_count}{2}{Get character index on a stream}
\predicatesummary{chdir}{1}{Compatibility: change working directory}
\predicatesummary{chr_constraint}{1}{CHR Constraint declaration}
\predicatesummary{chr_show_store}{1}{List suspended CHR constraints}
\predicatesummary{chr_trace}{0}{Start CHR tracer}
\predicatesummary{chr_type}{1}{CHR Type declaration}
\predicatesummary{chr_notrace}{0}{Stop CHR tracer}
\predicatesummary{chr_leash}{1}{Define CHR leashed ports}
\predicatesummary{chr_option}{2}{Specify CHR compilation options}
\predicatesummary{clause}{2}{Get clauses of a predicate}
\predicatesummary{clause}{3}{Get clauses of a predicate}
\predicatesummary{clause_property}{2}{Get properties of a clause}
\predicatesummary{close}{1}{Close stream}
\predicatesummary{close}{2}{Close stream (forced)}
\predicatesummary{close_dde_conversation}{1}{Win32: Close DDE channel}
\predicatesummary{close_shared_object}{1}{UNIX: Close shared library (.so file)}
\predicatesummary{collation_key}{2}{Sort key for locale dependent ordering}
\predicatesummary{comment_hook}{3}{\hook{prolog} handle comments in sources}
\predicatesummary{compare}{3}{Compare, using a predicate to determine the order}
\predicatesummary{compile_aux_clauses}{1}{Compile predicates for goal_expansion/2}
\predicatesummary{compile_predicates}{1}{Compile dynamic code to static}
\predicatesummary{compiling}{0}{Is this a compilation run?}
\predicatesummary{compound}{1}{Test for compound term}
\predicatesummary{compound_name_arity}{3}{Name and arity of a compound term}
\predicatesummary{compound_name_arguments}{3}{Name and arguments of a compound term}
\predicatesummary{code_type}{2}{Classify a character-code}
\predicatesummary{consult}{1}{Read (compile) a Prolog source file}
\predicatesummary{context_module}{1}{Get context module of current goal}
\predicatesummary{convert_time}{8}{Break time stamp into fields}
\predicatesummary{convert_time}{2}{Convert time stamp to string}
\predicatesummary{copy_stream_data}{2}{Copy all data from stream to stream}
\predicatesummary{copy_stream_data}{3}{Copy n bytes from stream to stream}
\predicatesummary{copy_predicate_clauses}{2}{Copy clauses between predicates}
\predicatesummary{copy_term}{2}{Make a copy of a term}
\predicatesummary{copy_term}{3}{Copy a term and obtain attribute-goals}
\predicatesummary{copy_term_nat}{2}{Make a copy of a term without attributes}
\predicatesummary{create_prolog_flag}{3}{Create a new Prolog flag}
\predicatesummary{current_arithmetic_function}{1}{Examine evaluable functions}
\predicatesummary{current_atom}{1}{Examine existing atoms}
\predicatesummary{current_blob}{2}{Examine typed blobs}
\predicatesummary{current_char_conversion}{2}{Query input character mapping}
\predicatesummary{current_flag}{1}{Examine existing flags}
\predicatesummary{current_foreign_library}{2}{\pllib{shlib} Examine loaded shared libraries (.so files)}
\predicatesummary{current_format_predicate}{2}{Enumerate user-defined format codes}
\predicatesummary{current_functor}{2}{Examine existing name/arity pairs}
\predicatesummary{current_input}{1}{Get current input stream}
\predicatesummary{current_key}{1}{Examine existing database keys}
\predicatesummary{current_locale}{1}{Get the current locale}
\predicatesummary{current_module}{1}{Examine existing modules}
\predicatesummary{current_op}{3}{Examine current operator declarations}
\predicatesummary{current_output}{1}{Get the current output stream}
\predicatesummary{current_predicate}{1}{Examine existing predicates (ISO)}
\predicatesummary{current_predicate}{2}{Examine existing predicates}
\predicatesummary{current_signal}{3}{Current software signal mapping}
\predicatesummary{current_stream}{3}{Examine open streams}
\predicatesummary{cyclic_term}{1}{Test term for cycles}
\predicatesummary{day_of_the_week}{2}{Determine ordinal-day from date}
\predicatesummary{date_time_stamp}{2}{Convert date structure to time-stamp}
\predicatesummary{date_time_value}{3}{Extract info from a date structure}
\predicatesummary{dcg_translate_rule}{2}{Source translation of DCG rules}
\predicatesummary{dcg_translate_rule}{4}{Source translation of DCG rules}
\predicatesummary{dde_current_connection}{2}{Win32: Examine open DDE connections}
\predicatesummary{dde_current_service}{2}{Win32: Examine DDE services provided}
\predicatesummary{dde_execute}{2}{Win32: Execute command on DDE server}
\predicatesummary{dde_register_service}{2}{Win32: Become a DDE server}
\predicatesummary{dde_request}{3}{Win32: Make a DDE request}
\predicatesummary{dde_poke}{3}{Win32: POKE operation on DDE server}
\predicatesummary{dde_unregister_service}{1}{Win32: Terminate a DDE service}
\predicatesummary{debug}{0}{Test for debugging mode}
\predicatesummary{debug}{1}{Select topic for debugging}
\predicatesummary{debug}{3}{Print debugging message on topic}
\predicatesummary{debug_control_hook}{1}{\hook{prolog} Extend spy/1, etc.}
\predicatesummary{debugging}{0}{Show debugger status}
\predicatesummary{debugging}{1}{Test where we are debugging topic}
\predicatesummary{default_module}{2}{Query module inheritance}
\predicatesummary{del_attr}{2}{Delete attribute from variable}
\predicatesummary{del_attrs}{1}{Delete all attributes from variable}
\predicatesummary{del_dict}{4}{Delete Key-Value pair from a dict}
\predicatesummary{delete_directory}{1}{Remove a folder from the file system}
\predicatesummary{delete_file}{1}{Remove a file from the file system}
\predicatesummary{delete_import_module}{2}{Remove module from import list}
\predicatesummary{deterministic}{1}{Test deterministicy of current clause}
\predicatesummary{dif}{2}{Constrain two terms to be different}
\predicatesummary{directory_files}{2}{Get entries of a directory/folder}
\oppredsummary{discontiguous}{1}{fx}{1150}{Indicate distributed definition of a predicate}
\predicatesummary{divmod}{4}{Compute quotient and remainder of two integers}
\predicatesummary{downcase_atom}{2}{Convert atom to lower-case}
\predicatesummary{duplicate_term}{2}{Create a copy of a term}
\predicatesummary{dwim_match}{2}{Atoms match in ``Do What I Mean'' sense}
\predicatesummary{dwim_match}{3}{Atoms match in ``Do What I Mean'' sense}
\predicatesummary{dwim_predicate}{2}{Find predicate in ``Do What I Mean'' sense}
\oppredsummary{dynamic}{1}{fx}{1150}{Indicate predicate definition may change}
\predicatesummary{edit}{0}{Edit current script- or associated file}
\predicatesummary{edit}{1}{Edit a file, predicate, module (extensible)}
\predicatesummary{elif}{1}{Part of conditional compilation (directive)}
\predicatesummary{else}{0}{Part of conditional compilation (directive)}
\predicatesummary{empty_assoc}{1}{Create/test empty association tree}
\predicatesummary{empty_nb_set}{1}{Test/create an empty non-backtrackable set}
\predicatesummary{encoding}{1}{Define encoding inside a source file}
\predicatesummary{endif}{0}{End of conditional compilation (directive)}
\predicatesummary{ensure_loaded}{1}{Consult a file if that has not yet been done}
\predicatesummary{erase}{1}{Erase a database record or clause}
\predicatesummary{eval_license}{0}{Evaluate licenses of loaded modules}
\predicatesummary{exception}{3}{\hook{user} Handle runtime exceptions}
\predicatesummary{exists_directory}{1}{Check existence of directory}
\predicatesummary{exists_file}{1}{Check existence of file}
\predicatesummary{exists_source}{1}{Check existence of a Prolog source}
\predicatesummary{expand_answer}{2}{Expand answer of query}
\predicatesummary{expand_file_name}{2}{Wildcard expansion of file names}
\predicatesummary{expand_file_search_path}{2}{Wildcard expansion of file paths}
\predicatesummary{expand_goal}{2}{Compiler: expand goal in clause-body}
\predicatesummary{expand_goal}{4}{Compiler: expand goal in clause-body}
\predicatesummary{expand_query}{4}{Expanded entered query}
\predicatesummary{expand_term}{2}{Compiler: expand read term into clause(s)}
\predicatesummary{expand_term}{4}{Compiler: expand read term into clause(s)}
\predicatesummary{expects_dialect}{1}{For which Prolog dialect is this code written?}
\predicatesummary{explain}{1}{\pllib{explain} Explain argument}
\predicatesummary{explain}{2}{\pllib{explain} 2nd argument is explanation of first}
\predicatesummary{export}{1}{Export a predicate from a module}
\predicatesummary{fail}{0}{Always false}
\predicatesummary{false}{0}{Always false}
\predicatesummary{current_prolog_flag}{2}{Get system configuration parameters}
\predicatesummary{file_base_name}{2}{Get file part of path}
\predicatesummary{file_directory_name}{2}{Get directory part of path}
\predicatesummary{file_name_extension}{3}{Add, remove or test file extensions}
\predicatesummary{file_search_path}{2}{Define path-aliases for locating files}
\predicatesummary{find_chr_constraint}{1}{Returns a constraint from the store}
\predicatesummary{findall}{3}{Find all solutions to a goal}
\predicatesummary{findall}{4}{Difference list version of findall/3}
\predicatesummary{findnsols}{4}{Find first \arg{N} solutions}
\predicatesummary{findnsols}{5}{Difference list version of findsols/4}
\predicatesummary{flag}{3}{Simple global variable system}
\predicatesummary{float}{1}{Type check for a floating point number}
\predicatesummary{flush_output}{0}{Output pending characters on current stream}
\predicatesummary{flush_output}{1}{Output pending characters on specified stream}
\predicatesummary{forall}{2}{Prove goal for all solutions of another goal}
\predicatesummary{format}{1}{Formatted output}
\predicatesummary{format}{2}{Formatted output with arguments}
\predicatesummary{format}{3}{Formatted output on a stream}
\predicatesummary{format_time}{3}{C strftime() like date/time formatter}
\predicatesummary{format_time}{4}{date/time formatter with explicit locale}
\predicatesummary{format_predicate}{2}{Program format/[1,2]}
\predicatesummary{term_attvars}{2}{Find attributed variables in a term}
\predicatesummary{term_variables}{2}{Find unbound variables in a term}
\predicatesummary{term_variables}{3}{Find unbound variables in a term}
\predicatesummary{text_to_string}{2}{Convert arbitrary text to a string}
\predicatesummary{freeze}{2}{Delay execution until variable is bound}
\predicatesummary{frozen}{2}{Query delayed goals on var}
\predicatesummary{functor}{3}{Get name and arity of a term or construct a term }
\predicatesummary{garbage_collect}{0}{Invoke the garbage collector}
\predicatesummary{garbage_collect_atoms}{0}{Invoke the atom garbage collector}
\predicatesummary{garbage_collect_clauses}{0}{Invoke clause garbage collector}
\predicatesummary{gen_assoc}{3}{Enumerate members of association tree}
\predicatesummary{gen_nb_set}{2}{Generate members of non-backtrackable set}
\predicatesummary{gensym}{2}{Generate unique atoms from a base}
\predicatesummary{get}{1}{Read first non-blank character}
\predicatesummary{get}{2}{Read first non-blank character from a stream}
\predicatesummary{get_assoc}{3}{Fetch key from association tree}
\predicatesummary{get_assoc}{5}{Fetch key from association tree}
\predicatesummary{get0}{1}{Read next character}
\predicatesummary{get0}{2}{Read next character from a stream}
\predicatesummary{get_attr}{3}{Fetch named attribute from a variable}
\predicatesummary{get_attrs}{2}{Fetch all attributes of a variable}
\predicatesummary{get_byte}{1}{Read next byte (ISO)}
\predicatesummary{get_byte}{2}{Read next byte from a stream (ISO)}
\predicatesummary{get_char}{1}{Read next character as an atom (ISO)}
\predicatesummary{get_char}{2}{Read next character from a stream (ISO)}
\predicatesummary{get_code}{1}{Read next character (ISO)}
\predicatesummary{get_code}{2}{Read next character from a stream (ISO)}
\predicatesummary{get_dict}{3}{Get the value associated to a key from a dict}
\predicatesummary{get_dict}{5}{Replace existing value in a dict}
\predicatesummary{get_single_char}{1}{Read next character from the terminal}
\predicatesummary{get_string_code}{3}{Get character code at index in string}
\predicatesummary{get_time}{1}{Get current time}
\predicatesummary{getenv}{2}{Get shell environment variable}
\predicatesummary{goal_expansion}{2}{Hook for macro-expanding goals}
\predicatesummary{goal_expansion}{4}{Hook for macro-expanding goals}
\predicatesummary{ground}{1}{Verify term holds no unbound variables}
\predicatesummary{gdebug}{0}{Debug using graphical tracer}
\predicatesummary{gspy}{1}{Spy using graphical tracer}
\predicatesummary{gtrace}{0}{Trace using graphical tracer}
\predicatesummary{guitracer}{0}{Install hooks for the graphical debugger}
\predicatesummary{gxref}{0}{Cross-reference loaded program}
\predicatesummary{halt}{0}{Exit from Prolog}
\predicatesummary{halt}{1}{Exit from Prolog with status}
\predicatesummary{term_hash}{2}{Hash-value of ground term}
\predicatesummary{term_hash}{4}{Hash-value of term with depth limit}
\predicatesummary{help}{0}{Give help on help}
\predicatesummary{help}{1}{Give help on predicates and show parts of manual}
\predicatesummary{help_hook}{1}{\hook{prolog} User-hook in the help-system}
\predicatesummary{if}{1}{Start conditional compilation (directive)}
\predicatesummary{ignore}{1}{Call the argument, but always succeed}
\predicatesummary{import}{1}{Import a predicate from a module}
\predicatesummary{import_module}{2}{Query import modules}
\predicatesummary{in_pce_thread}{1}{Run goal in XPCE thread}
\predicatesummary{in_pce_thread_sync}{1}{Run goal in XPCE thread}
\predicatesummary{include}{1}{Include a file with declarations}
\predicatesummary{initialization}{1}{Initialization directive}
\predicatesummary{initialization}{2}{Initialization directive}
\predicatesummary{instance}{2}{Fetch clause or record from reference}
\predicatesummary{integer}{1}{Type check for integer}
\predicatesummary{interactor}{0}{Start new thread with console and top level}
\oppredsummary{is}{2}{xfx}{700}{Evaluate arithmetic expression}
\predicatesummary{is_absolute_file_name}{1}{True if arg defines an absolute path}
\predicatesummary{is_assoc}{1}{Verify association list}
\predicatesummary{is_list}{1}{Type check for a list}
\predicatesummary{is_dict}{1}{Type check for a dict}
\predicatesummary{is_dict}{2}{Type check for a dict in a class}
\predicatesummary{is_stream}{1}{Type check for a stream handle}
\predicatesummary{join_threads}{0}{Join all terminated threads interactively}
\predicatesummary{keysort}{2}{Sort, using a key}
\predicatesummary{last}{2}{Last element of a list}
\predicatesummary{leash}{1}{Change ports visited by the tracer}
\predicatesummary{length}{2}{Length of a list}
\predicatesummary{library_directory}{1}{\hook{user} Directories holding Prolog libraries}
\predicatesummary{license}{1}{Define license for current file}
\predicatesummary{license}{2}{Define license for named module}
\predicatesummary{line_count}{2}{Line number on stream}
\predicatesummary{line_position}{2}{Character position in line on stream}
\predicatesummary{list_debug_topics}{0}{List registered topics for debugging}
\predicatesummary{list_to_assoc}{2}{Create association tree from list}
\predicatesummary{list_to_set}{2}{Remove duplicates from a list}
\predicatesummary{list_strings}{0}{Help porting to version 7}
\predicatesummary{listing}{0}{List program in current module}
\predicatesummary{listing}{1}{List predicate}
\predicatesummary{load_files}{1}{Load source files}
\predicatesummary{load_files}{2}{Load source files with options}
\predicatesummary{load_foreign_library}{1}{\pllib{shlib} Load shared library (.so file)}
\predicatesummary{load_foreign_library}{2}{\pllib{shlib} Load shared library (.so file)}
\predicatesummary{locale_create}{3}{Create a new locale object}
\predicatesummary{locale_destroy}{1}{Destroy a locale object}
\predicatesummary{locale_property}{2}{Query properties of locale objects}
\predicatesummary{locale_sort}{2}{Language dependent sort of atoms}
\predicatesummary{make}{0}{Reconsult all changed source files}
\predicatesummary{make_directory}{1}{Create a folder on the file system}
\predicatesummary{make_library_index}{1}{Create autoload file INDEX.pl}
\predicatesummary{make_library_index}{2}{Create selective autoload file INDEX.pl}
\predicatesummary{map_assoc}{2}{Map association tree}
\predicatesummary{map_assoc}{3}{Map association tree}
\predicatesummary{dict_create}{3}{Create a dict from data}
\predicatesummary{dict_pairs}{3}{Convert between dict and list of pairs}
\predicatesummary{max_assoc}{3}{Highest key in association tree}
\predicatesummary{memberchk}{2}{Deterministic member/2}
\predicatesummary{message_hook}{3}{Intercept print_message/2}
\predicatesummary{message_line_element}{2}{\hook{prolog} Intercept print_message_lines/3}
\predicatesummary{message_property}{2}{\hook{user} Define display of a message}
\predicatesummary{message_queue_create}{1}{Create queue for thread communication}
\predicatesummary{message_queue_create}{2}{Create queue for thread communication}
\predicatesummary{message_queue_destroy}{1}{Destroy queue for thread communication}
\predicatesummary{message_queue_property}{2}{Query message queue properties}
\predicatesummary{message_to_string}{2}{Translate message-term to string}
\predicatesummary{meta_predicate}{1}{Declare access to other predicates}
\predicatesummary{min_assoc}{3}{Lowest key in association tree}
\predicatesummary{module}{1}{Query/set current type-in module}
\predicatesummary{module}{2}{Declare a module}
\predicatesummary{module}{3}{Declare a module with language options}
\predicatesummary{module_property}{2}{Find properties of a module}
\oppredsummary{module_transparent}{1}{fx}{1150}{Indicate module based meta-predicate}
\predicatesummary{msort}{2}{Sort, do not remove duplicates}
\oppredsummary{multifile}{1}{fx}{1150}{Indicate distributed definition of predicate}
\predicatesummary{mutex_create}{1}{Create a thread-synchronisation device}
\predicatesummary{mutex_create}{2}{Create a thread-synchronisation device}
\predicatesummary{mutex_destroy}{1}{Destroy a mutex}
\predicatesummary{mutex_lock}{1}{Become owner of a mutex}
\predicatesummary{mutex_property}{2}{Query mutex properties}
\predicatesummary{mutex_statistics}{0}{Print statistics on mutex usage}
\predicatesummary{mutex_trylock}{1}{Become owner of a mutex (non-blocking)}
\predicatesummary{mutex_unlock}{1}{Release ownership of mutex}
\predicatesummary{mutex_unlock_all}{0}{Release ownership of all mutexes}
\predicatesummary{name}{2}{Convert between atom and list of character codes}
\predicatesummary{nb_current}{2}{Enumerate non-backtrackable global variables}
\predicatesummary{nb_delete}{1}{Delete a non-backtrackable global variable}
\predicatesummary{nb_getval}{2}{Fetch non-backtrackable global variable}
\predicatesummary{nb_link_dict}{3}{Non-backtrackable assignment to dict}
\predicatesummary{nb_linkarg}{3}{Non-backtrackable assignment to term}
\predicatesummary{nb_linkval}{2}{Assign non-backtrackable global variable}
\predicatesummary{nb_set_to_list}{2}{Convert non-backtrackable set to list}
\predicatesummary{nb_set_dict}{3}{Non-backtrackable assignment to dict}
\predicatesummary{nb_setarg}{3}{Non-backtrackable assignment to term}
\predicatesummary{nb_setval}{2}{Assign non-backtrackable global variable}
\predicatesummary{nl}{0}{Generate a newline}
\predicatesummary{nl}{1}{Generate a newline on a stream}
\predicatesummary{nodebug}{0}{Disable debugging}
\predicatesummary{nodebug}{1}{Disable debug-topic}
\predicatesummary{noguitracer}{0}{Disable the graphical debugger}
\predicatesummary{nonvar}{1}{Type check for bound term}
\predicatesummary{noprofile}{1}{Hide (meta-) predicate for the profiler}
\predicatesummary{noprotocol}{0}{Disable logging of user interaction}
\predicatesummary{normalize_space}{2}{Normalize white space}
\predicatesummary{nospy}{1}{Remove spy point}
\predicatesummary{nospyall}{0}{Remove all spy points}
\oppredsummary{not}{1}{fy}{900}{Negation by failure (argument not provable). Same as \predref{\+}{1}}
\predicatesummary{notrace}{0}{Stop tracing}
\predicatesummary{notrace}{1}{Do not debug argument goal}
\predicatesummary{nth_clause}{3}{N-th clause of a predicate}
\predicatesummary{nth_integer_root_and_remainder}{4}{Integer root and remainder}
\predicatesummary{number}{1}{Type check for integer or float}
\predicatesummary{number_chars}{2}{Convert between number and one-char atoms}
\predicatesummary{number_codes}{2}{Convert between number and character codes}
\predicatesummary{number_string}{2}{Convert between number and string}
\predicatesummary{numbervars}{3}{Number unbound variables of a term}
\predicatesummary{numbervars}{4}{Number unbound variables of a term}
\predicatesummary{on_signal}{3}{Handle a software signal}
\predicatesummary{once}{1}{Call a goal deterministically}
\predicatesummary{op}{3}{Declare an operator}
\predicatesummary{open}{3}{Open a file (creating a stream)}
\predicatesummary{open}{4}{Open a file (creating a stream)}
\predicatesummary{open_dde_conversation}{3}{Win32: Open DDE channel}
\predicatesummary{open_null_stream}{1}{Open a stream to discard output}
\predicatesummary{open_resource}{3}{Open a program resource as a stream}
\predicatesummary{open_shared_object}{2}{UNIX: Open shared library (.so file)}
\predicatesummary{open_shared_object}{3}{UNIX: Open shared library (.so file)}
\predicatesummary{open_string}{2}{Open a string as a stream}
\predicatesummary{ord_list_to_assoc}{2}{Convert ordered list to assoc}
\predicatesummary{parse_time}{2}{Parse text to a time-stamp}
\predicatesummary{parse_time}{3}{Parse text to a time-stamp}
\predicatesummary{pce_dispatch}{1}{Run XPCE GUI in separate thread}
\predicatesummary{pce_call}{1}{Run goal in XPCE GUI thread}
\predicatesummary{peek_byte}{1}{Read byte without removing}
\predicatesummary{peek_byte}{2}{Read byte without removing}
\predicatesummary{peek_char}{1}{Read character without removing}
\predicatesummary{peek_char}{2}{Read character without removing}
\predicatesummary{peek_code}{1}{Read character-code without removing}
\predicatesummary{peek_code}{2}{Read character-code without removing}
\predicatesummary{peek_string}{3}{Read a string without removing}
\predicatesummary{phrase}{2}{Activate grammar-rule set}
\predicatesummary{phrase}{3}{Activate grammar-rule set (returning rest)}
\predicatesummary{phrase_from_quasi_quotation}{2}{Parse quasi quotation with DCG}
\predicatesummary{please}{3}{Query/change environment parameters}
\predicatesummary{plus}{3}{Logical integer addition}
\predicatesummary{portray}{1}{\hook{user} Modify behaviour of print/1}
\predicatesummary{portray_clause}{1}{Pretty print a clause}
\predicatesummary{portray_clause}{2}{Pretty print a clause to a stream}
\predicatesummary{predicate_property}{2}{Query predicate attributes}
\predicatesummary{predsort}{3}{Sort, using a predicate to determine the order}
\predicatesummary{print}{1}{Print a term}
\predicatesummary{print}{2}{Print a term on a stream}
\predicatesummary{print_message}{2}{Print message from (exception) term}
\predicatesummary{print_message_lines}{3}{Print message to stream}
\predicatesummary{profile}{1}{Obtain execution statistics}
\predicatesummary{profile}{2}{Obtain execution statistics}
\predicatesummary{profile_count}{3}{Obtain profile results on a predicate}
\predicatesummary{profiler}{2}{Obtain/change status of the profiler}
\predicatesummary{prolog}{0}{Run interactive top level}
\predicatesummary{prolog_choice_attribute}{3}{Examine the choice point stack}
\predicatesummary{prolog_current_choice}{1}{Reference to most recent choice point}
\predicatesummary{prolog_current_frame}{1}{Reference to goal's environment stack}
\predicatesummary{prolog_cut_to}{1}{Realise global cuts}
\predicatesummary{prolog_edit:locate}{2}{Locate targets for edit/1}
\predicatesummary{prolog_edit:locate}{3}{Locate targets for edit/1}
\predicatesummary{prolog_edit:edit_source}{1}{Call editor for edit/1}
\predicatesummary{prolog_edit:edit_command}{2}{Specify editor activation}
\predicatesummary{prolog_edit:load}{0}{Load edit/1 extensions}
\predicatesummary{prolog_exception_hook}{4}{Rewrite exceptions}
\predicatesummary{prolog_file_type}{2}{Define meaning of file extension}
\predicatesummary{prolog_frame_attribute}{3}{Obtain information on a goal environment}
\predicatesummary{prolog_ide}{1}{Program access to the development environment}
\predicatesummary{prolog_list_goal}{1}{\hook{user} Intercept tracer 'L' command}
\predicatesummary{prolog_load_context}{2}{Context information for directives}
\predicatesummary{prolog_load_file}{2}{\hook{user} Program load_files/2}
\predicatesummary{prolog_skip_level}{2}{Indicate deepest recursion to trace}
\predicatesummary{prolog_skip_frame}{1}{Perform `skip' on a frame}
\predicatesummary{prolog_stack_property}{2}{Query properties of the stacks}
\predicatesummary{prolog_to_os_filename}{2}{Convert between Prolog and OS filenames}
\predicatesummary{prolog_trace_interception}{4}{\pllib{user} Intercept the Prolog tracer}
\predicatesummary{project_attributes}{2}{Project constraints to query variables}
\predicatesummary{prompt1}{1}{Change prompt for 1 line}
\predicatesummary{prompt}{2}{Change the prompt used by read/1}
\predicatesummary{protocol}{1}{Make a log of the user interaction}
\predicatesummary{protocola}{1}{Append log of the user interaction to file}
\predicatesummary{protocolling}{1}{On what file is user interaction logged}
\predicatesummary{public}{1}{Declaration that a predicate may be called}
\predicatesummary{put}{1}{Write a character}
\predicatesummary{put}{2}{Write a character on a stream}
\predicatesummary{put_assoc}{4}{Add Key-Value to association tree}
\predicatesummary{put_attr}{3}{Put attribute on a variable}
\predicatesummary{put_attrs}{2}{Set/replace all attributes on a variable}
\predicatesummary{put_byte}{1}{Write a byte}
\predicatesummary{put_byte}{2}{Write a byte on a stream}
\predicatesummary{put_char}{1}{Write a character}
\predicatesummary{put_char}{2}{Write a character on a stream}
\predicatesummary{put_code}{1}{Write a character-code}
\predicatesummary{put_code}{2}{Write a character-code on a stream}
\predicatesummary{put_dict}{3}{Add/replace multiple keys in a dict}
\predicatesummary{put_dict}{4}{Add/replace a single key in a dict}
\predicatesummary{qcompile}{1}{Compile source to Quick Load File}
\predicatesummary{qcompile}{2}{Compile source to Quick Load File}
\predicatesummary{qsave_program}{1}{Create runtime application}
\predicatesummary{qsave_program}{2}{Create runtime application}
\predicatesummary{quasi_quotation_syntax}{1}{Declare quasi quotation syntax}
\predicatesummary{quasi_quotation_syntax_error}{1}{Raise syntax error}
\predicatesummary{random_property}{1}{Query properties of random generation}
\predicatesummary{rational}{1}{Type check for a rational number}
\predicatesummary{rational}{3}{Decompose a rational}
\predicatesummary{read}{1}{Read Prolog term}
\predicatesummary{read}{2}{Read Prolog term from stream}
\predicatesummary{read_clause}{3}{Read clause from stream}
\predicatesummary{read_history}{6}{Read using history substitution}
\predicatesummary{read_link}{3}{Read a symbolic link}
\predicatesummary{read_pending_input}{3}{Fetch buffered input from a stream}
\predicatesummary{read_string}{3}{Read a number of characters into a string}
\predicatesummary{read_string}{5}{Read string upto a delimiter}
\predicatesummary{read_term}{2}{Read term with options}
\predicatesummary{read_term}{3}{Read term with options from stream}
\predicatesummary{read_term_from_atom}{3}{Read term with options from atom}
\predicatesummary{recorda}{2}{Record term in the database (first)}
\predicatesummary{recorda}{3}{Record term in the database (first)}
\predicatesummary{recorded}{2}{Obtain term from the database}
\predicatesummary{recorded}{3}{Obtain term from the database}
\predicatesummary{recordz}{2}{Record term in the database (last)}
\predicatesummary{recordz}{3}{Record term in the database (last)}
\predicatesummary{redefine_system_predicate}{1}{Abolish system definition}
\predicatesummary{reexport}{1}{Load files and re-export the imported predicates}
\predicatesummary{reexport}{2}{Load predicates from a file and re-export it}
\predicatesummary{reload_foreign_libraries}{0}{Reload DLLs/shared objects}
\predicatesummary{reload_library_index}{0}{Force reloading the autoload index}
\predicatesummary{rename_file}{2}{Change name of file}
\predicatesummary{repeat}{0}{Succeed, leaving infinite backtrack points}
\predicatesummary{require}{1}{This file requires these predicates}
\predicatesummary{reset_gensym}{1}{Reset a gensym key}
\predicatesummary{reset_gensym}{0}{Reset all gensym keys}
\predicatesummary{reset_profiler}{0}{Clear statistics obtained by the profiler}
\predicatesummary{resource}{3}{Declare a program resource}
\predicatesummary{retract}{1}{Remove clause from the database}
\predicatesummary{retractall}{1}{Remove unifying clauses from the database}
\predicatesummary{same_file}{2}{Succeeds if arguments refer to same file}
\predicatesummary{same_term}{2}{Test terms to be at the same address}
\predicatesummary{see}{1}{Change the current input stream}
\predicatesummary{seeing}{1}{Query the current input stream}
\predicatesummary{seek}{4}{Modify the current position in a stream}
\predicatesummary{seen}{0}{Close the current input stream}
\predicatesummary{select_dict}{2}{Select matching attributes from a dict}
\predicatesummary{select_dict}{3}{Select matching attributes from a dict}
\predicatesummary{set_end_of_stream}{1}{Set physical end of an open file}
\predicatesummary{set_input}{1}{Set current input stream from a stream}
\predicatesummary{set_locale}{1}{Set the default local}
\predicatesummary{set_module}{1}{Set properties of a module}
\predicatesummary{set_output}{1}{Set current output stream from a stream}
\predicatesummary{set_prolog_IO}{3}{Prepare streams for interactive session}
\predicatesummary{set_prolog_flag}{2}{Define a system feature}
\predicatesummary{set_prolog_stack}{2}{Modify stack characteristics}
\predicatesummary{set_random}{1}{Control random number generation}
\predicatesummary{set_stream}{2}{Set stream attribute}
\predicatesummary{set_stream_position}{2}{Seek stream to position}
\predicatesummary{setup_call_cleanup}{3}{Undo side-effects safely}
\predicatesummary{setup_call_catcher_cleanup}{4}{Undo side-effects safely}
\predicatesummary{setarg}{3}{Destructive assignment on term}
\predicatesummary{setenv}{2}{Set shell environment variable}
\predicatesummary{setlocale}{3}{Set/query C-library regional information}
\predicatesummary{setof}{3}{Find all unique solutions to a goal}
\predicatesummary{shell}{0}{Execute interactive subshell}
\predicatesummary{shell}{1}{Execute OS command}
\predicatesummary{shell}{2}{Execute OS command}
\predicatesummary{show_profile}{1}{Show results of the profiler}
\predicatesummary{size_file}{2}{Get size of a file in characters}
\predicatesummary{size_nb_set}{2}{Determine size of non-backtrackable set}
\predicatesummary{skip}{1}{Skip to character in current input}
\predicatesummary{skip}{2}{Skip to character on stream}
\predicatesummary{rl_add_history}{1}{Add line to readline(3) history}
\predicatesummary{rl_read_history}{1}{Read readline(3) history}
\predicatesummary{rl_read_init_file}{1}{Read readline(3) init file}
\predicatesummary{rl_write_history}{1}{Write readline(3) history}
\predicatesummary{sleep}{1}{Suspend execution for specified time}
\predicatesummary{sort}{2}{Sort elements in a list}
\predicatesummary{sort}{4}{Sort elements in a list}
\predicatesummary{source_exports}{2}{Check whether source exports a predicate}
\predicatesummary{source_file}{1}{Examine currently loaded source files}
\predicatesummary{source_file}{2}{Obtain source file of predicate}
\predicatesummary{source_file_property}{2}{Information about loaded files}
\predicatesummary{source_location}{2}{Location of last read term}
\predicatesummary{split_string}{4}{Break a string into substrings}
\predicatesummary{spy}{1}{Force tracer on specified predicate}
\predicatesummary{stamp_date_time}{3}{Convert time-stamp to date structure}
\predicatesummary{statistics}{0}{Show execution statistics}
\predicatesummary{statistics}{2}{Obtain collected statistics}
\predicatesummary{stream_pair}{3}{Create/examine a bi-directional stream}
\predicatesummary{stream_position_data}{3}{Access fields from stream position}
\predicatesummary{stream_property}{2}{Get stream properties}
\predicatesummary{string}{1}{Type check for string}
\predicatesummary{string_concat}{3}{atom_concat/3 for strings}
\predicatesummary{string_length}{2}{Determine length of a string}
\predicatesummary{string_chars}{2}{Conversion between string and list of characters}
\predicatesummary{string_codes}{2}{Conversion between string and list of character codes}
\predicatesummary{string_code}{3}{Get or find a character code in a string}
\predicatesummary{string_lower}{2}{Case conversion to lower case}
\predicatesummary{string_upper}{2}{Case conversion to upper case}
\predicatesummary{string_predicate}{1}{\hook{check} Predicate contains strings}
\predicatesummary{strip_module}{3}{Extract context module and term}
\predicatesummary{style_check}{1}{Change level of warnings}
\predicatesummary{sub_atom}{5}{Take a substring from an atom}
\predicatesummary{sub_atom_icasechk}{3}{Case insensitive substring match}
\predicatesummary{sub_string}{5}{Take a substring from a string}
\predicatesummary{subsumes_term}{2}{One-sided unification test}
\predicatesummary{succ}{2}{Logical integer successor relation}
\predicatesummary{swritef}{2}{Formatted write on a string}
\predicatesummary{swritef}{3}{Formatted write on a string}
\predicatesummary{tab}{1}{Output number of spaces}
\predicatesummary{tab}{2}{Output number of spaces on a stream}
\predicatesummary{tdebug}{0}{Switch all threads into debug mode}
\predicatesummary{tdebug}{1}{Switch a thread into debug mode}
\predicatesummary{tell}{1}{Change current output stream}
\predicatesummary{telling}{1}{Query current output stream}
\predicatesummary{term_expansion}{2}{\hook{user} Convert term before compilation}
\predicatesummary{term_expansion}{4}{\hook{user} Convert term before compilation}
\predicatesummary{term_string}{2}{Read/write a term from/to a string}
\predicatesummary{term_string}{3}{Read/write a term from/to a string}
\predicatesummary{term_subsumer}{3}{Most specific generalization of two terms}
\predicatesummary{term_to_atom}{2}{Convert between term and atom}
\predicatesummary{thread_at_exit}{1}{Register goal to be called at exit}
\predicatesummary{thread_create}{3}{Create a new Prolog task}
\predicatesummary{thread_detach}{1}{Make thread cleanup after completion}
\predicatesummary{thread_exit}{1}{Terminate Prolog task with value}
\predicatesummary{thread_get_message}{1}{Wait for message}
\predicatesummary{thread_get_message}{2}{Wait for message in a queue}
\predicatesummary{thread_get_message}{3}{Wait for message in a queue}
\predicatesummary{thread_initialization}{1}{Run action at start of thread}
\predicatesummary{thread_join}{2}{Wait for Prolog task-completion}
\predicatesummary{thread_local}{1}{Declare thread-specific clauses for a predicate}
\predicatesummary{thread_message_hook}{3}{Thread local message_hook/3}
\predicatesummary{thread_peek_message}{1}{Test for message}
\predicatesummary{thread_peek_message}{2}{Test for message in a queue}
\predicatesummary{thread_property}{2}{Examine Prolog threads}
\predicatesummary{thread_self}{1}{Get identifier of current thread}
\predicatesummary{thread_send_message}{2}{Send message to another thread}
\predicatesummary{thread_send_message}{3}{Send message to another thread}
\predicatesummary{thread_setconcurrency}{2}{Number of active threads}
\predicatesummary{thread_signal}{2}{Execute goal in another thread}
\predicatesummary{thread_statistics}{3}{Get statistics of another thread}
\predicatesummary{threads}{0}{List running threads}
\predicatesummary{throw}{1}{Raise an exception (see catch/3)}
\predicatesummary{time}{1}{Determine time needed to execute goal}
\predicatesummary{time_file}{2}{Get last modification time of file}
\predicatesummary{tmp_file}{2}{Create a temporary filename}
\predicatesummary{tmp_file_stream}{3}{Create a temporary file and open it}
\predicatesummary{tnodebug}{0}{Switch off debug mode in all threads}
\predicatesummary{tnodebug}{1}{Switch off debug mode in a thread}
\predicatesummary{told}{0}{Close current output}
\predicatesummary{tprofile}{1}{Profile a thread for some period}
\predicatesummary{trace}{0}{Start the tracer}
\predicatesummary{trace}{1}{Set trace point on predicate}
\predicatesummary{trace}{2}{Set/Clear trace point on ports}
\predicatesummary{tracing}{0}{Query status of the tracer}
\predicatesummary{trim_stacks}{0}{Release unused memory resources}
\predicatesummary{true}{0}{Succeed}
\predicatesummary{tspy}{1}{Set spy point and enable debugging in all threads}
\predicatesummary{tspy}{2}{Set spy point and enable debugging in a thread}
\predicatesummary{tty_get_capability}{3}{Get terminal parameter}
\predicatesummary{tty_goto}{2}{Goto position on screen}
\predicatesummary{tty_put}{2}{Write control string to terminal}
\predicatesummary{tty_size}{2}{Get row/column size of the terminal}
\predicatesummary{ttyflush}{0}{Flush output on terminal}
\predicatesummary{unify_with_occurs_check}{2}{Logically sound unification}
\predicatesummary{unifiable}{3}{Determining binding required for unification}
\predicatesummary{unix}{1}{OS interaction}
\predicatesummary{unknown}{2}{Trap undefined predicates}
\predicatesummary{unload_file}{1}{Unload a source file}
\predicatesummary{unload_foreign_library}{1}{\pllib{shlib} Detach shared library (.so file)}
\predicatesummary{unload_foreign_library}{2}{\pllib{shlib} Detach shared library (.so file)}
\predicatesummary{unsetenv}{1}{Delete shell environment variable}
\predicatesummary{upcase_atom}{2}{Convert atom to upper-case}
\predicatesummary{use_foreign_library}{1}{Load DLL/shared object (directive)}
\predicatesummary{use_foreign_library}{2}{Load DLL/shared object (directive)}
\predicatesummary{use_module}{1}{Import a module}
\predicatesummary{use_module}{2}{Import predicates from a module}
\predicatesummary{valid_string_goal}{1}{\hook{check} Goal handles strings}
\predicatesummary{var}{1}{Type check for unbound variable}
\predicatesummary{var_number}{2}{Check that var is numbered by numbervars}
\predicatesummary{var_property}{2}{Variable properties during macro expansion}
\predicatesummary{variant_sha1}{2}{Term-hash for term-variants}
\predicatesummary{version}{0}{Print system banner message}
\predicatesummary{version}{1}{Add messages to the system banner}
\predicatesummary{visible}{1}{Ports that are visible in the tracer}
\oppredsummary{volatile}{1}{fx}{1150}{Predicates that are not saved}
\predicatesummary{wait_for_input}{3}{Wait for input with optional timeout}
\predicatesummary{when}{2}{Execute goal when condition becomes true}
\predicatesummary{wildcard_match}{2}{Csh(1) style wildcard match}
\predicatesummary{win_add_dll_directory}{1}{Add directory to DLL search path}
\predicatesummary{win_add_dll_directory}{2}{Add directory to DLL search path}
\predicatesummary{win_remove_dll_directory}{1}{Remove directory from DLL search path}
\predicatesummary{win_exec}{2}{Win32: spawn Windows task}
\predicatesummary{win_has_menu}{0}{Win32: true if console menu is available}
\predicatesummary{win_folder}{2}{Win32: get special folder by CSIDL}
\predicatesummary{win_insert_menu}{2}{swipl-win.exe: add menu}
\predicatesummary{win_insert_menu_item}{4}{swipl-win.exe: add item to menu}
\predicatesummary{win_shell}{2}{Win32: open document through Shell}
\predicatesummary{win_shell}{3}{Win32: open document through Shell}
\predicatesummary{win_registry_get_value}{3}{Win32: get registry value}
\predicatesummary{win_window_pos}{1}{Win32: change size and position of window}
\predicatesummary{window_title}{2}{Win32: change title of window}
\predicatesummary{with_mutex}{2}{Run goal while holding mutex}
\predicatesummary{with_output_to}{2}{Write to strings and more}
\predicatesummary{with_quasi_quotation_input}{3}{Parse quasi quotation from stream}
\predicatesummary{working_directory}{2}{Query/change CWD}
\predicatesummary{write}{1}{Write term}
\predicatesummary{write}{2}{Write term to stream}
\predicatesummary{writeln}{1}{Write term, followed by a newline}
\predicatesummary{writeln}{2}{Write term, followed by a newline to a stream}
\predicatesummary{write_canonical}{1}{Write a term with quotes, ignore operators}
\predicatesummary{write_canonical}{2}{Write a term with quotes, ignore operators on a stream}
\predicatesummary{write_length}{3}{Dermine \#characters to output a term}
\predicatesummary{write_term}{2}{Write term with options}
\predicatesummary{write_term}{3}{Write term with options to stream}
\predicatesummary{writef}{1}{Formatted write}
\predicatesummary{writef}{2}{Formatted write on stream}
\predicatesummary{writeq}{1}{Write term, insert quotes}
\predicatesummary{writeq}{2}{Write term, insert quotes on stream}
\end{summarylist}
\input{lib/libsummary.tex}
\pagebreak
\section{Arithmetic Functions} \label{sec:funcsummary}
\begin{summarylist}{ll}
\opfuncsummary{*}{2}{yfx}{400}{Multiplication}
\opfuncsummary{**}{2}{xfx}{200}{Power function}
\opfuncsummary{+}{1}{fx}{500}{Unary plus (No-op)}
\opfuncsummary{+}{2}{yfx}{500}{Addition}
\opfuncsummary{-}{1}{fx}{500}{Unary minus}
\opfuncsummary{-}{2}{yfx}{500}{Subtraction}
\opfuncsummary{/}{2}{yfx}{400}{Division}
\opfuncsummary{//}{2}{yfx}{400}{Integer division}
\opfuncsummary{/\}{2}{yfx}{500}{Bitwise and}
\opfuncsummary{<<}{2}{yfx}{400}{Bitwise left shift}
\opfuncsummary{>>}{2}{yfx}{400}{Bitwise right shift}
\functionsummary{.}{2}{List of one character: character code}
\opfuncsummary{\}{1}{fx}{500}{Bitwise negation}
\opfuncsummary{\/}{2}{yfx}{500}{Bitwise or}
\opfuncsummary{^}{2}{xfy}{200}{Power function}
\functionsummary{abs}{1}{Absolute value}
\functionsummary{acos}{1}{Inverse (arc) cosine}
\functionsummary{acosh}{1}{Inverse hyperbolic cosine}
\functionsummary{asin}{1}{Inverse (arc) sine}
\functionsummary{asinh}{1}{Inverse (arc) sine}
\functionsummary{atan}{1}{Inverse hyperbolic sine}
\functionsummary{atan}{2}{Rectangular to polar conversion}
\functionsummary{atanh}{1}{Inverse hyperbolic tangent}
\functionsummary{atan2}{2}{Rectangular to polar conversion}
\functionsummary{ceil}{1}{Smallest integer larger than arg}
\functionsummary{ceiling}{1}{Smallest integer larger than arg}
\functionsummary{cos}{1}{Cosine}
\functionsummary{cosh}{1}{Hyperbolic cosine}
\functionsummary{copysign}{2}{Apply sign of N2 to N1}
\functionsummary{cputime}{0}{Get CPU time}
\functionsummary{div}{2}{Integer division}
\functionsummary{e}{0}{Mathematical constant}
\functionsummary{erf}{1}{Gauss error function}
\functionsummary{erfc}{1}{Complementary error function}
\functionsummary{epsilon}{0}{Floating point precision}
\functionsummary{eval}{1}{Evaluate term as expression}
\functionsummary{exp}{1}{Exponent (base $e$)}
\functionsummary{float}{1}{Explicitly convert to float}
\functionsummary{float_fractional_part}{1}{Fractional part of a float}
\functionsummary{float_integer_part}{1}{Integer part of a float}
\functionsummary{floor}{1}{Largest integer below argument}
\functionsummary{gcd}{2}{Greatest common divisor}
\functionsummary{getbit}{2}{Get bit at index from large integer}
\functionsummary{integer}{1}{Round to nearest integer}
\functionsummary{lgamma}{1}{Log of gamma function}
\functionsummary{log}{1}{Natural logarithm}
\functionsummary{log10}{1}{10 base logarithm}
\functionsummary{lsb}{1}{Least significant bit}
\functionsummary{max}{2}{Maximum of two numbers}
\functionsummary{min}{2}{Minimum of two numbers}
\functionsummary{msb}{1}{Most significant bit}
\opfuncsummary{mod}{2}{xfx}{300}{Remainder of division}
\functionsummary{powm}{3}{Integer exponent and modulo}
\functionsummary{random}{1}{Generate random number}
\functionsummary{random_float}{0}{Generate random number}
\functionsummary{rational}{1}{Convert to rational number}
\functionsummary{rationalize}{1}{Convert to rational number}
\functionsummary{rdiv}{2}{Ration number division}
\functionsummary{rem}{2}{Remainder of division}
\functionsummary{round}{1}{Round to nearest integer}
\functionsummary{truncate}{1}{Truncate float to integer}
\functionsummary{pi}{0}{Mathematical constant}
\functionsummary{popcount}{1}{Count 1s in a bitvector}
\functionsummary{sign}{1}{Extract sign of value}
\functionsummary{sin}{1}{Sine}
\functionsummary{sinh}{1}{Hyperbolic sine}
\functionsummary{sqrt}{1}{Square root}
\functionsummary{tan}{1}{Tangent}
\functionsummary{tanh}{1}{Hyperbolic tangent}
\opfuncsummary{xor}{2}{yfx}{400}{Bitwise exclusive or}
\end{summarylist}
\pagebreak
\section{Operators} \label{sec:opsummary}
\begin{summarylist}{lrD{f}{f}{-1}l}
\opsummary{1}{fx}{$}{Bind top-level variable}
\opsummary{200}{xfy}{^}{Existential qualification}
\opsummary{200}{xfy}{^}{Arithmetic function}
\opsummary{300}{xfx}{mod}{Arithmetic function}
\opsummary{400}{yfx}{*}{Arithmetic function}
\opsummary{400}{yfx}{/}{Arithmetic function}
\opsummary{400}{yfx}{//}{Arithmetic function}
\opsummary{400}{yfx}{<<}{Arithmetic function}
\opsummary{400}{yfx}{>>}{Arithmetic function}
\opsummary{400}{yfx}{xor}{Arithmetic function}
\opsummary{500}{fx}{+}{Arithmetic function}
\opsummary{500}{fx}{-}{Arithmetic function}
\opsummary{500}{fx}{?}{XPCE: obtainer}
\opsummary{500}{fx}{\}{Arithmetic function}
\opsummary{500}{yfx}{+}{Arithmetic function}
\opsummary{500}{yfx}{-}{Arithmetic function}
\opsummary{500}{yfx}{/\}{Arithmetic function}
\opsummary{500}{yfx}{\/}{Arithmetic function}
\opsummary{600}{xfy}{:}{module:term separator}
\opsummary{700}{xfx}{<}{Predicate}
\opsummary{700}{xfx}{=}{Predicate}
\opsummary{700}{xfx}{=..}{Predicate}
\opsummary{700}{xfx}{=:=}{Predicate}
\opsummary{700}{xfx}{<}{Predicate}
\opsummary{700}{xfx}{==}{Predicate}
\opsummary{700}{xfx}{=@=}{Predicate}
\opsummary{700}{xfx}{=\=}{Predicate}
\opsummary{700}{xfx}{>}{Predicate}
\opsummary{700}{xfx}{>=}{Predicate}
\opsummary{700}{xfx}{@<}{Predicate}
\opsummary{700}{xfx}{@=<}{Predicate}
\opsummary{700}{xfx}{@>}{Predicate}
\opsummary{700}{xfx}{@>=}{Predicate}
\opsummary{700}{xfx}{is}{Predicate}
\opsummary{700}{xfx}{\=}{Predicate}
\opsummary{700}{xfx}{\==}{Predicate}
\opsummary{700}{xfx}{=@=}{Predicate}
\opsummary{900}{fy}{not}{Predicate}
\opsummary{900}{fy}{\+}{Predicate}
\opsummary{1000}{xfy}{,}{Predicate}
\opsummary{1050}{xfy}{->}{Predicate}
\opsummary{1050}{xfy}{*->}{Predicate}
\opsummary{1100}{xfy}{;}{Predicate}
\opsummary{1105}{xfy}{|}{DCG disjunction}
\opsummary{1150}{fx}{discontiguous}{Directive}
\opsummary{1150}{fx}{dynamic}{Directive}
\opsummary{1150}{fx}{module_transparent}{Directive}
\opsummary{1150}{fx}{meta_predicate}{Head}
\opsummary{1150}{fx}{multifile}{Directive}
\opsummary{1150}{fx}{thread_local}{Directive}
\opsummary{1150}{fx}{volatile}{Directive}
\opsummary{1150}{fx}{initialization}{Directive}
\opsummary{1200}{fx}{:-}{Introduces a directive}
\opsummary{1200}{fx}{?-}{Introduces a directive}
\opsummary{1200}{xfx}{-->}{DCGrammar: rewrite}
\opsummary{1200}{xfx}{:-}{head \Sneck{} body. separator}
\end{summarylist}
|