
.. _library_index:

Libraries
=========

To load any library (including developer tools, ports, and contributions), use the goal ``logtalk_load(library_name(loader))``. To run the library tests, use the goal ``logtalk_load(library_name(tester))``. To load an entity, always load the loader file of the library that includes it to ensure that all required dependencies are also loaded and that any required flags are used. The loading goal can be found in the entity documentation.



:ref:`arbitrary <library_arbitrary>`
------------------------------------

.. toctree::
   :maxdepth: 1



   arbitrary <arbitrary_0>

:ref:`assertions <library_assertions>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   assertions <assertions_0>
   assertions(Mode) <assertions_1>
   assertions_messages <assertions_messages_0>

:ref:`assignvars <library_assignvars>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   assignvars <assignvars_0>
   assignvarsp <assignvarsp_0>

:ref:`base64 <library_base64>`
------------------------------

.. toctree::
   :maxdepth: 1



   base64 <base64_0>
   base64url <base64url_0>

:ref:`cbor <library_cbor>`
--------------------------

.. toctree::
   :maxdepth: 1



   cbor <cbor_0>
   cbor(StringRepresentation) <cbor_1>

:ref:`code_metrics <library_code_metrics>`
------------------------------------------

.. toctree::
   :maxdepth: 1



   cc_metric <cc_metric_0>
   code_metric <code_metric_0>
   code_metrics <code_metrics_0>
   code_metrics_messages <code_metrics_messages_0>
   code_metrics_utilities <code_metrics_utilities_0>
   coupling_metric <coupling_metric_0>
   dit_metric <dit_metric_0>
   doc_metric <doc_metric_0>
   halstead_metric <halstead_metric_0>
   halstead_metric(Stroud) <halstead_metric_1>
   noc_metric <noc_metric_0>
   nor_metric <nor_metric_0>
   size_metric <size_metric_0>
   upn_metric <upn_metric_0>

:ref:`core <library_core>`
--------------------------

.. toctree::
   :maxdepth: 1



   core_messages <core_messages_0>
   expanding <expanding_0>
   forwarding <forwarding_0>
   logtalk <logtalk_0>
   monitoring <monitoring_0>
   user <user_0>

:ref:`coroutining <library_coroutining>`
----------------------------------------

.. toctree::
   :maxdepth: 1



   coroutining <coroutining_0>

:ref:`csv <library_csv>`
------------------------

.. toctree::
   :maxdepth: 1



   csv <csv_0>
   csv(Header,Separator,IgnoreQuotes) <csv_3>
   csv_guess_questions <csv_guess_questions_0>
   csv_protocol <csv_protocol_0>

:ref:`dates <library_dates>`
----------------------------

.. toctree::
   :maxdepth: 1



   date <date_0>
   datep <datep_0>
   time <time_0>
   timep <timep_0>

:ref:`dead_code_scanner <library_dead_code_scanner>`
----------------------------------------------------

.. toctree::
   :maxdepth: 1



   dead_code_scanner <dead_code_scanner_0>
   dead_code_scanner_messages <dead_code_scanner_messages_0>

:ref:`debug_messages <library_debug_messages>`
----------------------------------------------

.. toctree::
   :maxdepth: 1



   debug_messages <debug_messages_0>

:ref:`debugger <library_debugger>`
----------------------------------

.. toctree::
   :maxdepth: 1



   debugger <debugger_0>
   debugger_messages <debugger_messages_0>
   debuggerp <debuggerp_0>
   dump_trace <dump_trace_0>

