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 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992
|
\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)}
\predicatesummary{$}{0}{Discard choicepoints and demand deterministic success}
\predicatesummary{$}{1}{Verify goal succeeds deterministically}
\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}{xfx}{700}{WASM: Call JavaScript}
\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{abolish_all_tables}{0}{Abolish computed tables}
\predicatesummary{abolish_module_tables}{1}{Abolish all tables in a module}
\predicatesummary{abolish_monotonic_tables}{0}{Abolish all monotonic tables}
\predicatesummary{abolish_nonincremental_tables}{0}{Abolish non-auttomatic tables}
\predicatesummary{abolish_nonincremental_tables}{1}{Abolish non-auttomatic tables}
\predicatesummary{abolish_private_tables}{0}{Abolish tables of this thread}
\predicatesummary{abolish_shared_tables}{0}{Abolish tables shared between threads}
\predicatesummary{abolish_table_subgoals}{1}{Abolish tables for a goal}
\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{answer_count_restraint}{0}{Undefined answer due to \const{max_answers}}
\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{apple_current_locale_identifier}{1}{Get Apple locale info}
\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{attach_packs}{0}{Attach add-ons}
\predicatesummary{attach_packs}{1}{Attach add-ons from directory}
\predicatesummary{attach_packs}{2}{Attach add-ons from directory}
\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}{1}{Declare a file for autoloading}
\predicatesummary{autoload}{2}{Declare a file for autoloading specific predicates}
\predicatesummary{autoload_all}{0}{Autoload all predicates now}
\predicatesummary{autoload_path}{1}{Add directories for autoloading}
\predicatesummary{await}{2}{WASM: Wait for a Promise}
\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{bounded_number}{3}{Number between bounds}
\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_delays}{2}{Get the condition associated with an answer}
\predicatesummary{call_residue_vars}{2}{Find residual attributed variables}
\predicatesummary{call_residual_program}{2}{Get residual program associated with an answer}
\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}{4}{Copy part of the variables in a term}
\predicatesummary{copy_term_nat}{2}{Make a copy of a term without attributes}
\predicatesummary{copy_term_nat}{4}{Copy part of the variables in a term}
\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_engine}{1}{Enumerate known engines}
\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{current_table}{2}{Find answer table for a variant}
\predicatesummary{current_transaction}{1}{Detect encapsulating transactions}
\predicatesummary{current_trie}{1}{Enumerate known tries}
\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{delays_residual_program}{2}{Get the residual program for an answer}
\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{det}{1}{Declare predicates as deterministic}
\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{dynamic}{2}{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{engine_create}{3}{Create an interactor}
\predicatesummary{engine_create}{4}{Create an interactor}
\predicatesummary{engine_destroy}{1}{Destroy an interactor}
\predicatesummary{engine_fetch}{1}{Get term from caller}
\predicatesummary{engine_next}{2}{Ask interactor for next term}
\predicatesummary{engine_next_reified}{2}{Ask interactor for next term}
\predicatesummary{engine_post}{2}{Send term to an interactor}
\predicatesummary{engine_post}{3}{Send term to an interactor and wait for reply}
\predicatesummary{engine_self}{1}{Get handle to running interactor}
\predicatesummary{engine_yield}{1}{Make term available to caller}
\predicatesummary{ensure_loaded}{1}{Consult a file if that has not yet been done}
\predicatesummary{erase}{1}{Erase a database record or clause}
\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{exists_source}{2}{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{fast_term_serialized}{2}{Fast term (de-)serialization}
\predicatesummary{fast_read}{2}{Read binary term serialization}
\predicatesummary{fast_write}{2}{Write binary term serialization}
\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 findnsols/4}
\predicatesummary{fill_buffer}{1}{Fill the input buffer of a stream}
\predicatesummary{flag}{3}{Simple global variable system}
\predicatesummary{float}{1}{Type check for a floating point number}
\predicatesummary{float_class}{2}{Classify (special) floats}
\predicatesummary{float_parts}{4}{Get mantissa and exponent of a float}
\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{functor}{4}{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{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_flag}{2}{Get value of a flag}
\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{get0}{1}{Read next character}
\predicatesummary{get0}{2}{Read next character from a stream}
\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{initialize}{0}{Run program initialization}
\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_async}{0}{WASM: Test Prolog can call await/2}
\predicatesummary{is_dict}{1}{Type check for a dict}
\predicatesummary{is_dict}{2}{Type check for a dict in a class}
\predicatesummary{is_engine}{1}{Type check for an engine handle}
\predicatesummary{is_list}{1}{Type check for a list}
\predicatesummary{is_most_general_term}{1}{Type check for general term}
\predicatesummary{is_object}{1}{WASM: Test JavaScript object}
\predicatesummary{is_object}{2}{WASM: Test JavaScript object and class}
\predicatesummary{is_stream}{1}{Type check for a stream handle}
\predicatesummary{is_trie}{1}{Type check for a trie handle}
\predicatesummary{is_thread}{1}{Type check for an thread handle}
\predicatesummary{join_threads}{0}{Join all terminated threads interactively}
\predicatesummary{keysort}{2}{Sort, using a key}
\predicatesummary{known_licenses}{0}{Print known licenses}
\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}{0}{Evaluate licenses of loaded modules}
\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{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{malloc_property}{1}{Property of the allocator}
\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_queue_set}{2}{Set a message queue property}
\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{nonground}{2}{Term is not ground due to witness}
\predicatesummary{nonvar}{1}{Type check for bound term}
\predicatesummary{nonterminal}{1}{Set predicate property}
\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{not_exists}{1}{Tabled negation for non-ground or non-tabled goals}
\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_source_hook}{3}{\hook{prolog} Open a source 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{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_alert_signal}{2}{Query/set unblock signal}
\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_interrupt}{0}{Allow debugging a thread}
\predicatesummary{prolog_list_goal}{1}{\hook{user} Intercept tracer 'L' command}
\predicatesummary{prolog_listen}{2}{Listen to Prolog events}
\predicatesummary{prolog_listen}{3}{Listen to Prolog events}
\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{prolog_unlisten}{2}{Stop listening to Prolog events}
\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{radial_restraint}{0}{Tabbling radial restraint was violated}
\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_link}{3}{Read a symbolic link}
\predicatesummary{read_pending_codes}{3}{Fetch buffered input from a stream}
\predicatesummary{read_pending_chars}{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{read_term_with_history}{2}{Read term with command line history}
\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}{3}{Wrapper for delimited continuations}
\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}{2}{Declare a program resource}
\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_flag}{2}{Set value of a flag}
\predicatesummary{set_input}{1}{Set current input stream from a stream}
\predicatesummary{set_locale}{1}{Set the default local}
\predicatesummary{set_malloc}{1}{Set memory allocator property}
\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_gc_thread}{1}{Control the gc thread}
\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{set_system_IO}{3}{Rebind stdin/stderr/stdout}
\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}{1}{Execute OS command}
\predicatesummary{shell}{2}{Execute OS command}
\predicatesummary{shift}{1}{Shift control to the closest reset/3}
\predicatesummary{shift_for_copy}{1}{Shift control to the closest reset/3}
\predicatesummary{show_profile}{1}{Show results of the profiler}
\predicatesummary{sig_atomic}{1}{Run goal without handling signals}
\predicatesummary{sig_block}{1}{Block matching thread signals}
\predicatesummary{sig_pending}{1}{Query pending signals}
\predicatesummary{sig_remove}{2}{Remove pending signals}
\predicatesummary{sig_unblock}{1}{Unblock matching thread signals}
\predicatesummary{size_abstract_term}{3}{Abstract a term (tabling support)}
\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{sleep}{1}{Suspend execution for specified time}
\predicatesummary{snapshot}{1}{Run goal in isolation}
\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}{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_bytes}{3}{Translates between text and bytes in encoding}
\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{table}{1}{Declare predicate to be tabled}
\predicatesummary{tabled_call}{1}{Helper for not_exists/1}
\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_singletons}{2}{Find singleton variables in a term}
\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_affinity}{3}{Query and control the \jargon{affinity} mask}
\predicatesummary{thread_alias}{1}{Set the alias name of a thread}
\predicatesummary{thread_at_exit}{1}{Register goal to be called at exit}
\predicatesummary{thread_create}{2}{Create a new Prolog task}
\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_idle}{2}{Reduce footprint while waiting}
\predicatesummary{thread_initialization}{1}{Run action at start of thread}
\predicatesummary{thread_join}{1}{Wait for Prolog task-completion}
\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{thread_update}{2}{Update a module and signal waiters}
\predicatesummary{thread_wait}{2}{Wait for a goal to become true}
\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{tnot}{1}{Tabled negation}
\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{transaction}{1}{Run goal in a transaction}
\predicatesummary{transaction}{2}{Run goal in a transaction}
\predicatesummary{transaction}{3}{Run goal in a transaction}
\predicatesummary{transaction_updates}{1}{Updates to be committed in a transaction}
\predicatesummary{trie_delete}{3}{Remove term from trie}
\predicatesummary{trie_destroy}{1}{Destroy a trie}
\predicatesummary{trie_gen}{3}{Get all terms from a trie}
\predicatesummary{trie_gen_compiled}{2}{Get all terms from a trie}
\predicatesummary{trie_gen_compiled}{3}{Get all terms from a trie}
\predicatesummary{trie_insert}{2}{Insert term into a trie}
\predicatesummary{trie_insert}{3}{Insert term into a trie}
\predicatesummary{trie_insert}{4}{Insert term into a trie}
\predicatesummary{trie_lookup}{3}{Lookup a term in a trie}
\predicatesummary{trie_new}{1}{Create a trie}
\predicatesummary{trie_property}{2}{Examine a trie's properties}
\predicatesummary{trie_update}{3}{Update associated value in trie}
\predicatesummary{trie_term}{2}{Get term from a trie by handle}
\predicatesummary{trim_heap}{0}{Release unused malloc() resources}
\predicatesummary{trim_stacks}{0}{Release unused stack resources}
\predicatesummary{tripwire}{2}{\hook{prolog} Handle a tabling tripwire event}
\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{undefined}{0}{Well Founded Semantics: true nor false}
\predicatesummary{undo}{1}{Schedule goal for backtracking}
\predicatesummary{unify_with_occurs_check}{2}{Logically sound unification}
\predicatesummary{unifiable}{3}{Determining binding required for unification}
\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{untable}{1}{Remove tabling instrumentation}
\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{variant_hash}{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}{POSIX style glob pattern matching}
\predicatesummary{wildcard_match}{3}{POSIX style glob pattern matching}
\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_process_modules}{1}{Win32 get .exe and .dll files of the process}
\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_get_user_preferred_ui_languages}{2}{Win32: get language preferences}
\predicatesummary{win_window_color}{2}{Win32: change colors of console window}
\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{with_tty_raw}{1}{Run goal with terminal in raw mode}
\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{denominator}{1}{Denominator of a rational number (N/D)}
\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{inf}{0}{Positive infinity}
\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{lcm}{2}{Least Common Multiple}
\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{nan}{0}{Not a Number (NaN)}
\functionsummary{nexttoward}{2}{Next float in some direction}
\functionsummary{numerator}{1}{Numerator of a rational number (N/D)}
\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{roundtoward}{2}{Float arithmetic with specified rounding}
\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}{as}{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}
|