File indexing completed on 2025-02-02 03:54:45
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.lgt</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Logtalk) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d">/* </span> 0008 <span style="color:#7a7c7d"> Highlighting test case for Logtalk</span> 0009 0010 <span style="color:#7a7c7d"> Copied from the Logtalk distribution by the Logtalk copright holder</span> 0011 <span style="color:#7a7c7d"> and contributed using the Apache License 2.0</span> 0012 <span style="color:#7a7c7d">*/</span> 0013 0014 :-<span style="font-weight:bold"> encoding</span>(<span style="color:#27ae60">Encoding</span>). <span style="color:#7a7c7d">% this is a single-line comment</span> 0015 0016 <span style="color:#7a7c7d">/*</span> 0017 <span style="color:#7a7c7d">this is</span> 0018 <span style="color:#7a7c7d">a block</span> 0019 <span style="color:#7a7c7d">comment</span> 0020 <span style="color:#7a7c7d">*/</span> 0021 0022 0023 :-<span style="font-weight:bold"> if</span>(<span style="color:#27ae60">Goal</span>). 0024 <span style="color:#7a7c7d">% conditional</span> 0025 :-<span style="font-weight:bold"> elif</span>(<span style="color:#27ae60">Goal</span>). 0026 <span style="color:#7a7c7d">% compilation</span> 0027 :-<span style="font-weight:bold"> else</span>. 0028 <span style="color:#7a7c7d">% directives</span> 0029 :-<span style="font-weight:bold"> endif</span>. 0030 0031 0032 :-<span style="font-weight:bold"> initialization</span>(<span style="color:#27ae60">Goal</span>). 0033 :-<span style="font-weight:bold"> op</span>(<span style="color:#27ae60">Precedence</span>, <span style="color:#27ae60">Associativity</span>, <span style="color:#27ae60">Operator</span>). 0034 :-<span style="font-weight:bold"> ensure_loaded</span>(<span style="color:#27ae60">File</span>). 0035 :-<span style="font-weight:bold"> include</span>(<span style="color:#27ae60">File</span>). 0036 :-<span style="font-weight:bold"> set_prolog_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>). 0037 :-<span style="font-weight:bold"> set_logtalk_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>). 0038 0039 0040 :-<span style="font-weight:bold"> object</span>(prototype, 0041 <span style="font-weight:bold">implements</span>(protocol), 0042 <span style="font-weight:bold">imports</span>(category), 0043 <span style="font-weight:bold">extends</span>(parent)). 0044 0045 :-<span style="font-weight:bold"> info</span>([ 0046 version <span style="color:#2980b9">is</span> <span style="color:#f67400">1</span><span style="color:#2980b9">:</span><span style="color:#f67400">47</span><span style="color:#2980b9">:</span><span style="color:#f67400">0</span>, 0047 author <span style="color:#2980b9">is</span> <span style="color:#f44f4f">'Paulo Moura'</span>, 0048 date <span style="color:#2980b9">is</span> <span style="color:#f67400">2019</span><span style="color:#2980b9">-</span><span style="color:#f67400">09</span><span style="color:#2980b9">-</span><span style="color:#f67400">18</span>, 0049 comment <span style="color:#2980b9">is</span> <span style="color:#f44f4f">'Sample prototype for testing syntax coloring.'</span> 0050 ]). 0051 0052 :-<span style="font-weight:bold"> built_in</span>. 0053 :-<span style="font-weight:bold"> threaded</span>. 0054 :-<span style="font-weight:bold"> dynamic</span>. 0055 0056 :-<span style="font-weight:bold"> initialization</span>(some_goal(<span style="color:#27ae60">X</span>, <span style="color:#27ae60">Y</span>)). 0057 0058 :-<span style="font-weight:bold"> uses</span>([ 0059 foobar <span style="color:#2980b9">as</span> fb 0060 ]). 0061 0062 :-<span style="font-weight:bold"> alias</span>(set, [member<span style="color:#2980b9">/</span><span style="color:#f67400">2</span> <span style="color:#2980b9">as</span> set_member<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>]). 0063 :-<span style="font-weight:bold"> alias</span>(words, [singular<span style="color:#2980b9">//</span><span style="color:#f67400">0</span> <span style="color:#2980b9">as</span> peculiar<span style="color:#2980b9">//</span><span style="color:#f67400">0</span>]). 0064 0065 :-<span style="font-weight:bold"> uses</span>(list, [append<span style="color:#2980b9">/</span><span style="color:#f67400">3</span>, member<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>]). 0066 :-<span style="font-weight:bold"> uses</span>(queues, [new<span style="color:#2980b9">/</span><span style="color:#f67400">1</span> <span style="color:#2980b9">as</span> new_queue<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>]). 0067 0068 :-<span style="font-weight:bold"> use_module</span>(module). 0069 :-<span style="font-weight:bold"> use_module</span>(module, [append<span style="color:#2980b9">/</span><span style="color:#f67400">3</span>, member<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>]). 0070 0071 :-<span style="font-weight:bold"> multifile</span>(zzz<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>). 0072 :-<span style="font-weight:bold"> multifile</span>(module<span style="color:#2980b9">:</span>zzz<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>). 0073 :-<span style="font-weight:bold"> multifile</span>(object<span style="color:#2980b9">::</span>zzz<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>). 0074 0075 :-<span style="font-weight:bold"> coinductive</span>(comember<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>). 0076 0077 :-<span style="font-weight:bold"> use_module</span>(module, [xxx<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>, yyy<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>, zzz<span style="color:#2980b9">/</span><span style="color:#f67400">3</span>]). 0078 :-<span style="font-weight:bold"> export</span>(bbb<span style="color:#2980b9">/</span><span style="color:#f67400">3</span>). 0079 :-<span style="font-weight:bold"> reexport</span>(cccc<span style="color:#2980b9">/</span><span style="color:#f67400">4</span>). 0080 0081 :-<span style="font-weight:bold"> public</span>(aaa<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0082 :-<span style="font-weight:bold"> meta_predicate</span>(aaa(<span style="color:#2980b9">::</span>, <span style="color:#2980b9">*</span>)). 0083 :-<span style="font-weight:bold"> discontiguous</span>(aaa<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0084 :-<span style="font-weight:bold"> mode</span>(aaa(<span style="color:#2980b9">+</span>callable, <span style="color:#2980b9">?</span>integer), zero_or_one). 0085 :-<span style="font-weight:bold"> info</span>(position<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>, [ 0086 comment <span style="color:#2980b9">is</span> <span style="color:#f44f4f">'Predicate brief description.'</span>, 0087 arguments <span style="color:#2980b9">is</span> [<span style="color:#f44f4f">'Arg1'</span><span style="color:#2980b9">-</span><span style="color:#f44f4f">'Arg1 description'</span>, <span style="color:#f44f4f">'Arg2'</span><span style="color:#2980b9">-</span><span style="color:#f44f4f">'Arg2 description'</span>] 0088 ]). 0089 0090 :-<span style="font-weight:bold"> public</span>(nt<span style="color:#2980b9">//</span><span style="color:#f67400">2</span>). 0091 :-<span style="font-weight:bold"> meta_non_terminal</span>(nt(<span style="color:#f67400">1</span>, <span style="color:#2980b9">*</span>)). 0092 0093 :-<span style="font-weight:bold"> protected</span>(bbb<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0094 :-<span style="font-weight:bold"> synchronized</span>(bbb<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0095 :-<span style="font-weight:bold"> mode</span>(bbb(<span style="color:#2980b9">+</span>integer, <span style="color:#2980b9">-</span>float), one). 0096 :-<span style="font-weight:bold"> info</span>(bbb<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>, [ 0097 comment <span style="color:#2980b9">is</span> <span style="color:#f44f4f">'Predicate brief description.'</span>, 0098 argnames <span style="color:#2980b9">is</span> [<span style="color:#f44f4f">'Arg1'</span>, <span style="color:#f44f4f">'Arg2'</span>] 0099 ]). 0100 0101 :-<span style="font-weight:bold"> private</span>(ccc<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0102 :-<span style="font-weight:bold"> dynamic</span>(ccc<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>). 0103 :-<span style="font-weight:bold"> mode</span>(ccc(<span style="color:#2980b9">@</span>atom, <span style="color:#2980b9">?</span>atom, <span style="color:#2980b9">++</span>list, <span style="color:#2980b9">--</span>ground), one_or_more). 0104 :-<span style="font-weight:bold"> info</span>(ccc<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>, [ 0105 comment <span style="color:#2980b9">is</span> <span style="color:#f44f4f">'Predicate brief description.'</span>, 0106 argnames <span style="color:#2980b9">is</span> [<span style="color:#f44f4f">'Arg1'</span>, <span style="color:#f44f4f">'Arg2'</span>] 0107 ]). 0108 0109 enumerating_entities(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Category</span>) <span style="color:#2980b9">:-</span> 0110 <span style="color:#8e44ad">current_category</span>(<span style="color:#27ae60">Category</span>), 0111 <span style="color:#8e44ad">current_object</span>(<span style="color:#27ae60">Object</span>), 0112 <span style="color:#8e44ad">current_protocol</span>(<span style="color:#27ae60">Protocol</span>). 0113 0114 enumerating_properties <span style="color:#2980b9">:-</span> 0115 <span style="color:#8e44ad">category_property</span>(<span style="color:#27ae60">Category</span>, <span style="color:#27ae60">Property</span>), 0116 <span style="color:#8e44ad">object_property</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Property</span>), 0117 <span style="color:#8e44ad">protocol_property</span>(<span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Property</span>). 0118 0119 creating_entities(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Category</span>) <span style="color:#2980b9">:-</span> 0120 <span style="color:#8e44ad">create_category</span>(<span style="color:#27ae60">Category</span>, <span style="color:#27ae60">Relations</span>, <span style="color:#27ae60">Directives</span>, <span style="color:#27ae60">Clauses</span>), 0121 <span style="color:#8e44ad">create_object</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Relations</span>, <span style="color:#27ae60">Directives</span>, <span style="color:#27ae60">Clauses</span>), 0122 <span style="color:#8e44ad">create_protocol</span>(<span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Relations</span>, <span style="color:#27ae60">Directives</span>). 0123 0124 abolishing_entities(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Category</span>) <span style="color:#2980b9">:-</span> 0125 <span style="color:#8e44ad">abolish_category</span>(<span style="color:#27ae60">Category</span>), 0126 <span style="color:#8e44ad">abolish_object</span>(<span style="color:#27ae60">Object</span>), 0127 <span style="color:#8e44ad">abolish_protocol</span>(<span style="color:#27ae60">Protocol</span>). 0128 0129 entity_relations <span style="color:#2980b9">:-</span> 0130 <span style="color:#8e44ad">extends_object</span>(<span style="color:#27ae60">Prototype</span>, <span style="color:#27ae60">Parent</span>, <span style="color:#27ae60">Scope</span>), 0131 <span style="color:#8e44ad">extends_protocol</span>(<span style="color:#27ae60">Protocol1</span>, <span style="color:#27ae60">Protocol2</span>, <span style="color:#27ae60">Scope</span>), 0132 <span style="color:#8e44ad">extends_category</span>(<span style="color:#27ae60">Category1</span>, <span style="color:#27ae60">Category2</span>, <span style="color:#27ae60">Scope</span>), 0133 <span style="color:#8e44ad">implements_protocol</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Scope</span>), 0134 <span style="color:#8e44ad">imports_category</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Category</span>, <span style="color:#27ae60">Scope</span>), 0135 <span style="color:#8e44ad">instantiates_class</span>(<span style="color:#27ae60">Instance</span>, <span style="color:#27ae60">Class</span>, <span style="color:#27ae60">Scope</span>), 0136 <span style="color:#8e44ad">specializes_class</span>(<span style="color:#27ae60">Class</span>, <span style="color:#27ae60">Superclass</span>, <span style="color:#27ae60">Scope</span>), 0137 <span style="color:#8e44ad">complements_object</span>(<span style="color:#27ae60">Category</span>, <span style="color:#27ae60">Object</span>), 0138 <span style="color:#8e44ad">conforms_to_protocol</span>(<span style="color:#27ae60">ObjOrCtg</span>, <span style="color:#27ae60">Protocol</span>, <span style="color:#27ae60">Scope</span>). 0139 0140 event_handling <span style="color:#2980b9">:-</span> 0141 <span style="color:#8e44ad">abolish_events</span>(<span style="color:#27ae60">Event</span>, <span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Message</span>, <span style="color:#27ae60">Sender</span>, <span style="color:#27ae60">Monitor</span>), 0142 <span style="color:#8e44ad">current_event</span>(<span style="color:#27ae60">Event</span>, <span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Message</span>, <span style="color:#27ae60">Sender</span>, <span style="color:#27ae60">Monitor</span>), 0143 <span style="color:#8e44ad">define_events</span>(<span style="color:#27ae60">Event</span>, <span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Message</span>, <span style="color:#27ae60">Sender</span>, <span style="color:#27ae60">Monitor</span>). 0144 0145 multi_threading <span style="color:#2980b9">:-</span> 0146 <span style="color:#8e44ad">threaded</span>(<span style="color:#27ae60">Goals</span>), 0147 <span style="color:#8e44ad">threaded_call</span>(<span style="color:#27ae60">Goal</span>), 0148 <span style="color:#8e44ad">threaded_call</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Tag</span>), 0149 <span style="color:#8e44ad">threaded_once</span>(<span style="color:#27ae60">Goal</span>), 0150 <span style="color:#8e44ad">threaded_once</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Tag</span>), 0151 <span style="color:#8e44ad">threaded_ignore</span>(<span style="color:#27ae60">Goal</span>), 0152 <span style="color:#8e44ad">threaded_exit</span>(<span style="color:#27ae60">Goal</span>), 0153 <span style="color:#8e44ad">threaded_exit</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Tag</span>), 0154 <span style="color:#8e44ad">threaded_peek</span>(<span style="color:#27ae60">Goal</span>), 0155 <span style="color:#8e44ad">threaded_peek</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Tag</span>), 0156 <span style="color:#8e44ad">threaded_cancel</span>(<span style="color:#27ae60">Tag</span>), 0157 <span style="color:#8e44ad">threaded_wait</span>(<span style="color:#27ae60">Notification</span>), 0158 <span style="color:#8e44ad">threaded_notify</span>(<span style="color:#27ae60">Notification</span>). 0159 0160 engines <span style="color:#2980b9">:-</span> 0161 <span style="color:#8e44ad">threaded_engine</span>(<span style="color:#27ae60">Engine</span>), 0162 <span style="color:#8e44ad">threaded_engine_create</span>(<span style="color:#27ae60">AnswerTemplate</span>, <span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Engine</span>), 0163 <span style="color:#8e44ad">threaded_engine_destroy</span>(<span style="color:#27ae60">Engine</span>), 0164 <span style="color:#8e44ad">threaded_engine_self</span>(<span style="color:#27ae60">Engine</span>), 0165 <span style="color:#8e44ad">threaded_engine_next</span>(<span style="color:#27ae60">Engine</span>, <span style="color:#27ae60">Answer</span>), 0166 <span style="color:#8e44ad">threaded_engine_next_reified</span>(<span style="color:#27ae60">Engine</span>, <span style="color:#27ae60">Answer</span>), 0167 <span style="color:#8e44ad">threaded_engine_yield</span>(<span style="color:#27ae60">Answer</span>), 0168 <span style="color:#8e44ad">threaded_engine_post</span>(<span style="color:#27ae60">Engine</span>, <span style="color:#27ae60">Term</span>), 0169 <span style="color:#8e44ad">threaded_engine_fetch</span>(<span style="color:#27ae60">Term</span>). 0170 0171 compiling_and_loading <span style="color:#2980b9">:-</span> 0172 <span style="color:#8e44ad">logtalk_compile</span>(<span style="color:#27ae60">File</span>, <span style="color:#27ae60">Options</span>), 0173 <span style="color:#8e44ad">logtalk_load</span>(<span style="color:#27ae60">File</span>, <span style="color:#27ae60">Options</span>), 0174 <span style="color:#8e44ad">logtalk_library_path</span>(<span style="color:#27ae60">Library</span>, <span style="color:#27ae60">Path</span>), 0175 <span style="color:#8e44ad">logtalk_load_context</span>(<span style="color:#27ae60">Key</span>, <span style="color:#27ae60">Value</span>), 0176 <span style="color:#8e44ad">logtalk_make</span>(<span style="color:#27ae60">Action</span>), 0177 <span style="color:#8e44ad">logtalk_make</span>, 0178 <span style="color:#8e44ad">logtalk_make_target_action</span>(<span style="color:#27ae60">Target</span>). 0179 0180 flags <span style="color:#2980b9">:-</span> 0181 <span style="color:#8e44ad">current_logtalk_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>), 0182 <span style="color:#8e44ad">set_logtalk_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>), 0183 <span style="color:#8e44ad">create_logtalk_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>, <span style="color:#27ae60">Options</span>). 0184 0185 execution_context_methods <span style="color:#2980b9">:-</span> 0186 <span style="color:#8e44ad">context</span>(<span style="color:#27ae60">Context</span>), 0187 <span style="color:#8e44ad">parameter</span>(<span style="color:#27ae60">N</span>, <span style="color:#27ae60">Parameter</span>), 0188 <span style="color:#8e44ad">self</span>(<span style="color:#27ae60">Self</span>), 0189 <span style="color:#8e44ad">sender</span>(<span style="color:#27ae60">Sender</span>), 0190 <span style="color:#8e44ad">this</span>(<span style="color:#27ae60">This</span>). 0191 0192 reflection_methods <span style="color:#2980b9">:-</span> 0193 <span style="color:#8e44ad">current_predicate</span>(<span style="color:#27ae60">Predicate</span>), 0194 <span style="color:#8e44ad">predicate_property</span>(<span style="color:#27ae60">Predicate</span>, <span style="color:#27ae60">Property</span>). 0195 0196 database_methods <span style="color:#2980b9">:-</span> 0197 <span style="color:#8e44ad">abolish</span>(<span style="color:#27ae60">Name</span><span style="color:#2980b9">/</span><span style="color:#27ae60">Arity</span>), 0198 <span style="color:#8e44ad">asserta</span>(<span style="color:#27ae60">Clause</span>), 0199 <span style="color:#8e44ad">assertz</span>(<span style="color:#27ae60">Clause</span>), 0200 <span style="color:#8e44ad">clause</span>(<span style="color:#27ae60">Head</span>, <span style="color:#27ae60">Body</span>), 0201 <span style="color:#8e44ad">retract</span>(<span style="color:#27ae60">Clause</span>), 0202 <span style="color:#8e44ad">retractall</span>(<span style="color:#27ae60">Head</span>). 0203 0204 exception_methods <span style="color:#2980b9">:-</span> 0205 <span style="color:#8e44ad">catch</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Error</span>, <span style="color:#27ae60">Catcher</span>), 0206 <span style="color:#8e44ad">throw</span>(<span style="color:#27ae60">Error</span>), 0207 <span style="color:#8e44ad">instantiation_error</span>, 0208 <span style="color:#8e44ad">type_error</span>(<span style="color:#27ae60">Type</span>, <span style="color:#27ae60">Culprit</span>), 0209 <span style="color:#8e44ad">domain_error</span>(<span style="color:#27ae60">Domain</span>, <span style="color:#27ae60">Culprit</span>), 0210 <span style="color:#8e44ad">existence_error</span>(<span style="color:#27ae60">Thing</span>, <span style="color:#27ae60">Culprit</span>), 0211 <span style="color:#8e44ad">permission_error</span>(<span style="color:#27ae60">Operation</span>, <span style="color:#27ae60">Permission</span>, <span style="color:#27ae60">Culprit</span>), 0212 <span style="color:#8e44ad">representation_error</span>(<span style="color:#27ae60">Flag</span>), 0213 <span style="color:#8e44ad">evaluation_error</span>(<span style="color:#27ae60">Exception</span>), 0214 <span style="color:#8e44ad">resource_error</span>(<span style="color:#27ae60">Resource</span>), 0215 <span style="color:#8e44ad">syntax_error</span>(<span style="color:#27ae60">Description</span>), 0216 <span style="color:#8e44ad">system_error</span>. 0217 0218 all_solutions_methods <span style="color:#2980b9">:-</span> 0219 <span style="color:#8e44ad">bagof</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">List</span>), 0220 <span style="color:#8e44ad">bagof</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Var</span><span style="color:#2980b9">^</span><span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">List</span>), 0221 <span style="color:#8e44ad">findall</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">List</span>), 0222 <span style="color:#8e44ad">forall</span>(<span style="color:#27ae60">Generate</span>, <span style="color:#27ae60">Test</span>), 0223 <span style="color:#8e44ad">setof</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">List</span>), 0224 <span style="color:#8e44ad">setof</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Var1</span><span style="color:#2980b9">^</span><span style="color:#27ae60">Var2</span><span style="color:#2980b9">^</span><span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">List</span>). 0225 0226 event_handler_methods <span style="color:#2980b9">:-</span> 0227 <span style="color:#8e44ad">before</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Message</span>, <span style="color:#27ae60">Sender</span>), 0228 <span style="color:#8e44ad">after</span>(<span style="color:#27ae60">Object</span>, <span style="color:#27ae60">Message</span>, <span style="color:#27ae60">Sender</span>). 0229 0230 message_forwarding_method <span style="color:#2980b9">:-</span> 0231 <span style="color:#8e44ad">forward</span>(<span style="color:#27ae60">Message</span>). 0232 0233 dcg_rules_parsing_methods <span style="color:#2980b9">:-</span> 0234 <span style="color:#8e44ad">phrase</span>(<span style="color:#27ae60">NonTerminal</span>, <span style="color:#27ae60">Input</span>, <span style="color:#27ae60">Rest</span>). 0235 0236 term_expansion_methods <span style="color:#2980b9">:-</span> 0237 <span style="color:#8e44ad">expand_term</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Expanded</span>), 0238 <span style="color:#8e44ad">expand_goal</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Expanded</span>), 0239 <span style="color:#8e44ad">term_expansion</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Expanded</span>), 0240 <span style="color:#8e44ad">goal_expansion</span>(<span style="color:#27ae60">Goal</span>, <span style="color:#27ae60">Expanded</span>). 0241 0242 message_sending <span style="color:#2980b9">:-</span> 0243 <span style="color:#27ae60">Object</span><span style="color:#2980b9">::</span><span style="color:#27ae60">Message</span>, 0244 <span style="color:#2980b9">::</span><span style="color:#27ae60">Message</span>, 0245 <span style="color:#2980b9">^^</span><span style="color:#27ae60">Message</span>. 0246 0247 calling_external_code <span style="color:#2980b9">:-</span> 0248 <span style="color:#2980b9">{</span>goal1, goal2, goal3<span style="color:#2980b9">}</span>. 0249 0250 context_switching_calls <span style="color:#2980b9">:-</span> 0251 <span style="color:#27ae60">Object</span><span style="color:#2980b9"><<</span><span style="color:#27ae60">Goal</span>. 0252 0253 lambda_expressions <span style="color:#2980b9">:-</span> 0254 <span style="color:#2980b9">{</span><span style="color:#27ae60">X</span>,<span style="color:#27ae60">Y</span>,<span style="color:#27ae60">Z</span><span style="color:#2980b9">}/</span>[<span style="color:#27ae60">P</span>,<span style="color:#27ae60">Q</span>]<span style="color:#2980b9">>></span><span style="color:#27ae60">Goal</span>. 0255 0256 explicitly_qualified_module_calls <span style="color:#2980b9">:-</span> 0257 <span style="color:#27ae60">Module</span><span style="color:#2980b9">:</span><span style="color:#27ae60">Goal</span>. 0258 0259 if_then_else <span style="color:#2980b9">:-</span> 0260 ( <span style="color:#27ae60">If</span> <span style="color:#2980b9">-></span> 0261 <span style="color:#27ae60">Then</span> 0262 <span style="color:#2980b9">;</span> <span style="color:#27ae60">Else</span> 0263 ). 0264 0265 numbers <span style="color:#2980b9">:-</span> 0266 <span style="color:#27ae60">X1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">13</span>, <span style="color:#27ae60">X2</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">-</span><span style="color:#f67400">13</span>, <span style="color:#27ae60">X3</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">+</span><span style="color:#f67400">13</span>, 0267 <span style="color:#27ae60">Y1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">13.13</span>, <span style="color:#27ae60">Y2</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">-</span><span style="color:#f67400">13.13</span>, <span style="color:#27ae60">Y3</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">+</span><span style="color:#f67400">13.13</span>, 0268 <span style="color:#27ae60">Z1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">13.13e-23</span>, <span style="color:#27ae60">Z2</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">-</span><span style="color:#f67400">13.13e-23</span>, <span style="color:#27ae60">Z3</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">+</span><span style="color:#f67400">13.13e-23</span>, 0269 <span style="color:#27ae60">C1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'A</span>, <span style="color:#27ae60">C2</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0''</span>, <span style="color:#27ae60">C3</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'"</span>, <span style="color:#27ae60">C4</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'%</span>, 0270 <span style="color:#27ae60">C5</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'\n</span>, <span style="color:#27ae60">C6</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'\\</span>, <span style="color:#27ae60">C7</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'\'</span>, <span style="color:#27ae60">C8</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'\"</span>, <span style="color:#27ae60">C9</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0'\`</span>, 0271 <span style="color:#27ae60">B1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0b1011101</span>, 0272 <span style="color:#27ae60">O1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0o1234560</span>, 0273 <span style="color:#27ae60">H1</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">0x1234567890abcDEF</span>. 0274 0275 functions <span style="color:#2980b9">:-</span> 0276 <span style="color:#27ae60">A</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">atan</span>(<span style="color:#f67400">3.14</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">atan2</span>(<span style="color:#f67400">1</span>, <span style="color:#f67400">0</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">acos</span>(<span style="color:#f67400">0.5</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">asin</span>(<span style="color:#f67400">0.5</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">sin</span>(<span style="color:#f67400">0.77</span>) <span style="color:#2980b9">-</span> <span style="color:#8e44ad">cos</span>(<span style="color:#f67400">123.23</span>) <span style="color:#2980b9">-</span> <span style="color:#8e44ad">tan</span>(<span style="color:#f67400">0.33</span>), 0277 <span style="color:#27ae60">B</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">sign</span>(<span style="color:#2980b9">-</span><span style="color:#f67400">12</span>) <span style="color:#2980b9">*</span> <span style="color:#8e44ad">abs</span>(<span style="color:#f67400">35</span><span style="color:#2980b9">/</span><span style="color:#f67400">78</span>), 0278 <span style="color:#27ae60">C</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">truncate</span>(<span style="color:#f67400">3.14</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">round</span>(<span style="color:#2980b9">-</span><span style="color:#f67400">7.8</span>) <span style="color:#2980b9">-</span> <span style="color:#8e44ad">ceiling</span>(<span style="color:#f67400">111.88</span>), 0279 <span style="color:#27ae60">D</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">exp</span>(<span style="color:#f67400">3.8</span>) <span style="color:#2980b9">-</span> <span style="color:#8e44ad">log</span>(<span style="color:#f67400">123.98</span>) <span style="color:#2980b9">/</span> <span style="color:#8e44ad">sqrt</span>(<span style="color:#f67400">33</span>) <span style="color:#2980b9">*</span> <span style="color:#f67400">23</span> <span style="color:#2980b9">**</span> <span style="color:#f67400">4</span> <span style="color:#2980b9">+</span> <span style="color:#f67400">12345</span><span style="color:#2980b9">^</span><span style="color:#f67400">2</span>, 0280 <span style="color:#27ae60">E</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">rem</span>(<span style="color:#f67400">3</span>, <span style="color:#f67400">2</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">mod</span>(<span style="color:#f67400">5</span>, <span style="color:#f67400">3</span>) <span style="color:#2980b9">-</span> <span style="color:#8e44ad">div</span>(<span style="color:#f67400">8</span>, <span style="color:#f67400">4</span>) <span style="color:#2980b9">*</span> <span style="color:#f67400">2</span> <span style="color:#2980b9">rem</span> <span style="color:#f67400">2</span> <span style="color:#2980b9">//</span> <span style="color:#f67400">5</span> <span style="color:#2980b9">mod</span> <span style="color:#f67400">3</span> <span style="color:#2980b9">-</span> <span style="color:#f67400">8</span> <span style="color:#2980b9">div</span> <span style="color:#f67400">4</span> <span style="color:#2980b9">+</span> <span style="color:#2980b9">pi</span> <span style="color:#2980b9">*</span> <span style="color:#2980b9">e</span>, 0281 <span style="color:#27ae60">F</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">float_fractional_part</span>(<span style="color:#f67400">3.14</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">float_integer_part</span>(<span style="color:#f67400">3.14</span>), 0282 <span style="color:#27ae60">G</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">float</span>(<span style="color:#f67400">33</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">floor</span>(<span style="color:#f67400">99.99</span>), 0283 <span style="color:#27ae60">I</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">min</span>(<span style="color:#f67400">3</span>,<span style="color:#f67400">4</span>) <span style="color:#2980b9">+</span> <span style="color:#8e44ad">max</span>(<span style="color:#f67400">4</span>,<span style="color:#f67400">5</span>). 0284 0285 bitwise <span style="color:#2980b9">:-</span> 0286 <span style="color:#27ae60">A</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">16</span> <span style="color:#2980b9">>></span> <span style="color:#f67400">2</span>, 0287 <span style="color:#27ae60">B</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">16</span> <span style="color:#2980b9"><<</span> <span style="color:#f67400">2</span>, 0288 <span style="color:#27ae60">C</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">10</span> <span style="color:#2980b9">/\</span> <span style="color:#f67400">12</span>, 0289 <span style="color:#27ae60">D</span> <span style="color:#2980b9">is</span> <span style="color:#f67400">10</span> <span style="color:#2980b9">\/</span> <span style="color:#f67400">12</span>, 0290 <span style="color:#27ae60">E</span> <span style="color:#2980b9">is</span> \ <span style="color:#f67400">10</span>, 0291 <span style="color:#27ae60">F</span> <span style="color:#2980b9">is</span> <span style="color:#8e44ad">xor</span>(<span style="color:#f67400">13</span>, <span style="color:#f67400">7</span>). 0292 0293 term_unification <span style="color:#2980b9">:-</span> 0294 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">=</span> <span style="color:#27ae60">Term2</span>, 0295 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">\=</span> <span style="color:#27ae60">Term2</span>, 0296 <span style="color:#8e44ad">unify_with_occurs_check</span>(<span style="color:#27ae60">Term1</span>, <span style="color:#27ae60">Term2</span>), 0297 <span style="color:#8e44ad">subsumes_term</span>(<span style="color:#27ae60">General</span>, <span style="color:#27ae60">Specific</span>). 0298 0299 term_testing <span style="color:#2980b9">:-</span> 0300 <span style="color:#8e44ad">atom</span>(<span style="color:#27ae60">Atom</span>), 0301 <span style="color:#8e44ad">atomic</span>(<span style="color:#27ae60">Atomic</span>), 0302 <span style="color:#8e44ad">integer</span>(<span style="color:#27ae60">Integer</span>), 0303 <span style="color:#8e44ad">float</span>(<span style="color:#27ae60">Float</span>), 0304 <span style="color:#8e44ad">callable</span>(<span style="color:#27ae60">Term</span>), 0305 <span style="color:#8e44ad">compound</span>(<span style="color:#27ae60">Term</span>), 0306 <span style="color:#8e44ad">nonvar</span>(<span style="color:#27ae60">Term</span>), 0307 <span style="color:#8e44ad">var</span>(<span style="color:#27ae60">Term</span>), 0308 <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">Number</span>), 0309 <span style="color:#8e44ad">ground</span>(<span style="color:#27ae60">Term</span>), 0310 <span style="color:#8e44ad">acyclic_term</span>(<span style="color:#27ae60">Term</span>). 0311 0312 term_comparison <span style="color:#2980b9">:-</span> 0313 <span style="color:#8e44ad">compare</span>(<span style="color:#27ae60">Order</span>, <span style="color:#27ae60">Term1</span>, <span style="color:#27ae60">Term2</span>), 0314 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">==</span> <span style="color:#27ae60">Term2</span>, 0315 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">\==</span> <span style="color:#27ae60">Term2</span>, 0316 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">@<</span> <span style="color:#27ae60">Term2</span>, 0317 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">@=<</span> <span style="color:#27ae60">Term2</span>, 0318 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">@>=</span> <span style="color:#27ae60">Term2</span>, 0319 <span style="color:#27ae60">Term1</span> <span style="color:#2980b9">@></span> <span style="color:#27ae60">Term2</span>. 0320 0321 term_creation_and_decomposition <span style="color:#2980b9">:-</span> 0322 <span style="color:#8e44ad">functor</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Name</span>, <span style="color:#27ae60">Arity</span>), 0323 <span style="color:#8e44ad">arg</span>(<span style="color:#27ae60">N</span>, <span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Arg</span>), 0324 <span style="color:#27ae60">Term</span> <span style="color:#2980b9">=..</span> [<span style="color:#27ae60">Functor</span>| <span style="color:#27ae60">Args</span>], 0325 <span style="color:#8e44ad">copy_term</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Copy</span>), 0326 <span style="color:#8e44ad">numbervars</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Start</span>, <span style="color:#27ae60">End</span>), 0327 <span style="color:#8e44ad">term_variables</span>(<span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Variables</span>). 0328 0329 arithmetic_evaluation <span style="color:#2980b9">:-</span> 0330 <span style="color:#27ae60">X</span> <span style="color:#2980b9">is</span> <span style="color:#27ae60">Expression</span>. 0331 0332 arithmetic_comparison <span style="color:#2980b9">:-</span> 0333 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9">=:=</span> <span style="color:#27ae60">Exp2</span>, 0334 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9">=\=</span> <span style="color:#27ae60">Exp2</span>, 0335 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9"><</span> <span style="color:#27ae60">Exp2</span>, 0336 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9">=<</span> <span style="color:#27ae60">Exp2</span>, 0337 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9">></span> <span style="color:#27ae60">Exp2</span>, 0338 <span style="color:#27ae60">Exp1</span> <span style="color:#2980b9">>=</span> <span style="color:#27ae60">Exp2</span>. 0339 0340 stream_selection_and_control <span style="color:#2980b9">:-</span> 0341 <span style="color:#8e44ad">current_input</span>(<span style="color:#27ae60">Stream</span>), 0342 <span style="color:#8e44ad">current_output</span>(<span style="color:#27ae60">Stream</span>), 0343 <span style="color:#8e44ad">set_input</span>(<span style="color:#27ae60">Stream</span>), 0344 <span style="color:#8e44ad">set_output</span>(<span style="color:#27ae60">Stream</span>), 0345 <span style="color:#8e44ad">open</span>(<span style="color:#27ae60">Source</span>, <span style="color:#27ae60">Mode</span>, <span style="color:#27ae60">Stream</span>, <span style="color:#27ae60">Options</span>), 0346 <span style="color:#8e44ad">close</span>(<span style="color:#27ae60">Stream</span>), 0347 <span style="color:#8e44ad">flush_output</span>(<span style="color:#27ae60">Stream</span>), 0348 <span style="color:#8e44ad">stream_property</span>(<span style="color:#27ae60">Stream</span>, <span style="color:#27ae60">Property</span>), 0349 <span style="color:#8e44ad">at_end_of_stream</span>(<span style="color:#27ae60">Stream</span>), 0350 <span style="color:#8e44ad">set_stream_position</span>(<span style="color:#27ae60">Stream</span>, <span style="color:#27ae60">Position</span>), 0351 <span style="color:#8e44ad">flush_output</span>, 0352 <span style="color:#8e44ad">at_end_of_stream</span>. 0353 0354 character_input_output <span style="color:#2980b9">:-</span> 0355 <span style="color:#8e44ad">get_char</span>(<span style="color:#27ae60">Char</span>), 0356 <span style="color:#8e44ad">get_code</span>(<span style="color:#27ae60">Code</span>), 0357 <span style="color:#8e44ad">peek_char</span>(<span style="color:#27ae60">Char</span>), 0358 <span style="color:#8e44ad">peek_code</span>(<span style="color:#27ae60">Code</span>), 0359 <span style="color:#8e44ad">put_char</span>(<span style="color:#27ae60">Char</span>), 0360 <span style="color:#8e44ad">put_code</span>(<span style="color:#27ae60">Code</span>), 0361 <span style="color:#8e44ad">nl</span>(<span style="color:#27ae60">Stream</span>), 0362 <span style="color:#8e44ad">nl</span>. 0363 0364 byte_input_output <span style="color:#2980b9">:-</span> 0365 <span style="color:#8e44ad">get_byte</span>(<span style="color:#27ae60">Byte</span>), 0366 <span style="color:#8e44ad">peek_byte</span>(<span style="color:#27ae60">Byte</span>), 0367 <span style="color:#8e44ad">put_byte</span>(<span style="color:#27ae60">Byte</span>). 0368 0369 term_input_output <span style="color:#2980b9">:-</span> 0370 <span style="color:#8e44ad">read</span>(<span style="color:#27ae60">Term</span>), 0371 <span style="color:#8e44ad">read_term</span>(<span style="color:#27ae60">Stream</span>, <span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Options</span>), 0372 <span style="color:#8e44ad">write</span>(<span style="color:#27ae60">Term</span>), 0373 <span style="color:#8e44ad">write</span>(<span style="color:#27ae60">Term</span>), 0374 <span style="color:#8e44ad">write_canonical</span>(<span style="color:#27ae60">Term</span>), 0375 <span style="color:#8e44ad">write_term</span>(<span style="color:#27ae60">Stream</span>, <span style="color:#27ae60">Term</span>, <span style="color:#27ae60">Options</span>), 0376 <span style="color:#8e44ad">current_op</span>(<span style="color:#27ae60">Precedence</span>, <span style="color:#27ae60">Associativity</span>, <span style="color:#27ae60">Operator</span>), 0377 <span style="color:#8e44ad">op</span>(<span style="color:#27ae60">Precedence</span>, <span style="color:#27ae60">Associativity</span>, <span style="color:#27ae60">Operator</span>), 0378 <span style="color:#8e44ad">current_char_conversion</span>(<span style="color:#27ae60">InChar</span>, <span style="color:#27ae60">OutChar</span>), 0379 <span style="color:#8e44ad">char_conversion</span>(<span style="color:#27ae60">InChar</span>, <span style="color:#27ae60">OutChar</span>). 0380 0381 logic_and_control <span style="color:#2980b9">:-</span> 0382 <span style="color:#2980b9">\+</span> <span style="color:#27ae60">Goal</span>, 0383 <span style="color:#8e44ad">call</span>(<span style="color:#27ae60">Goal</span>), 0384 <span style="color:#8e44ad">once</span>(<span style="color:#27ae60">Goal</span>), 0385 <span style="color:#8e44ad">ignore</span>(<span style="color:#27ae60">Goal</span>), 0386 <span style="color:#8e44ad">true</span>, 0387 <span style="color:#8e44ad">fail</span>, 0388 <span style="color:#8e44ad">false</span>, 0389 <span style="color:#8e44ad">repeat</span>, 0390 <span style="color:#2980b9">!</span>. 0391 0392 atomic_term_processing <span style="color:#2980b9">:-</span> 0393 <span style="color:#8e44ad">atom_length</span>(<span style="color:#27ae60">Atom</span>, <span style="color:#27ae60">Length</span>), 0394 <span style="color:#8e44ad">atom_chars</span>(<span style="color:#27ae60">Atom</span>, <span style="color:#27ae60">Chars</span>), 0395 <span style="color:#8e44ad">atom_codes</span>(<span style="color:#27ae60">Atom</span>, <span style="color:#27ae60">Codes</span>), 0396 <span style="color:#8e44ad">atom_concat</span>(<span style="color:#27ae60">Atom1</span>, <span style="color:#27ae60">Atom2</span>, <span style="color:#27ae60">Atom</span>), 0397 <span style="color:#8e44ad">sub_atom</span>(<span style="color:#27ae60">Atom</span>, <span style="color:#27ae60">Before</span>, <span style="color:#27ae60">Length</span>, <span style="color:#27ae60">After</span>, <span style="color:#27ae60">SubAtom</span>), 0398 <span style="color:#8e44ad">char_code</span>(<span style="color:#27ae60">Char</span>, <span style="color:#27ae60">Code</span>), 0399 <span style="color:#8e44ad">number_chars</span>(<span style="color:#27ae60">Number</span>, <span style="color:#27ae60">Chars</span>), 0400 <span style="color:#8e44ad">number_codes</span>(<span style="color:#27ae60">Number</span>, <span style="color:#27ae60">Codes</span>). 0401 0402 implementation_defined_hooks <span style="color:#2980b9">:-</span> 0403 <span style="color:#8e44ad">current_prolog_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>), 0404 <span style="color:#8e44ad">set_prolog_flag</span>(<span style="color:#27ae60">Flag</span>, <span style="color:#27ae60">Value</span>), 0405 <span style="color:#8e44ad">halt</span>(<span style="color:#27ae60">ExitCode</span>), 0406 <span style="color:#8e44ad">halt</span>. 0407 0408 sorting <span style="color:#2980b9">:-</span> 0409 <span style="color:#8e44ad">keysort</span>(<span style="color:#27ae60">List</span>, <span style="color:#27ae60">Sorted</span>), 0410 <span style="color:#8e44ad">sort</span>(<span style="color:#27ae60">List</span>, <span style="color:#27ae60">Sorted</span>). 0411 0412 <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">C</span>) <span style="color:#2980b9">--></span> <span style="color:#f44f4f">"+"</span>, <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">C</span>). 0413 <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">C</span>) <span style="color:#2980b9">--></span> <span style="color:#f44f4f">"-"</span>, <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">X</span>), <span style="color:#2980b9">{</span><span style="color:#27ae60">C</span> <span style="color:#2980b9">is</span> <span style="color:#2980b9">-</span><span style="color:#27ae60">X</span><span style="color:#2980b9">}</span>. 0414 <span style="color:#8e44ad">number</span>(<span style="color:#27ae60">X</span>) <span style="color:#2980b9">--></span> [<span style="color:#27ae60">C</span>], <span style="color:#2980b9">{</span><span style="color:#f67400">0'0</span> <span style="color:#2980b9">=<</span> <span style="color:#27ae60">C</span>, <span style="color:#27ae60">C</span> <span style="color:#2980b9">=<</span> <span style="color:#f67400">0'9</span>, <span style="color:#27ae60">X</span> <span style="color:#2980b9">is</span> <span style="color:#27ae60">C</span> <span style="color:#2980b9">-</span> <span style="color:#f67400">0'0</span><span style="color:#2980b9">}</span>. 0415 0416 escape_sequences <span style="color:#2980b9">:-</span> 0417 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with a quote ('') inside.'</span>), 0418 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with a quote (</span><span style="color:#3daee9">\'</span><span style="color:#f44f4f">) inside using a control escape sequence.'</span>), 0419 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with a backslash (</span><span style="color:#3daee9">\\</span><span style="color:#f44f4f">) inside.'</span>), 0420 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with control escape sequences: </span><span style="color:#3daee9">\a</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\b</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\r</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\f</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\t</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\n</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\v</span><span style="color:#f44f4f">'</span>), 0421 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with an octal escape sequence: </span><span style="color:#3daee9">\123\</span><span style="color:#f44f4f">.'</span>), 0422 <span style="color:#8e44ad">write</span>(<span style="color:#f44f4f">'Quoted atom with an hexadecimal escape sequence: </span><span style="color:#3daee9">\x123f\</span><span style="color:#f44f4f">.'</span>). 0423 0424 <span style="color:#7a7c7d">% nothing in the following predicate definition should be highlighted</span> 0425 sort <span style="color:#2980b9">:-</span> 0426 forall, 0427 object, 0428 write, 0429 number. 0430 0431 :-<span style="font-weight:bold"> end_object</span>. 0432 0433 0434 :-<span style="font-weight:bold"> object</span>(class, 0435 <span style="font-weight:bold">implements</span>(protected<span style="color:#2980b9">::</span>protocol), 0436 <span style="font-weight:bold">imports</span>(private<span style="color:#2980b9">::</span>category), 0437 <span style="font-weight:bold">instantiates</span>(metaclass), 0438 <span style="font-weight:bold">specializes</span>(superclass)). 0439 0440 :-<span style="font-weight:bold"> end_object</span>. 0441 0442 0443 :-<span style="font-weight:bold"> object</span>(parametric(<span style="color:#27ae60">Parameter</span>, <span style="color:#f44f4f">"String"</span>, <span style="color:#f67400">33.78</span>), 0444 <span style="font-weight:bold">implements</span>(protocol), 0445 <span style="font-weight:bold">imports</span>(category), 0446 <span style="font-weight:bold">extends</span>(parent(<span style="color:#27ae60">Parameter</span>))). 0447 0448 :-<span style="font-weight:bold"> end_object</span>. 0449 0450 0451 :-<span style="font-weight:bold"> category</span>(category, 0452 <span style="font-weight:bold">implements</span>(protocol), 0453 <span style="font-weight:bold">extends</span>(other_category)). 0454 0455 :-<span style="font-weight:bold"> end_category</span>. 0456 0457 0458 :-<span style="font-weight:bold"> protocol</span>(extended, 0459 <span style="font-weight:bold">extends</span>(minimal)). 0460 0461 :-<span style="font-weight:bold"> end_protocol</span>. 0462 0463 0464 :-<span style="font-weight:bold"> module</span>(module, [foo<span style="color:#2980b9">/</span><span style="color:#f67400">1</span>, bar<span style="color:#2980b9">/</span><span style="color:#f67400">2</span>]). 0465 0466 :-<span style="font-weight:bold"> use_module</span>(library). 0467 :-<span style="font-weight:bold"> use_module</span>(library, [baz<span style="color:#2980b9">/</span><span style="color:#f67400">3</span>]). 0468 0469 :-<span style="font-weight:bold"> reexport</span>(library). 0470 :-<span style="font-weight:bold"> reexport</span>(library, [qux<span style="color:#2980b9">/</span><span style="color:#f67400">4</span>]). 0471 0472 :-<span style="font-weight:bold"> export</span>(quux<span style="color:#2980b9">/</span><span style="color:#f67400">5</span>). 0473 </pre></body></html>