:ref:`dependents <library_dependents>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   observer <observer_0>
   subject <subject_0>

:ref:`diagrams <library_diagrams>`
----------------------------------

.. toctree::
   :maxdepth: 1



   diagram(Format) <diagram_1>
   diagrams <diagrams_0>
   diagrams(Format) <diagrams_1>
   directory_dependency_diagram <directory_dependency_diagram_0>
   directory_dependency_diagram(Format) <directory_dependency_diagram_1>
   directory_diagram(Format) <directory_diagram_1>
   directory_load_diagram <directory_load_diagram_0>
   directory_load_diagram(Format) <directory_load_diagram_1>
   dot_graph_language <dot_graph_language_0>
   entity_diagram <entity_diagram_0>
   entity_diagram(Format) <entity_diagram_1>
   file_dependency_diagram <file_dependency_diagram_0>
   file_dependency_diagram(Format) <file_dependency_diagram_1>
   file_diagram(Format) <file_diagram_1>
   file_load_diagram <file_load_diagram_0>
   file_load_diagram(Format) <file_load_diagram_1>
   graph_language_protocol <graph_language_protocol_0>
   graph_language_registry <graph_language_registry_0>
   inheritance_diagram <inheritance_diagram_0>
   inheritance_diagram(Format) <inheritance_diagram_1>
   library_dependency_diagram <library_dependency_diagram_0>
   library_dependency_diagram(Format) <library_dependency_diagram_1>
   library_diagram(Format) <library_diagram_1>
   library_load_diagram <library_load_diagram_0>
   library_load_diagram(Format) <library_load_diagram_1>
   modules_diagram_support <modules_diagram_support_0>
   uses_diagram <uses_diagram_0>
   uses_diagram(Format) <uses_diagram_1>
   xref_diagram <xref_diagram_0>
   xref_diagram(Format) <xref_diagram_1>

:ref:`dictionaries <library_dictionaries>`
------------------------------------------

.. toctree::
   :maxdepth: 1



   avltree <avltree_0>
   bintree <bintree_0>
   dictionaryp <dictionaryp_0>
   rbtree <rbtree_0>

:ref:`dif <library_dif>`
------------------------

.. toctree::
   :maxdepth: 1



   dif <dif_0>

:ref:`doclet <library_doclet>`
------------------------------

.. toctree::
   :maxdepth: 1



   doclet <doclet_0>

:ref:`edcg <library_edcg>`
--------------------------

.. toctree::
   :maxdepth: 1



   edcg <edcg_0>

:ref:`events <library_events>`
------------------------------

.. toctree::
   :maxdepth: 1



   after_event_registry <after_event_registry_0>
   before_event_registry <before_event_registry_0>
   event_registry <event_registry_0>
   event_registryp <event_registryp_0>
   monitor <monitor_0>
   monitorp <monitorp_0>

:ref:`expand_library_alias_paths <library_expand_library_alias_paths>`
----------------------------------------------------------------------

.. toctree::
   :maxdepth: 1



   expand_library_alias_paths <expand_library_alias_paths_0>

:ref:`expecteds <library_expecteds>`
------------------------------------

.. toctree::
   :maxdepth: 1



   either <either_0>
   expected <expected_0>
   expected(Expected) <expected_1>

:ref:`fcube <library_fcube>`
----------------------------

.. toctree::
   :maxdepth: 1



   fcube <fcube_0>

:ref:`flags <library_flags>`
----------------------------

.. toctree::
   :maxdepth: 1



   flags <flags_0>
   flags_validator <flags_validator_0>

:ref:`format <library_format>`
------------------------------

.. toctree::
   :maxdepth: 1



   format <format_0>

:ref:`genint <library_genint>`
------------------------------

.. toctree::
   :maxdepth: 1



   genint <genint_0>
   genint_core <genint_core_0>

:ref:`gensym <library_gensym>`
------------------------------

.. toctree::
   :maxdepth: 1



   gensym <gensym_0>
   gensym_core <gensym_core_0>

:ref:`git <library_git>`
------------------------

.. toctree::
   :maxdepth: 1



   git <git_0>
   git_protocol <git_protocol_0>

:ref:`grammars <library_grammars>`
----------------------------------

.. toctree::
   :maxdepth: 1



   blank_grammars(Format) <blank_grammars_1>
   ip_grammars(Format) <ip_grammars_1>
   number_grammars(Format) <number_grammars_1>
   sequence_grammars <sequence_grammars_0>

:ref:`heaps <library_heaps>`
----------------------------

.. toctree::
   :maxdepth: 1



   heap(Order) <heap_1>
   heapp <heapp_0>
   maxheap <maxheap_0>
   minheap <minheap_0>

:ref:`help <library_help>`
--------------------------

.. toctree::
   :maxdepth: 1



   help <help_0>
   help_info_support <help_info_support_0>

:ref:`hierarchies <library_hierarchies>`
----------------------------------------

.. toctree::
   :maxdepth: 1



   class_hierarchy <class_hierarchy_0>
   class_hierarchyp <class_hierarchyp_0>
   hierarchyp <hierarchyp_0>
   proto_hierarchy <proto_hierarchy_0>
   proto_hierarchyp <proto_hierarchyp_0>

:ref:`hook_flows <library_hook_flows>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   hook_pipeline(Pipeline) <hook_pipeline_1>
   hook_set(Set) <hook_set_1>

:ref:`hook_objects <library_hook_objects>`
------------------------------------------

.. toctree::
   :maxdepth: 1



   backend_adapter_hook <backend_adapter_hook_0>
   default_workflow_hook <default_workflow_hook_0>
   grammar_rules_hook <grammar_rules_hook_0>
   identity_hook <identity_hook_0>
   object_wrapper_hook <object_wrapper_hook_0>
   object_wrapper_hook(Protocol) <object_wrapper_hook_1>
   object_wrapper_hook(Name,Relations) <object_wrapper_hook_2>
   print_goal_hook <print_goal_hook_0>
   prolog_module_hook(Module) <prolog_module_hook_1>
   suppress_goal_hook <suppress_goal_hook_0>
   write_to_file_hook(File) <write_to_file_hook_1>
   write_to_file_hook(File,Options) <write_to_file_hook_2>
   write_to_stream_hook(Stream) <write_to_stream_hook_1>
   write_to_stream_hook(Stream,Options) <write_to_stream_hook_2>

:ref:`html <library_html>`
--------------------------

.. toctree::
   :maxdepth: 1



   html <html_0>
   html5 <html5_0>
   xhtml11 <xhtml11_0>

:ref:`ids <library_ids>`
------------------------

.. toctree::
   :maxdepth: 1



   ids <ids_0>
   ids(Representation,Bytes) <ids_2>

:ref:`intervals <library_intervals>`
------------------------------------

.. toctree::
   :maxdepth: 1



   interval <interval_0>
   intervalp <intervalp_0>

:ref:`iso8601 <library_iso8601>`
--------------------------------

.. toctree::
   :maxdepth: 1



   iso8601 <iso8601_0>

:ref:`issue_creator <library_issue_creator>`
--------------------------------------------

.. toctree::
   :maxdepth: 1



   issue_creator <issue_creator_0>

:ref:`java <library_java>`
--------------------------

.. toctree::
   :maxdepth: 1



   java <java_0>
   java(Reference) <java_1>
   java(Reference,ReturnValue) <java_2>
   java_access_protocol <java_access_protocol_0>
   java_hook <java_hook_0>
   java_utils_protocol <java_utils_protocol_0>

:ref:`json <library_json>`
--------------------------

.. toctree::
   :maxdepth: 1



   json <json_0>
   json(StringRepresentation) <json_1>
   json(ObjectRepresentation,PairRepresentation,StringRepresentation) <json_3>
   json_protocol <json_protocol_0>

:ref:`lgtdoc <library_lgtdoc>`
------------------------------

.. toctree::
   :maxdepth: 1



   lgtdoc <lgtdoc_0>
   lgtdoc_messages <lgtdoc_messages_0>
   lgtdocp <lgtdocp_0>

:ref:`lgtunit <library_lgtunit>`
--------------------------------

.. toctree::
   :maxdepth: 1



   automation_report <automation_report_0>
   coverage_report <coverage_report_0>
   lgtunit <lgtunit_0>
   lgtunit_messages <lgtunit_messages_0>
   minimal_output <minimal_output_0>
   tap_output <tap_output_0>
   tap_report <tap_report_0>
   xunit_net_v2_output <xunit_net_v2_output_0>
   xunit_net_v2_report <xunit_net_v2_report_0>
   xunit_output <xunit_output_0>
   xunit_report <xunit_report_0>

:ref:`library <library_library>`
--------------------------------

.. toctree::
   :maxdepth: 1



   cloning <cloning_0>
   counters <counters_0>
   streamvars <streamvars_0>

:ref:`logging <library_logging>`
--------------------------------

.. toctree::
   :maxdepth: 1



   logger <logger_0>
   logging <logging_0>
   loggingp <loggingp_0>

:ref:`loops <library_loops>`
----------------------------

.. toctree::
   :maxdepth: 1



   loop <loop_0>
   loopp <loopp_0>

:ref:`meta <library_meta>`
--------------------------

.. toctree::
   :maxdepth: 1



   meta <meta_0>
   metap <metap_0>

:ref:`meta_compiler <library_meta_compiler>`
--------------------------------------------

.. toctree::
   :maxdepth: 1



   meta_compiler <meta_compiler_0>

:ref:`metagol <library_metagol>`
--------------------------------

.. toctree::
   :maxdepth: 1



   metagol <metagol_0>
   metagol_example_protocol <metagol_example_protocol_0>

:ref:`mutations <library_mutations>`
------------------------------------

.. toctree::
   :maxdepth: 1



   default_atom_mutations <default_atom_mutations_0>
   default_compound_mutations <default_compound_mutations_0>
   default_float_mutations <default_float_mutations_0>
   default_integer_mutations <default_integer_mutations_0>
   default_list_mutations <default_list_mutations_0>
   mutations <mutations_0>
   mutations_store <mutations_store_0>

:ref:`nested_dictionaries <library_nested_dictionaries>`
--------------------------------------------------------

.. toctree::
   :maxdepth: 1



   navltree <navltree_0>
   nbintree <nbintree_0>
   nested_dictionary_protocol <nested_dictionary_protocol_0>
   nrbtree <nrbtree_0>

:ref:`optionals <library_optionals>`
------------------------------------

.. toctree::
   :maxdepth: 1



   maybe <maybe_0>
   optional <optional_0>
   optional(Optional) <optional_1>

:ref:`options <library_options>`
--------------------------------

.. toctree::
   :maxdepth: 1



   options <options_0>
   options_protocol <options_protocol_0>

:ref:`os <library_os>`
----------------------

.. toctree::
   :maxdepth: 1



   os <os_0>
   os_types <os_types_0>
   osp <osp_0>

:ref:`packs <library_packs>`
----------------------------

.. toctree::
   :maxdepth: 1



   pack_protocol <pack_protocol_0>
   packs <packs_0>
   packs_common <packs_common_0>
   packs_messages <packs_messages_0>
   packs_specs_hook <packs_specs_hook_0>
   registries <registries_0>
   registry_loader_hook <registry_loader_hook_0>
   registry_protocol <registry_protocol_0>

:ref:`pddl_parser <library_pddl_parser>`
----------------------------------------

.. toctree::
   :maxdepth: 1



   pddl <pddl_0>
   read_file <read_file_0>

:ref:`ports_profiler <library_ports_profiler>`
----------------------------------------------

.. toctree::
   :maxdepth: 1



   ports_profiler <ports_profiler_0>

:ref:`queues <library_queues>`
------------------------------

.. toctree::
   :maxdepth: 1



   queue <queue_0>
   queuep <queuep_0>

:ref:`random <library_random>`
------------------------------

.. toctree::
   :maxdepth: 1



   backend_random <backend_random_0>
   fast_random <fast_random_0>
   pseudo_random_protocol <pseudo_random_protocol_0>
   random <random_0>
   random_protocol <random_protocol_0>

:ref:`reader <library_reader>`
------------------------------

.. toctree::
   :maxdepth: 1



   reader <reader_0>

:ref:`redis <library_redis>`
----------------------------

.. toctree::
   :maxdepth: 1



   redis <redis_0>

:ref:`sets <library_sets>`
--------------------------

.. toctree::
   :maxdepth: 1



   set <set_0>
   set(Type) <set_1>
   setp <setp_0>

:ref:`statistics <library_statistics>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   population <population_0>
   sample <sample_0>
   statistics <statistics_0>
   statisticsp <statisticsp_0>

:ref:`term_io <library_term_io>`
--------------------------------

.. toctree::
   :maxdepth: 1



   term_io <term_io_0>
   term_io_protocol <term_io_protocol_0>

:ref:`timeout <library_timeout>`
--------------------------------

.. toctree::
   :maxdepth: 1



   timeout <timeout_0>

:ref:`toychr <library_toychr>`
------------------------------

.. toctree::
   :maxdepth: 1



   toychrdb <toychrdb_0>

:ref:`tsv <library_tsv>`
------------------------

.. toctree::
   :maxdepth: 1



   tsv <tsv_0>
   tsv(Header) <tsv_1>
   tsv_protocol <tsv_protocol_0>

:ref:`tutor <library_tutor>`
----------------------------

.. toctree::
   :maxdepth: 1



   tutor <tutor_0>

:ref:`types <library_types>`
----------------------------

.. toctree::
   :maxdepth: 1



   atom <atom_0>
   atomic <atomic_0>
   callable <callable_0>
   character <character_0>
   characterp <characterp_0>
   comparingp <comparingp_0>
   compound <compound_0>
   difflist <difflist_0>
   float <float_0>
   integer <integer_0>
   list <list_0>
   list(Type) <list_1>
   listp <listp_0>
   natural <natural_0>
   number <number_0>
   numberlist <numberlist_0>
   numberlistp <numberlistp_0>
   pairs <pairs_0>
   term <term_0>
   termp <termp_0>
   type <type_0>
   varlist <varlist_0>
   varlistp <varlistp_0>

:ref:`ulid <library_ulid>`
--------------------------

.. toctree::
   :maxdepth: 1



   ulid <ulid_0>
   ulid(Representation) <ulid_1>
   ulid_protocol <ulid_protocol_0>
   ulid_types <ulid_types_0>

:ref:`union_find <library_union_find>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   union_find <union_find_0>
   union_find_protocol <union_find_protocol_0>

:ref:`uuid <library_uuid>`
--------------------------

.. toctree::
   :maxdepth: 1



   uuid <uuid_0>
   uuid(Representation) <uuid_1>
   uuid_protocol <uuid_protocol_0>

:ref:`verdi_neruda <library_verdi_neruda>`
------------------------------------------

.. toctree::
   :maxdepth: 1



   a_star_interpreter(W) <a_star_interpreter_1>
   benchmark_generators <benchmark_generators_0>
   best_first <best_first_0>
   bfs_interpreter <bfs_interpreter_0>
   bup_interpreter <bup_interpreter_0>
   counter <counter_0>
   databasep <databasep_0>
   debug_expansion(Mode) <debug_expansion_1>
   demodb <demodb_0>
   dfs_interpreter <dfs_interpreter_0>
   flatting <flatting_0>
   heuristic_expansion(Mode) <heuristic_expansion_1>
   iddfs_interpreter(Increment) <iddfs_interpreter_1>
   interpreterp <interpreterp_0>
   magic <magic_0>
   magic_expansion(Mode) <magic_expansion_1>
   rule_expansion(Mode) <rule_expansion_1>
   shell <shell_0>
   shell(Interpreters) <shell_1>
   shell_expansion(Mode) <shell_expansion_1>

:ref:`wrapper <library_wrapper>`
--------------------------------

.. toctree::
   :maxdepth: 1



   wrapper <wrapper_0>

:ref:`xml_parser <library_xml_parser>`
--------------------------------------

.. toctree::
   :maxdepth: 1



   xml <xml_0>

:ref:`zippers <library_zippers>`
--------------------------------

.. toctree::
   :maxdepth: 1



   zipperp <zipperp_0>
   zlist <zlist_0>

