From 5345523da375bda2c179b4f82893bfc45eef81da Mon Sep 17 00:00:00 2001
From: pmoura
-Last updated on: February 10, 2001 +Last updated on: July 29, 2002
-User manual | Reference manual | Bibliography +User manual | Reference manual | Tutorial | Bibliography
-Last updated on: February 10, 2001 +Last updated on: July 29, 2002
@@ -19,7 +22,7 @@ (pmoura@logtalk.org)
-Last updated on: June 15, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: February 9, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: February 9, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 22, 2001 +Last updated on: July 29, 2002
-Last updated on: October 22, 2001 +Last updated on: July 29, 2002
-Last updated on: October 22, 2001 +Last updated on: July 29, 2002
-Last updated on: February 9, 2002 +Last updated on: July 29, 2002
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: February 9, 2002 +Last updated on: July 29, 2002
-Last updated on: May 14, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Previous | Next | Table of Contents | Bibliography | Glossary +Previous | Next | Table of Contents | Bibliography | Glossary
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: November 26, 2001 +Last updated on: July 29, 2002
-Last updated on: May 14, 2002 +Last updated on: July 29, 2002
-Last updated on: March 31, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: April 2, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: February 9, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: April 2, 2002 +Last updated on: July 29, 2002
-Last updated on: April 2, 2002 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: October 21, 2001 +Last updated on: July 29, 2002
-Last updated on: March 12, 2001 +Last updated on: July 29, 2002
-Last updated on: April 21, 2002 +Last updated on: July 29, 2002
list
, containing predicate def
What is different here from a regular Prolog program? The definitions of the list predicates are the usual ones. We have two new directives, object/1
and end_object/0
, that encapsulate the object's code. In Logtalk, by default, all object predicates are private; therefore, we have to explicitly declare all predicates that we want to be public, that is, that we want to call from outside the object. This is done using the public/1
scope directive.
-After we copy the object code to a text file and saved it under the name list.lgt
, we need to change the Prolog working directory to the one used to save our file (consult your Prolog compiler reference manual). Then, after starting Logtalk (see the Installing and running Logtalk session on the User Manual), we can compile and load the object using the logtalk_load/1
Logtalk built-in predicate:
+After we copy the object code to a text file and saved it under the name list.lgt
, we need to change the Prolog working directory to the one used to save our file (consult your Prolog compiler reference manual). Then, after starting Logtalk (see the Installing and running Logtalk session on the User Manual), we can compile and load the object using the logtalk_load/1
Logtalk built-in predicate:
| ?- logtalk_load([list]). @@ -197,7 +200,7 @@ The protocol declared inlistp
may now be alternatively implemented Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: October 1, 2000 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/tutorial/profiling.html b/Logtalk/manuals/tutorial/profiling.html index 079f2a93c..25adfa2dc 100644 --- a/Logtalk/manuals/tutorial/profiling.html +++ b/Logtalk/manuals/tutorial/profiling.html @@ -1,11 +1,14 @@ - + + - + + +Profiling programs - + @@ -154,7 +157,7 @@ This call will abolish all events defined over the objectfoo
assig Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: July 4, 2000 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/tutorial/reflection.html b/Logtalk/manuals/tutorial/reflection.html index 691417455..f46b872ee 100644 --- a/Logtalk/manuals/tutorial/reflection.html +++ b/Logtalk/manuals/tutorial/reflection.html @@ -1,11 +1,14 @@ - + + - + + +A reflective class-based system - + @@ -80,7 +83,7 @@ Note that all three objects are instances of classclass
. The insta Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: July 4, 2000 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/categories.html b/Logtalk/manuals/userman/categories.html index c16f425b9..ac269fb9b 100644 --- a/Logtalk/manuals/userman/categories.html +++ b/Logtalk/manuals/userman/categories.html @@ -1,11 +1,14 @@ - + + - + + +Categories - + @@ -277,7 +280,7 @@ Omitting the scope keyword is equivalent to writing: Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/configuration.html b/Logtalk/manuals/userman/configuration.html index f6767cd69..668889104 100644 --- a/Logtalk/manuals/userman/configuration.html +++ b/Logtalk/manuals/userman/configuration.html @@ -1,11 +1,14 @@ - + + - + + +Logtalk configuration - + @@ -69,7 +72,7 @@ If you are unsure that your Prolog compiler provides all the ISO predicates need Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: June 15, 2002 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/documenting.html b/Logtalk/manuals/userman/documenting.html index bdfe093a2..dd1841311 100644 --- a/Logtalk/manuals/userman/documenting.html +++ b/Logtalk/manuals/userman/documenting.html @@ -1,11 +1,14 @@ - + + - + + +Documenting Logtalk programs - + @@ -120,7 +123,7 @@ The XML documenting files are (by default) automatically generated when you comp Each XML file contains references to two other files:logtalk.dtd
, a DTD file describing the XML file structure, and a XSL style sheet file responsible for converting the XML files to some desired format like HTML. The name of the XSL file can be changed in the configuration files via thelgt_file_name/2
predicate. The default value islgtxml.xsl
, a XSL file that enables Logtalk XML files to be viewed directly in a web browser. The HTML output refers a CSS file,logtalk.css
, that specifies how the HTML code will be rendered. The three default files are contained in thexml
sub-directory in the Logtalk installation directory. This directory may also contain other files for specific XSLT processors or for converting XML to other formats besides HTML. Please read theNOTES
file included in the directory for details.-There is a set of compilers options, used with the Logtalk
logtalk_load/2
or thelogtalk_compile/2
built-in predicates, that can be used to control the generation of the XML documentation files. Please see the Installing and running Logtalk section of this manual for details. +There is a set of compilers options, used with the Logtalklogtalk_load/2
or thelogtalk_compile/2
built-in predicates, that can be used to control the generation of the XML documentation files. Please see the Installing and running Logtalk section of this manual for details.By default, all file references use relative paths, assuming that the
.xml
documentation files and the.dtd
,.xsl
, and.css
files reside in the same directory. This can acomplished either by copying the DTD and style files to the your application compiling directory or by using file aliases or symbolic links, depending on the operating system that you are using. Of course, you may also copy the*.xml
files to thexml
sub-directory. @@ -134,7 +137,7 @@ To view the XML documenting files you can open them in a web browser that suppor Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: October 6, 2001 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/errors.html b/Logtalk/manuals/userman/errors.html index 2d8a78546..0cdc29b61 100644 --- a/Logtalk/manuals/userman/errors.html +++ b/Logtalk/manuals/userman/errors.html @@ -1,11 +1,14 @@ - + + - + + +Error handling - + @@ -48,7 +51,7 @@ For example: The Logtalk preprocessor/compiler uses theread_term/3
ISO Prolog defined built-in predicate to read and process a Logtalk source file. One consequence of this is that invalid Prolog terms or syntax errors may abort the compilation process with limited information given to the user (due to the inherent limitations of theread_term/3
predicate).-If all the (Prolog) terms in a source file are valid, then there is a set of errors or potential errors, described below, that the preprocessor will try to detect and report, depending on the used compiler options (see the Installing and running Logtalk section of this manual for details). +If all the (Prolog) terms in a source file are valid, then there is a set of errors or potential errors, described below, that the preprocessor will try to detect and report, depending on the used compiler options (see the Installing and running Logtalk section of this manual for details).
Unknown entities
@@ -129,7 +132,7 @@ The message sending mechanisms always check if the receiver of a message is a de Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/events.html b/Logtalk/manuals/userman/events.html index ea778356e..8fb453add 100644 --- a/Logtalk/manuals/userman/events.html +++ b/Logtalk/manuals/userman/events.html @@ -1,11 +1,14 @@ - + + - + + +Event-driven programming - + @@ -283,7 +286,7 @@ To stop tracing, we can use theabolish_events/5
built-in predicate Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: July 4, 2000 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/features.html b/Logtalk/manuals/userman/features.html index 59f248216..b38b3a0a3 100644 --- a/Logtalk/manuals/userman/features.html +++ b/Logtalk/manuals/userman/features.html @@ -1,11 +1,14 @@ - + + - + + +Logtalk features - + @@ -108,7 +111,7 @@ The Logtalk system has been designed to be compatible with most Prolog compilers Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/index.html b/Logtalk/manuals/userman/index.html index 240eda2f9..de2abb920 100644 --- a/Logtalk/manuals/userman/index.html +++ b/Logtalk/manuals/userman/index.html @@ -1,11 +1,14 @@ - + + - + + +Logtalk User Manual - + @@ -218,7 +221,7 @@ Reference manual | Tutorial | Bibliography | Glossary-Last updated on: June 15, 2002 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/inheritance.html b/Logtalk/manuals/userman/inheritance.html index 0f7847c03..0dc34572d 100644 --- a/Logtalk/manuals/userman/inheritance.html +++ b/Logtalk/manuals/userman/inheritance.html @@ -1,11 +1,14 @@ - + + - + + +Inheritance - + @@ -266,7 +269,7 @@ Nevertheless, Logtalk supports multi-inheritance by enabling an object to extend Previous | Next | Table of Contents | Bibliography | Glossary-Last updated on: July 4, 2000 +Last updated on: July 29, 2002
diff --git a/Logtalk/manuals/userman/installing.html b/Logtalk/manuals/userman/installing.html index 3745465d4..69f91ac3b 100644 --- a/Logtalk/manuals/userman/installing.html +++ b/Logtalk/manuals/userman/installing.html @@ -1,11 +1,14 @@ - + + - + + +Installing and running Logtalk - + @@ -266,7 +269,15 @@ You can use the following options:
smart_compilation(Option)
on
and off
(the usual default).on
and off
(the usual default).named_anonymous_vars(Option)
on
and off
(the usual default).code_prefix(Option)
@@ -318,7 +329,7 @@ To supress printing of compiling and loading messages (including compiling warni Previous | Next | Table of Contents | Bibliography | Glossary
-Last updated on: June 12, 2002 +Last updated on: July 29, 2002
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
user
that contains all user p
Previous | Next | Table of Contents | Bibliography | Glossary
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
-Last updated on: May 6, 2002 +Last updated on: July 29, 2002
Generated on "$date"
" >> index.html +echo "" >> index.html +echo "" >> index.html + +echo index file generated +echo diff --git a/Logtalk/xml/ie50.xsl b/Logtalk/xml/ie50.xsl index 8c8aa3787..adad0f66a 100644 --- a/Logtalk/xml/ie50.xsl +++ b/Logtalk/xml/ie50.xsl @@ -8,7 +8,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/lgthtml.xsl b/Logtalk/xml/lgthtml.xsl index a6489c007..68fb57ffe 100644 --- a/Logtalk/xml/lgthtml.xsl +++ b/Logtalk/xml/lgthtml.xsl @@ -14,7 +14,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/lgtpdfa4.xsl b/Logtalk/xml/lgtpdfa4.xsl index 4fdc28f71..b47752819 100644 --- a/Logtalk/xml/lgtpdfa4.xsl +++ b/Logtalk/xml/lgtpdfa4.xsl @@ -9,7 +9,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/lgtpdfus.xsl b/Logtalk/xml/lgtpdfus.xsl index 06173d2e7..8cb197077 100644 --- a/Logtalk/xml/lgtpdfus.xsl +++ b/Logtalk/xml/lgtpdfus.xsl @@ -9,7 +9,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/lgtxml.xsl b/Logtalk/xml/lgtxml.xsl index 2fc897bd5..6eb57b25d 100644 --- a/Logtalk/xml/lgtxml.xsl +++ b/Logtalk/xml/lgtxml.xsl @@ -14,7 +14,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/logtalk.dtd b/Logtalk/xml/logtalk.dtd index 04a25882d..5b29b2da9 100644 --- a/Logtalk/xml/logtalk.dtd +++ b/Logtalk/xml/logtalk.dtd @@ -3,7 +3,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/logtalk.xsd b/Logtalk/xml/logtalk.xsd index e5dd3c707..0101f87c0 100644 --- a/Logtalk/xml/logtalk.xsd +++ b/Logtalk/xml/logtalk.xsd @@ -15,7 +15,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/Logtalk/xml/texml.xsl b/Logtalk/xml/texml.xsl index 3e94a7354..3b1f66940 100644 --- a/Logtalk/xml/texml.xsl +++ b/Logtalk/xml/texml.xsl @@ -12,7 +12,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % diff --git a/library/logtalk/logtalk.pl b/library/logtalk/logtalk.pl index 13db9e54a..62c2aa0fa 100644 --- a/library/logtalk/logtalk.pl +++ b/library/logtalk/logtalk.pl @@ -2,7 +2,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog -% Release 2.13.0 +% Release 2.14.1 % % Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved. % @@ -47,23 +47,23 @@ % tables of defined events and monitors -:- dynamic(lgt_before_/5). % lgt_before_(Obj, Msg, Sender, Monitor, Call) -:- dynamic(lgt_after_/5). % lgt_after_(Obj, Msg, Sender, Monitor, Call) +:- dynamic('$lgt_before_'/5). % '$lgt_before_'(Obj, Msg, Sender, Monitor, Call) +:- dynamic('$lgt_after_'/5). % '$lgt_after_'(Obj, Msg, Sender, Monitor, Call) % tables of loaded entities and respective relationships -:- dynamic(lgt_current_protocol_/2). % lgt_current_protocol_(Ptc, Prefix) -:- dynamic(lgt_current_category_/2). % lgt_current_category_(Ctg, Prefix) -:- dynamic(lgt_current_object_/5). % lgt_current_object_(Obj, Prefix, Dcl, Def, Super) +:- dynamic('$lgt_current_protocol_'/2). % '$lgt_current_protocol_'(Ptc, Prefix) +:- dynamic('$lgt_current_category_'/2). % '$lgt_current_category_'(Ctg, Prefix) +:- dynamic('$lgt_current_object_'/5). % '$lgt_current_object_'(Obj, Prefix, Dcl, Def, Super) -:- dynamic(lgt_implements_protocol_/3). % lgt_implements_protocol_(ObjOrCtg, Ptc, Scope) -:- dynamic(lgt_imports_category_/3). % lgt_imports_category_(Obj, Ctg, Scope) -:- dynamic(lgt_instantiates_class_/3). % lgt_instantiates_class_(Instance, Class, Scope) -:- dynamic(lgt_specializes_class_/3). % lgt_specializes_class_(Class, Superclass, Scope) -:- dynamic(lgt_extends_protocol_/3). % lgt_extends_protocol_(Ptc1, Ptc2, Scope) -:- dynamic(lgt_extends_object_/3). % lgt_extends_object_(Prototype, Parent, Scope) +:- dynamic('$lgt_implements_protocol_'/3). % '$lgt_implements_protocol_'(ObjOrCtg, Ptc, Scope) +:- dynamic('$lgt_imports_category_'/3). % '$lgt_imports_category_'(Obj, Ctg, Scope) +:- dynamic('$lgt_instantiates_class_'/3). % '$lgt_instantiates_class_'(Instance, Class, Scope) +:- dynamic('$lgt_specializes_class_'/3). % '$lgt_specializes_class_'(Class, Superclass, Scope) +:- dynamic('$lgt_extends_protocol_'/3). % '$lgt_extends_protocol_'(Ptc1, Ptc2, Scope) +:- dynamic('$lgt_extends_object_'/3). % '$lgt_extends_object_'(Prototype, Parent, Scope) @@ -76,58 +76,58 @@ -:- dynamic(lgt_dcl_/1). % lgt_dcl_(Clause) -:- dynamic(lgt_ddcl_/1). % lgt_ddcl_(Clause) -:- dynamic(lgt_def_/1). % lgt_def_(Clause) -:- dynamic(lgt_ddef_/1). % lgt_ddef_(Clause) -:- dynamic(lgt_super_/1). % lgt_super_(Clause) +:- dynamic('$lgt_dcl_'/1). % '$lgt_dcl_'(Clause) +:- dynamic('$lgt_ddcl_'/1). % '$lgt_ddcl_'(Clause) +:- dynamic('$lgt_def_'/1). % '$lgt_def_'(Clause) +:- dynamic('$lgt_ddef_'/1). % '$lgt_ddef_'(Clause) +:- dynamic('$lgt_super_'/1). % '$lgt_super_'(Clause) -:- dynamic(lgt_dynamic_/1). % lgt_dynamic_(Functor/Arity) -:- dynamic(lgt_discontiguous_/1). % lgt_discontiguous_(Functor/Arity) -:- dynamic(lgt_mode_/2). % lgt_mode_(Mode, Determinism) -:- dynamic(lgt_public_/1). % lgt_public_(Functor/Arity) -:- dynamic(lgt_protected_/1). % lgt_protected_(Functor/Arity) -:- dynamic(lgt_private_/1). % lgt_private_(Functor/Arity) -:- dynamic(lgt_metapredicate_/1). % lgt_metapredicate_(Pred) +:- dynamic('$lgt_dynamic_'/1). % '$lgt_dynamic_'(Functor/Arity) +:- dynamic('$lgt_discontiguous_'/1). % '$lgt_discontiguous_'(Functor/Arity) +:- dynamic('$lgt_mode_'/2). % '$lgt_mode_'(Mode, Determinism) +:- dynamic('$lgt_public_'/1). % '$lgt_public_'(Functor/Arity) +:- dynamic('$lgt_protected_'/1). % '$lgt_protected_'(Functor/Arity) +:- dynamic('$lgt_private_'/1). % '$lgt_private_'(Functor/Arity) +:- dynamic('$lgt_metapredicate_'/1). % '$lgt_metapredicate_'(Pred) -:- dynamic(lgt_object_/9). % lgt_object_(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef) -:- dynamic(lgt_category_/4). % lgt_category_(Ctg, Prefix, Dcl, Def) -:- dynamic(lgt_protocol_/3). % lgt_protocol_(Ptc, Prefix, Dcl) +:- dynamic('$lgt_object_'/9). % '$lgt_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef) +:- dynamic('$lgt_category_'/4). % '$lgt_category_'(Ctg, Prefix, Dcl, Def) +:- dynamic('$lgt_protocol_'/3). % '$lgt_protocol_'(Ptc, Prefix, Dcl) -:- dynamic(lgt_uses_/1). % lgt_uses_(Entity) -:- dynamic(lgt_calls_/1). % lgt_calls_(Entity) -:- dynamic(lgt_info_/1). % lgt_info_(List) -:- dynamic(lgt_info_/2). % lgt_info_(Functor/Arity, List) +:- dynamic('$lgt_uses_'/1). % '$lgt_uses_'(Entity) +:- dynamic('$lgt_calls_'/1). % '$lgt_calls_'(Entity) +:- dynamic('$lgt_info_'/1). % '$lgt_info_'(List) +:- dynamic('$lgt_info_'/2). % '$lgt_info_'(Functor/Arity, List) -:- dynamic(lgt_implemented_protocol_/4). % lgt_implemented_protocol_(Ptc, Prefix, Dcl, Scope) -:- dynamic(lgt_imported_category_/5). % lgt_imported_category_(Ctg, Prefix, Dcl, Def, Scope) -:- dynamic(lgt_extended_object_/10). % lgt_extended_object_(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) -:- dynamic(lgt_instantiated_class_/10). % lgt_instantiated_class_(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) -:- dynamic(lgt_specialized_class_/10). % lgt_specialized_class_(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) -:- dynamic(lgt_extended_protocol_/4). % lgt_extended_protocol_(Ptc2, Prefix, Dcl, Scope) +:- dynamic('$lgt_implemented_protocol_'/4). % '$lgt_implemented_protocol_'(Ptc, Prefix, Dcl, Scope) +:- dynamic('$lgt_imported_category_'/5). % '$lgt_imported_category_'(Ctg, Prefix, Dcl, Def, Scope) +:- dynamic('$lgt_extended_object_'/10). % '$lgt_extended_object_'(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) +:- dynamic('$lgt_instantiated_class_'/10). % '$lgt_instantiated_class_'(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) +:- dynamic('$lgt_specialized_class_'/10). % '$lgt_specialized_class_'(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope) +:- dynamic('$lgt_extended_protocol_'/4). % '$lgt_extended_protocol_'(Ptc2, Prefix, Dcl, Scope) -:- dynamic(lgt_entity_/4). % lgt_entity_(Type, Entity, Prefix, Dcl) -:- dynamic(lgt_entity_functors_/1). % lgt_entity_functors_(Clause) -:- dynamic(lgt_entity_init_/1). % lgt_entity_init_(Goal) -:- dynamic(lgt_fentity_init_/1). % lgt_fentity_init_(Goal) -:- dynamic(lgt_entity_comp_mode_/1). % lgt_entity_comp_mode_(Type) +:- dynamic('$lgt_entity_'/4). % '$lgt_entity_'(Type, Entity, Prefix, Dcl) +:- dynamic('$lgt_entity_functors_'/1). % '$lgt_entity_functors_'(Clause) +:- dynamic('$lgt_entity_init_'/1). % '$lgt_entity_init_'(Goal) +:- dynamic('$lgt_fentity_init_'/1). % '$lgt_fentity_init_'(Goal) +:- dynamic('$lgt_entity_comp_mode_'/1). % '$lgt_entity_comp_mode_'(Type) -:- dynamic(lgt_redefined_built_in_/3). % lgt_redefined_built_in_(Head, Context, THead) +:- dynamic('$lgt_redefined_built_in_'/3). % '$lgt_redefined_built_in_'(Head, Context, THead) -:- dynamic(lgt_directive_/1). % lgt_directive_(Dir) -:- dynamic(lgt_rclause_/1). % lgt_rclause_(Clause) -:- dynamic(lgt_eclause_/1). % lgt_eclause_(Clause) -:- dynamic(lgt_feclause_/1). % lgt_feclause_(Clause) +:- dynamic('$lgt_directive_'/1). % '$lgt_directive_'(Dir) +:- dynamic('$lgt_rclause_'/1). % '$lgt_rclause_'(Clause) +:- dynamic('$lgt_eclause_'/1). % '$lgt_eclause_'(Clause) +:- dynamic('$lgt_feclause_'/1). % '$lgt_feclause_'(Clause) -:- dynamic(lgt_defs_pred_/1). % lgt_defs_pred_(Functor/Arity) -:- dynamic(lgt_calls_pred_/1). % lgt_calls_pred_(Functor/Arity) +:- dynamic('$lgt_defs_pred_'/1). % '$lgt_defs_pred_'(Functor/Arity) +:- dynamic('$lgt_calls_pred_'/1). % '$lgt_calls_pred_'(Functor/Arity) -:- dynamic(lgt_current_compiler_option_/2). % lgt_current_compiler_option_(Option, Value) -:- dynamic(lgt_flag_/2). % lgt_flag_(Option, Value) +:- dynamic('$lgt_current_compiler_option_'/2). % '$lgt_current_compiler_option_'(Option, Value) +:- dynamic('$lgt_flag_'/2). % '$lgt_flag_'(Option, Value) -:- dynamic(lgt_referenced_object_/1). % lgt_referenced_object_(Object) -:- dynamic(lgt_referenced_protocol_/1). % lgt_referenced_protocol_(Protocol) -:- dynamic(lgt_referenced_category_/1). % lgt_referenced_object_(Category) +:- dynamic('$lgt_referenced_object_'/1). % '$lgt_referenced_object_'(Object) +:- dynamic('$lgt_referenced_protocol_'/1). % '$lgt_referenced_protocol_'(Protocol) +:- dynamic('$lgt_referenced_category_'/1). % '$lgt_referenced_object_'(Category) @@ -149,10 +149,10 @@ Obj::Pred :- throw(error(instantiation_error, Obj::Pred, user)). Obj::Pred :- - lgt_sender(Context, user), - lgt_this(Context, user), - lgt_self(Context, Obj), - lgt_tr_msg(Obj, Pred, Call, Context), + '$lgt_sender'(Context, user), + '$lgt_this'(Context, user), + '$lgt_self'(Context, Obj), + '$lgt_tr_msg'(Obj, Pred, Call, Context), call(Call). @@ -170,11 +170,11 @@ Obj::Pred :- current_object(Obj) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), current_object(Obj))). current_object(Obj) :- - lgt_current_object_(Obj, _, _, _, _). + '$lgt_current_object_'(Obj, _, _, _, _). @@ -182,11 +182,11 @@ current_object(Obj) :- current_protocol(Ptc) :- nonvar(Ptc), - \+ lgt_valid_protocol_id(Ptc), + \+ '$lgt_valid_protocol_id'(Ptc), throw(error(type_error(protocol_identifier, Ptc), current_protocol(Ptc))). current_protocol(Ptc) :- - lgt_current_protocol_(Ptc, _). + '$lgt_current_protocol_'(Ptc, _). @@ -194,11 +194,11 @@ current_protocol(Ptc) :- current_category(Ctg) :- nonvar(Ctg), - \+ lgt_valid_category_id(Ctg), + \+ '$lgt_valid_category_id'(Ctg), throw(error(type_error(category_identifier, Ctg), current_category(Ctg))). current_category(Ctg) :- - lgt_current_category_(Ctg, _). + '$lgt_current_category_'(Ctg, _). @@ -206,20 +206,20 @@ current_category(Ctg) :- object_property(Obj, Prop) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), object_property(Obj, Prop))). object_property(Obj, Prop) :- nonvar(Prop), - \+ lgt_member(Prop, [(dynamic), static, built_in]), + \+ '$lgt_member'(Prop, [(dynamic), static, built_in]), throw(error(domain_error(object_property, Prop), object_property(Obj, Prop))). object_property(user, built_in). object_property(Obj, Prop) :- - lgt_current_object_(Obj, Prefix, _, _, _), + '$lgt_current_object_'(Obj, Prefix, _, _, _), functor(Pred, Prefix, 7), - (lgt_predicate_property(Pred, (dynamic)) -> + ('$lgt_predicate_property'(Pred, (dynamic)) -> Prop = (dynamic) ; Prop = static). @@ -230,18 +230,18 @@ object_property(Obj, Prop) :- category_property(Ctg, Prop) :- nonvar(Ctg), - \+ lgt_valid_category_id(Ctg), + \+ '$lgt_valid_category_id'(Ctg), throw(error(type_error(category_identifier, Ctg), category_property(Ctg, Prop))). category_property(Ctg, Prop) :- nonvar(Prop), - \+ lgt_member(Prop, [(dynamic), static, built_in]), + \+ '$lgt_member'(Prop, [(dynamic), static, built_in]), throw(error(domain_error(category_property, Prop), category_property(Ctg, Prop))). category_property(Ctg, Prop) :- - lgt_current_category_(Ctg, Prefix), + '$lgt_current_category_'(Ctg, Prefix), functor(Pred, Prefix, 2), - (lgt_predicate_property(Pred, (dynamic)) -> + ('$lgt_predicate_property'(Pred, (dynamic)) -> Prop = (dynamic) ; Prop = static). @@ -252,18 +252,18 @@ category_property(Ctg, Prop) :- protocol_property(Ptc, Prop) :- nonvar(Ptc), - \+ lgt_valid_protocol_id(Ptc), + \+ '$lgt_valid_protocol_id'(Ptc), throw(error(type_error(protocol_identifier, Ptc), protocol_property(Ptc, Prop))). protocol_property(Ptc, Prop) :- nonvar(Prop), - \+ lgt_member(Prop, [(dynamic), static, built_in]), + \+ '$lgt_member'(Prop, [(dynamic), static, built_in]), throw(error(domain_error(protocol_property, Prop), protocol_property(Ptc, Prop))). protocol_property(Ptc, Prop) :- - lgt_current_protocol_(Ptc, Prefix), + '$lgt_current_protocol_'(Ptc, Prefix), functor(Pred, Prefix, 1), - (lgt_predicate_property(Pred, (dynamic)) -> + ('$lgt_predicate_property'(Pred, (dynamic)) -> Prop = (dynamic) ; Prop = static). @@ -277,43 +277,43 @@ create_object(Obj, Rels, Dirs, Clauses) :- throw(error(instantiation_error, create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - lgt_current_object_(Obj, _, _, _, _), + '$lgt_current_object_'(Obj, _, _, _, _), throw(error(permission_error(replace, object, Obj), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - lgt_current_category_(Obj, _), + '$lgt_current_category_'(Obj, _), throw(error(permission_error(replace, category, Obj), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - lgt_current_protocol_(Obj, _), + '$lgt_current_protocol_'(Obj, _), throw(error(permission_error(replace, protocol, Obj), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - (var(Rels); \+ lgt_proper_list(Rels)), + (var(Rels); \+ '$lgt_proper_list'(Rels)), throw(error(type_error(list, Rels), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - (var(Dirs); \+ lgt_proper_list(Dirs)), + (var(Dirs); \+ '$lgt_proper_list'(Dirs)), throw(error(type_error(list, Dirs), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - (var(Clauses); \+ lgt_proper_list(Clauses)), + (var(Clauses); \+ '$lgt_proper_list'(Clauses)), throw(error(type_error(list, Clauses), create_object(Obj, Rels, Dirs, Clauses))). create_object(Obj, Rels, Dirs, Clauses) :- - lgt_clean_up, - lgt_tr_directive(object, [Obj| Rels]), - lgt_tr_directives([(dynamic)| Dirs]), - lgt_tr_clauses(Clauses), - lgt_fix_redef_built_ins, - lgt_gen_object_clauses, - lgt_gen_object_directives, - lgt_assert_tr_entity, - lgt_report_unknown_entities. + '$lgt_clean_up', + '$lgt_tr_directive'(object, [Obj| Rels]), + '$lgt_tr_directives'([(dynamic)| Dirs]), + '$lgt_tr_clauses'(Clauses), + '$lgt_fix_redef_built_ins', + '$lgt_gen_object_clauses', + '$lgt_gen_object_directives', + '$lgt_assert_tr_entity', + '$lgt_report_unknown_entities'. @@ -324,43 +324,43 @@ create_category(Ctg, Rels, Dirs, Clauses) :- throw(error(instantiation_error, create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - \+ lgt_valid_category_id(Ctg), + \+ '$lgt_valid_category_id'(Ctg), throw(error(type_error(category_identifier, Ctg), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - lgt_current_category_(Ctg, _), + '$lgt_current_category_'(Ctg, _), throw(error(permission_error(replace, category, Ctg), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - lgt_current_object_(Ctg, _, _, _, _), + '$lgt_current_object_'(Ctg, _, _, _, _), throw(error(permission_error(replace, object, Ctg), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - lgt_current_protocol_(Ctg, _), + '$lgt_current_protocol_'(Ctg, _), throw(error(permission_error(replace, protocol, Ctg), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - (var(Rels); \+ lgt_proper_list(Rels)), + (var(Rels); \+ '$lgt_proper_list'(Rels)), throw(error(type_error(list, Rels), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - (var(Dirs); \+ lgt_proper_list(Dirs)), + (var(Dirs); \+ '$lgt_proper_list'(Dirs)), throw(error(type_error(list, Dirs), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - (var(Clauses); \+ lgt_proper_list(Clauses)), + (var(Clauses); \+ '$lgt_proper_list'(Clauses)), throw(error(type_error(list, Clauses), create_category(Ctg, Rels, Dirs, Clauses))). create_category(Ctg, Rels, Dirs, Clauses) :- - lgt_clean_up, - lgt_tr_directive(category, [Ctg| Rels]), - lgt_tr_directives([(dynamic)| Dirs]), - lgt_tr_clauses(Clauses), - lgt_fix_redef_built_ins, - lgt_gen_category_clauses, - lgt_gen_category_directives, - lgt_assert_tr_entity, - lgt_report_unknown_entities. + '$lgt_clean_up', + '$lgt_tr_directive'(category, [Ctg| Rels]), + '$lgt_tr_directives'([(dynamic)| Dirs]), + '$lgt_tr_clauses'(Clauses), + '$lgt_fix_redef_built_ins', + '$lgt_gen_category_clauses', + '$lgt_gen_category_directives', + '$lgt_assert_tr_entity', + '$lgt_report_unknown_entities'. @@ -371,37 +371,37 @@ create_protocol(Ptc, Rels, Dirs) :- throw(error(instantiation_error, create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - \+ lgt_valid_protocol_id(Ptc), + \+ '$lgt_valid_protocol_id'(Ptc), throw(error(type_error(protocol_identifier, Ptc), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - lgt_current_protocol_(Ptc, _), + '$lgt_current_protocol_'(Ptc, _), throw(error(permission_error(replace, protocol, Ptc), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - lgt_current_object_(Ptc, _, _, _, _), + '$lgt_current_object_'(Ptc, _, _, _, _), throw(error(permission_error(replace, object, Ptc), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - lgt_current_category_(Ptc, _), + '$lgt_current_category_'(Ptc, _), throw(error(permission_error(replace, category, Ptc), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - (var(Rels); \+ lgt_proper_list(Rels)), + (var(Rels); \+ '$lgt_proper_list'(Rels)), throw(error(type_error(list, Rels), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - (var(Dirs); \+ lgt_proper_list(Dirs)), + (var(Dirs); \+ '$lgt_proper_list'(Dirs)), throw(error(type_error(list, Dirs), create_protocol(Ptc, Rels, Dirs))). create_protocol(Ptc, Rels, Dirs) :- - lgt_clean_up, - lgt_tr_directive(protocol, [Ptc| Rels]), - lgt_tr_directives([(dynamic)| Dirs]), - lgt_gen_protocol_clauses, - lgt_gen_protocol_directives, - lgt_assert_tr_entity, - lgt_report_unknown_entities. + '$lgt_clean_up', + '$lgt_tr_directive'(protocol, [Ptc| Rels]), + '$lgt_tr_directives'([(dynamic)| Dirs]), + '$lgt_gen_protocol_clauses', + '$lgt_gen_protocol_directives', + '$lgt_assert_tr_entity', + '$lgt_report_unknown_entities'. @@ -412,19 +412,19 @@ abolish_object(Obj) :- throw(error(instantiation_error, abolish_object(Obj))). abolish_object(Obj) :- - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), abolish_object(Obj))). abolish_object(Obj) :- - lgt_current_object_(Obj, Prefix, _, _, _) -> + '$lgt_current_object_'(Obj, Prefix, _, _, _) -> (object_property(Obj, (dynamic)) -> - lgt_once(Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + '$lgt_once'(Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), forall( - lgt_call(Def, _, _, _, _, Pred), + '$lgt_call'(Def, _, _, _, _, Pred), (functor(Pred, Functor, Arity), abolish(Functor/Arity))), forall( - lgt_call(DDef, _, _, _, _, Pred), + '$lgt_call'(DDef, _, _, _, _, Pred), (functor(Pred, Functor, Arity), abolish(Functor/Arity))), abolish(Dcl/4), @@ -437,12 +437,12 @@ abolish_object(Obj) :- abolish(DDcl/4), abolish(DDef/5), abolish(Prefix/7), - retractall(lgt_current_object_(Obj, _, _, _, _)), - retractall(lgt_extends_object_(Obj, _, _)), - retractall(lgt_instantiates_class_(Obj, _, _)), - retractall(lgt_specializes_class_(Obj, _, _)), - retractall(lgt_implements_protocol_(Obj, _, _)), - retractall(lgt_imports_category_(Obj, _, _)) + retractall('$lgt_current_object_'(Obj, _, _, _, _)), + retractall('$lgt_extends_object_'(Obj, _, _)), + retractall('$lgt_instantiates_class_'(Obj, _, _)), + retractall('$lgt_specializes_class_'(Obj, _, _)), + retractall('$lgt_implements_protocol_'(Obj, _, _)), + retractall('$lgt_imports_category_'(Obj, _, _)) ; throw(error(permission_error(modify, static_object, Obj), abolish_object(Obj)))) ; @@ -457,23 +457,23 @@ abolish_category(Ctg) :- throw(error(instantiation_error, abolish_category(Ctg))). abolish_category(Ctg) :- - \+ lgt_valid_category_id(Ctg), + \+ '$lgt_valid_category_id'(Ctg), throw(error(type_error(category_identifier, Ctg), abolish_category(Ctg))). abolish_category(Ctg) :- - lgt_current_category_(Ctg, Prefix) -> + '$lgt_current_category_'(Ctg, Prefix) -> (category_property(Ctg, (dynamic)) -> - lgt_once(Prefix, Dcl, Def), + '$lgt_once'(Prefix, Dcl, Def), forall( - lgt_call(Def, _, _, _, _, Pred), + '$lgt_call'(Def, _, _, _, _, Pred), (functor(Pred, Functor, Arity), abolish(Functor/Arity))), abolish(Dcl/4), abolish(Dcl/5), abolish(Def/5), abolish(Prefix/2), - retractall(lgt_current_category_(Ctg, _)), - retractall(lgt_implements_protocol_(Ctg, _, _)) + retractall('$lgt_current_category_'(Ctg, _)), + retractall('$lgt_implements_protocol_'(Ctg, _, _)) ; throw(error(permission_error(modify, static_category, Ctg), abolish_category(Ctg)))) ; @@ -488,18 +488,18 @@ abolish_protocol(Ptc) :- throw(error(instantiation_error, abolish_protocol(Ptc))). abolish_protocol(Ptc) :- - \+ lgt_valid_protocol_id(Ptc), + \+ '$lgt_valid_protocol_id'(Ptc), throw(error(type_error(protocol_identifier, Ptc), abolish_protocol(Ptc))). abolish_protocol(Ptc) :- - lgt_current_protocol_(Ptc, Prefix) -> + '$lgt_current_protocol_'(Ptc, Prefix) -> (protocol_property(Ptc, (dynamic)) -> - lgt_once(Prefix, Dcl), + '$lgt_once'(Prefix, Dcl), abolish(Dcl/4), abolish(Dcl/5), abolish(Prefix/1), - retractall(lgt_current_protocol_(Ptc, _)), - retractall(lgt_extends_protocol_(Ptc, _, _)) + retractall('$lgt_current_protocol_'(Ptc, _)), + retractall('$lgt_extends_protocol_'(Ptc, _, _)) ; throw(error(permission_error(modify, static_protocol, Ptc), abolish_protocol(Ptc)))) ; @@ -521,21 +521,21 @@ implements_protocol(Entity, Ptc) :- implements_protocol(Entity, Ptc, Scope) :- nonvar(Entity), - \+ lgt_valid_object_id(Entity), + \+ '$lgt_valid_object_id'(Entity), throw(error(type_error(object_identifier, Entity), implements_protocol(Entity, Ptc, Scope))). implements_protocol(Entity, Ptc, Scope) :- nonvar(Ptc), - \+ lgt_valid_protocol_id(Ptc), + \+ '$lgt_valid_protocol_id'(Ptc), throw(error(type_error(protocol_identifier, Ptc), implements_protocol(Entity, Ptc, Scope))). implements_protocol(Entity, Ptc, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), implements_protocol(Entity, Ptc, Scope))). implements_protocol(Entity, Ptc, Scope) :- - lgt_implements_protocol_(Entity, Ptc, Scope). + '$lgt_implements_protocol_'(Entity, Ptc, Scope). @@ -553,21 +553,21 @@ imports_category(Obj, Ctg) :- imports_category(Obj, Ctg, Scope) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), imports_category(Obj, Ctg, Scope))). imports_category(Obj, Ctg, Scope) :- nonvar(Ctg), - \+ lgt_valid_category_id(Ctg), + \+ '$lgt_valid_category_id'(Ctg), throw(error(type_error(category_identifier, Ctg), imports_category(Obj, Ctg, Scope))). imports_category(Obj, Ctg, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), imports_category(Obj, Ctg, Scope))). imports_category(Obj, Ctg, Scope) :- - lgt_imports_category_(Obj, Ctg, Scope). + '$lgt_imports_category_'(Obj, Ctg, Scope). @@ -585,21 +585,21 @@ instantiates_class(Obj, Class) :- instantiates_class(Obj, Class, Scope) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), instantiates_class(Obj, Class, Scope))). instantiates_class(Obj, Class, Scope) :- nonvar(Class), - \+ lgt_valid_object_id(Class), + \+ '$lgt_valid_object_id'(Class), throw(error(type_error(object_identifier, Class), instantiates_class(Obj, Class, Scope))). instantiates_class(Obj, Class, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), instantiates_class(Obj, Class, Scope))). instantiates_class(Obj, Class, Scope) :- - lgt_instantiates_class_(Obj, Class, Scope). + '$lgt_instantiates_class_'(Obj, Class, Scope). @@ -617,21 +617,21 @@ specializes_class(Class, Superclass) :- specializes_class(Class, Superclass, Scope) :- nonvar(Class), - \+ lgt_valid_object_id(Class), + \+ '$lgt_valid_object_id'(Class), throw(error(type_error(object_identifier, Class), specializes_class(Class, Superclass, Scope))). specializes_class(Class, Superclass, Scope) :- nonvar(Superclass), - \+ lgt_valid_object_id(Superclass), + \+ '$lgt_valid_object_id'(Superclass), throw(error(type_error(object_identifier, Superclass), specializes_class(Class, Superclass, Scope))). specializes_class(Class, Superclass, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), specializes_class(Class, Superclass, Scope))). specializes_class(Class, Superclass, Scope) :- - lgt_specializes_class_(Class, Superclass, Scope). + '$lgt_specializes_class_'(Class, Superclass, Scope). @@ -649,21 +649,21 @@ extends_protocol(Ptc1, Ptc2) :- extends_protocol(Ptc1, Ptc2, Scope) :- nonvar(Ptc1), - \+ lgt_valid_protocol_id(Ptc1), + \+ '$lgt_valid_protocol_id'(Ptc1), throw(error(type_error(protocol_identifier, Ptc1), extends_protocol(Ptc1, Ptc2, Scope))). extends_protocol(Ptc1, Ptc2, Scope) :- nonvar(Ptc2), - \+ lgt_valid_protocol_id(Ptc2), + \+ '$lgt_valid_protocol_id'(Ptc2), throw(error(type_error(protocol_identifier, Ptc2), extends_protocol(Ptc1, Ptc2, Scope))). extends_protocol(Ptc1, Ptc2, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), extends_protocol(Ptc1, Ptc2, Scope))). extends_protocol(Ptc1, Ptc2, Scope) :- - lgt_extends_protocol_(Ptc1, Ptc2, Scope). + '$lgt_extends_protocol_'(Ptc1, Ptc2, Scope). @@ -681,21 +681,21 @@ extends_object(Prototype, Parent) :- extends_object(Prototype, Parent, Scope) :- nonvar(Prototype), - \+ lgt_valid_object_id(Prototype), + \+ '$lgt_valid_object_id'(Prototype), throw(error(type_error(object_identifier, Prototype), extends_object(Prototype, Parent, Scope))). extends_object(Prototype, Parent, Scope) :- nonvar(Parent), - \+ lgt_valid_object_id(Parent), + \+ '$lgt_valid_object_id'(Parent), throw(error(type_error(object_identifier, Parent), extends_object(Prototype, Parent, Scope))). extends_object(Prototype, Parent, Scope) :- nonvar(Scope), - \+ lgt_member(Scope, [(public), protected, private]), + \+ '$lgt_member'(Scope, [(public), protected, private]), throw(error(type_error(scope, Scope), extends_object(Prototype, Parent, Scope))). extends_object(Prototype, Parent, Scope) :- - lgt_extends_object_(Prototype, Parent, Scope). + '$lgt_extends_object_'(Prototype, Parent, Scope). @@ -709,29 +709,29 @@ current_event(Event, Obj, Msg, Sender, Monitor) :- current_event(Event, Obj, Msg, Sender, Monitor) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), current_event(Event, Obj, Msg, Sender, Monitor))). current_event(Event, Obj, Msg, Sender, Monitor) :- nonvar(Msg), - \+ lgt_callable(Msg), + \+ '$lgt_callable'(Msg), throw(error(type_error(callable, Msg), current_event(Event, Obj, Msg, Sender, Monitor))). current_event(Event, Obj, Msg, Sender, Monitor) :- nonvar(Sender), - \+ lgt_valid_object_id(Sender), + \+ '$lgt_valid_object_id'(Sender), throw(error(type_error(object_identifier, Sender), current_event(Event, Obj, Msg, Sender, Monitor))). current_event(Event, Obj, Msg, Sender, Monitor) :- nonvar(Monitor), - \+ lgt_valid_object_id(Monitor), + \+ '$lgt_valid_object_id'(Monitor), throw(error(type_error(object_identifier, Monitor), current_event(Event, Obj, Msg, Sender, Monitor))). current_event(before, Obj, Msg, Sender, Monitor) :- - lgt_before_(Obj, Msg, Sender, Monitor, _). + '$lgt_before_'(Obj, Msg, Sender, Monitor, _). current_event(after, Obj, Msg, Sender, Monitor) :- - lgt_after_(Obj, Msg, Sender, Monitor, _). + '$lgt_after_'(Obj, Msg, Sender, Monitor, _). @@ -745,17 +745,17 @@ define_events(Event, Obj, Msg, Sender, Monitor) :- define_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), define_events(Event, Obj, Msg, Sender, Monitor))). define_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Msg), - \+ lgt_callable(Msg), + \+ '$lgt_callable'(Msg), throw(error(type_error(callable, Msg), define_events(Event, Obj, Msg, Sender, Monitor))). define_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Sender), - \+ lgt_valid_object_id(Sender), + \+ '$lgt_valid_object_id'(Sender), throw(error(type_error(object_identifier, Sender), define_events(Event, Obj, Msg, Sender, Monitor))). define_events(Event, Obj, Msg, Sender, Monitor) :- @@ -764,31 +764,31 @@ define_events(Event, Obj, Msg, Sender, Monitor) :- define_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Monitor), - \+ lgt_valid_object_id(Monitor), + \+ '$lgt_valid_object_id'(Monitor), throw(error(type_error(object_identifier, Monitor), define_events(Event, Obj, Msg, Sender, Monitor))). define_events(Event, Obj, Msg, Sender, Monitor) :- var(Event), !, - lgt_current_object_(Monitor, _, _, Def, _), - lgt_call(Def, before(Obj, Msg, Sender), Monitor, Monitor, Monitor, BCall, _), - lgt_call(Def, after(Obj, Msg, Sender), Monitor, Monitor, Monitor, ACall, _), - retractall(lgt_before_(Obj, Msg, Sender, Monitor, _)), - assertz(lgt_before_(Obj, Msg, Sender, Monitor, BCall)), - retractall(lgt_after_(Obj, Msg, Sender, Monitor, _)), - assertz(lgt_after_(Obj, Msg, Sender, Monitor, ACall)). + '$lgt_current_object_'(Monitor, _, _, Def, _), + '$lgt_call'(Def, before(Obj, Msg, Sender), Monitor, Monitor, Monitor, BCall, _), + '$lgt_call'(Def, after(Obj, Msg, Sender), Monitor, Monitor, Monitor, ACall, _), + retractall('$lgt_before_'(Obj, Msg, Sender, Monitor, _)), + assertz('$lgt_before_'(Obj, Msg, Sender, Monitor, BCall)), + retractall('$lgt_after_'(Obj, Msg, Sender, Monitor, _)), + assertz('$lgt_after_'(Obj, Msg, Sender, Monitor, ACall)). define_events(before, Obj, Msg, Sender, Monitor) :- - lgt_current_object_(Monitor, _, _, Def, _), - lgt_call(Def, before(Obj, Msg, Sender), Monitor, Monitor, Monitor, Call, _), - retractall(lgt_before_(Obj, Msg, Sender, Monitor, _)), - assertz(lgt_before_(Obj, Msg, Sender, Monitor, Call)). + '$lgt_current_object_'(Monitor, _, _, Def, _), + '$lgt_call'(Def, before(Obj, Msg, Sender), Monitor, Monitor, Monitor, Call, _), + retractall('$lgt_before_'(Obj, Msg, Sender, Monitor, _)), + assertz('$lgt_before_'(Obj, Msg, Sender, Monitor, Call)). define_events(after, Obj, Msg, Sender, Monitor) :- - lgt_current_object_(Monitor, _, _, Def, _), - lgt_call(Def, after(Obj, Msg, Sender), Monitor, Monitor, Monitor, Call, _), - retractall(lgt_after_(Obj, Msg, Sender, Monitor, _)), - assertz(lgt_after_(Obj, Msg, Sender, Monitor, Call)). + '$lgt_current_object_'(Monitor, _, _, Def, _), + '$lgt_call'(Def, after(Obj, Msg, Sender), Monitor, Monitor, Monitor, Call, _), + retractall('$lgt_after_'(Obj, Msg, Sender, Monitor, _)), + assertz('$lgt_after_'(Obj, Msg, Sender, Monitor, Call)). @@ -802,57 +802,57 @@ abolish_events(Event, Obj, Msg, Sender, Monitor) :- abolish_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), throw(error(type_error(object_identifier, Obj), abolish_events(Event, Obj, Msg, Sender, Monitor))). abolish_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Msg), - \+ lgt_callable(Msg), + \+ '$lgt_callable'(Msg), throw(error(type_error(callable, Msg), abolish_events(Event, Obj, Msg, Sender, Monitor))). abolish_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Sender), - \+ lgt_valid_object_id(Sender), + \+ '$lgt_valid_object_id'(Sender), throw(error(type_error(object_identifier, Sender), abolish_events(Event, Obj, Msg, Sender, Monitor))). abolish_events(Event, Obj, Msg, Sender, Monitor) :- nonvar(Monitor), - \+ lgt_valid_object_id(Monitor), + \+ '$lgt_valid_object_id'(Monitor), throw(error(type_error(object_identifier, Monitor), abolish_events(Event, Obj, Msg, Sender, Monitor))). abolish_events(Event, Obj, Msg, Sender, Monitor) :- var(Event), !, - retractall(lgt_before_(Obj, Msg, Sender, Monitor, _)), - retractall(lgt_after_(Obj, Msg, Sender, Monitor, _)). + retractall('$lgt_before_'(Obj, Msg, Sender, Monitor, _)), + retractall('$lgt_after_'(Obj, Msg, Sender, Monitor, _)). abolish_events(before, Obj, Msg, Sender, Monitor) :- - retractall(lgt_before_(Obj, Msg, Sender, Monitor, _)). + retractall('$lgt_before_'(Obj, Msg, Sender, Monitor, _)). abolish_events(after, Obj, Msg, Sender, Monitor) :- - retractall(lgt_after_(Obj, Msg, Sender, Monitor, _)). + retractall('$lgt_after_'(Obj, Msg, Sender, Monitor, _)). % compiling and loading built-in predicates -% lgt_compiler_option(+atom, ?atom) +% '$lgt_compiler_option'(+atom, ?atom) % % gets/check the current value of a compiler option -lgt_compiler_option(Option, Value) :- - lgt_current_compiler_option_(Option, Value2), +'$lgt_compiler_option'(Option, Value) :- + '$lgt_current_compiler_option_'(Option, Value2), !, Value = Value2. -lgt_compiler_option(Option, Value) :- - lgt_flag_(Option, Value2), +'$lgt_compiler_option'(Option, Value) :- + '$lgt_flag_'(Option, Value2), !, Value = Value2. -lgt_compiler_option(Option, Value) :- - lgt_default_flag(Option, Value). +'$lgt_compiler_option'(Option, Value) :- + '$lgt_default_flag'(Option, Value). @@ -874,102 +874,102 @@ logtalk_compile(Entities) :- logtalk_compile(Entities, Options) :- catch( - (lgt_check_compiler_entities(Entities), - lgt_check_compiler_options(Options), - lgt_set_compiler_options(Options), - lgt_compile_entities(Entities)), + ('$lgt_check_compiler_entities'(Entities), + '$lgt_check_compiler_options'(Options), + '$lgt_set_compiler_options'(Options), + '$lgt_compile_entities'(Entities)), Error, throw(error(Error, logtalk_compile(Entities, Options)))). -% lgt_check_compiler_entities(+list) +% '$lgt_check_compiler_entities'(+list) % % check if the entities names are valid and if the corresponding % files exist in the current working directory -lgt_check_compiler_entities(Entities) :- +'$lgt_check_compiler_entities'(Entities) :- var(Entities), throw(instantiation_error). -lgt_check_compiler_entities(Entities) :- - \+ lgt_proper_list(Entities), +'$lgt_check_compiler_entities'(Entities) :- + \+ '$lgt_proper_list'(Entities), throw(type_error(list, Entities)). -lgt_check_compiler_entities(Entities) :- - lgt_check_compiler_entity_list(Entities). +'$lgt_check_compiler_entities'(Entities) :- + '$lgt_check_compiler_entity_list'(Entities). -lgt_check_compiler_entity_list([]). +'$lgt_check_compiler_entity_list'([]). -lgt_check_compiler_entity_list([Entity| Entities]) :- - lgt_check_compiler_entity(Entity), - lgt_check_compiler_entity_list(Entities). +'$lgt_check_compiler_entity_list'([Entity| Entities]) :- + '$lgt_check_compiler_entity'(Entity), + '$lgt_check_compiler_entity_list'(Entities). -lgt_check_compiler_entity(Entity) :- +'$lgt_check_compiler_entity'(Entity) :- \+ atom(Entity), throw(type_error(atom, Entity)). -lgt_check_compiler_entity(Entity) :- - lgt_file_name(logtalk, Entity, File), - \+ lgt_file_exists(File), +'$lgt_check_compiler_entity'(Entity) :- + '$lgt_file_name'(logtalk, Entity, File), + \+ '$lgt_file_exists'(File), throw(existence_error(entity, Entity)). -lgt_check_compiler_entity(_). +'$lgt_check_compiler_entity'(_). -% lgt_check_compiler_options(+list) +% '$lgt_check_compiler_options'(+list) % % check if the compiler options are valid -lgt_check_compiler_options(Options) :- +'$lgt_check_compiler_options'(Options) :- var(Options), throw(instantiation_error). -lgt_check_compiler_options(Options) :- - \+ lgt_proper_list(Options), +'$lgt_check_compiler_options'(Options) :- + \+ '$lgt_proper_list'(Options), throw(type_error(list, Options)). -lgt_check_compiler_options(Options) :- - lgt_check_compiler_option_list(Options). +'$lgt_check_compiler_options'(Options) :- + '$lgt_check_compiler_option_list'(Options). -lgt_check_compiler_option_list([]). +'$lgt_check_compiler_option_list'([]). -lgt_check_compiler_option_list([Option| Options]) :- - lgt_check_compiler_option(Option), - lgt_check_compiler_option_list(Options). +'$lgt_check_compiler_option_list'([Option| Options]) :- + '$lgt_check_compiler_option'(Option), + '$lgt_check_compiler_option_list'(Options). -lgt_check_compiler_option(Option) :- - lgt_valid_compiler_option(Option) -> +'$lgt_check_compiler_option'(Option) :- + '$lgt_valid_compiler_option'(Option) -> true ; throw(type_error(compiler_option, Option)). -% lgt_set_compiler_options(+list) +% '$lgt_set_compiler_options'(+list) % % sets the compiler options -lgt_set_compiler_options(Options) :- - retractall(lgt_current_compiler_option_(_, _)), - lgt_assert_compiler_options(Options). +'$lgt_set_compiler_options'(Options) :- + retractall('$lgt_current_compiler_option_'(_, _)), + '$lgt_assert_compiler_options'(Options). -lgt_assert_compiler_options([]). +'$lgt_assert_compiler_options'([]). -lgt_assert_compiler_options([Option| Options]) :- +'$lgt_assert_compiler_options'([Option| Options]) :- Option =.. [Key, Value], - asserta(lgt_current_compiler_option_(Key, Value)), - lgt_assert_compiler_options(Options). + asserta('$lgt_current_compiler_option_'(Key, Value)), + '$lgt_assert_compiler_options'(Options). @@ -993,10 +993,10 @@ logtalk_load(Entities) :- logtalk_load(Entities, Options) :- catch( - (lgt_check_compiler_entities(Entities), - lgt_check_compiler_options(Options), - lgt_set_compiler_options(Options), - lgt_load_entities(Entities)), + ('$lgt_check_compiler_entities'(Entities), + '$lgt_check_compiler_options'(Options), + '$lgt_set_compiler_options'(Options), + '$lgt_load_entities'(Entities)), Error, throw(error(Error, logtalk_load(Entities, Options)))). @@ -1019,7 +1019,7 @@ logtalk_version(Major, Minor, Patch) :- \+ integer(Patch), throw(error(type_error(integer, Patch), logtalk_version(Major, Minor, Patch))). -logtalk_version(2, 13, 0). +logtalk_version(2, 14, 1). @@ -1042,20 +1042,20 @@ set_logtalk_flag(Flag, Value) :- set_logtalk_flag(Flag, Value) :- atom(Flag), - \+ lgt_valid_flag(Flag), + \+ '$lgt_valid_flag'(Flag), throw(error(domain_error(valid_flag, Flag), set_logtalk_flag(Flag, Value))). set_logtalk_flag(Flag, Value) :- - lgt_read_only_flag(Flag), + '$lgt_read_only_flag'(Flag), throw(error(permission_error(modify, read_only_flag, Flag), set_logtalk_flag(Flag, Value))). set_logtalk_flag(Flag, Value) :- - \+ lgt_valid_flag(Flag, Value), + \+ '$lgt_valid_flag'(Flag, Value), throw(error(domain_error(valid_flag_value, Value), set_logtalk_flag(Flag, Value))). set_logtalk_flag(Flag, Value) :- - retractall(lgt_flag_(Flag, _)), - assertz(lgt_flag_(Flag, Value)). + retractall('$lgt_flag_'(Flag, _)), + assertz('$lgt_flag_'(Flag, Value)). @@ -1070,17 +1070,17 @@ current_logtalk_flag(Flag, Value) :- current_logtalk_flag(Flag, Value) :- atom(Flag), - \+ lgt_valid_flag(Flag), + \+ '$lgt_valid_flag'(Flag), throw(error(domain_error(valid_flag, Flag), current_logtalk_flag(Flag, Value))). current_logtalk_flag(Flag, Value) :- - lgt_flag_(Flag, Value). + '$lgt_flag_'(Flag, Value). current_logtalk_flag(Flag, Value) :- - \+ lgt_flag_(Flag, _), - lgt_default_flag(Flag, Value). + \+ '$lgt_flag_'(Flag, _), + '$lgt_default_flag'(Flag, Value). -current_logtalk_flag(version, version(2, 13, 0)). +current_logtalk_flag(version, version(2, 14, 1)). @@ -1094,162 +1094,162 @@ current_logtalk_flag(version, version(2, 13, 0)). % current_predicate/1 built-in method -lgt_current_predicate(Obj, Pred, Sender, _) :- +'$lgt_current_predicate'(Obj, Pred, Sender, _) :- nonvar(Pred), Pred \= _/_, throw(error(type_error(predicate_indicator, Pred), Obj::current_predicate(Pred), Sender)). -lgt_current_predicate(Obj, Functor/Arity, Sender, _) :- +'$lgt_current_predicate'(Obj, Functor/Arity, Sender, _) :- nonvar(Functor), \+ atom(Functor), throw(error(type_error(predicate_indicator, Functor/Arity), Obj::current_predicate(Functor/Arity), Sender)). -lgt_current_predicate(Obj, Functor/Arity, Sender, _) :- +'$lgt_current_predicate'(Obj, Functor/Arity, Sender, _) :- nonvar(Arity), \+ (integer(Arity), Arity >= 0), throw(error(type_error(predicate_indicator, Functor/Arity), Obj::current_predicate(Functor/Arity), Sender)). -lgt_current_predicate(Obj, Functor/Arity, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_current_predicate'(Obj, Functor/Arity, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::current_predicate(Functor/Arity), Sender)). -lgt_current_predicate(Obj, Functor/Arity, Sender, Scope) :- +'$lgt_current_predicate'(Obj, Functor/Arity, Sender, Scope) :- nonvar(Functor), nonvar(Arity), !, functor(Pred, Functor, Arity), - lgt_current_object_(Obj, _, Dcl, _, _), - lgt_once(Dcl, Pred, PScope, _, _, SContainer, _), + '$lgt_current_object_'(Obj, _, Dcl, _, _), + '$lgt_once'(Dcl, Pred, PScope, _, _, SContainer, _), once((\+ \+ PScope = Scope; Sender = SContainer)). -lgt_current_predicate(Obj, Functor/Arity, Sender, Scope) :- - lgt_current_object_(Obj, _, Dcl, _, _), +'$lgt_current_predicate'(Obj, Functor/Arity, Sender, Scope) :- + '$lgt_current_object_'(Obj, _, Dcl, _, _), findall( Functor/Arity-(PScope, SContainer), - (lgt_call(Dcl, Pred, PScope, _, _, SContainer, _), + ('$lgt_call'(Dcl, Pred, PScope, _, _, SContainer, _), functor(Pred, Functor, Arity)), Preds), - lgt_cp_filter(Preds, Filtered), - lgt_member(Functor/Arity-(PScope, SContainer), Filtered), + '$lgt_cp_filter'(Preds, Filtered), + '$lgt_member'(Functor/Arity-(PScope, SContainer), Filtered), once((\+ \+ PScope = Scope; Sender = SContainer)). -% lgt_cp_filter(+list, -list) +% '$lgt_cp_filter'(+list, -list) % % removes duplicated and redeclared predicates -lgt_cp_filter([], []). +'$lgt_cp_filter'([], []). -lgt_cp_filter([Data| Rest], [Data| Rest2]) :- - lgt_cp_remove_all(Rest, Data, Aux), - lgt_cp_filter(Aux, Rest2). +'$lgt_cp_filter'([Data| Rest], [Data| Rest2]) :- + '$lgt_cp_remove_all'(Rest, Data, Aux), + '$lgt_cp_filter'(Aux, Rest2). -lgt_cp_remove_all([], _, []). +'$lgt_cp_remove_all'([], _, []). -lgt_cp_remove_all([F/A-_| Rest], F/A-D, List) :- +'$lgt_cp_remove_all'([F/A-_| Rest], F/A-D, List) :- !, - lgt_cp_remove_all(Rest, F/A-D, List). + '$lgt_cp_remove_all'(Rest, F/A-D, List). -lgt_cp_remove_all([Data| Rest], Filter, [Data| Rest2]) :- +'$lgt_cp_remove_all'([Data| Rest], Filter, [Data| Rest2]) :- !, - lgt_cp_remove_all(Rest, Filter, Rest2). + '$lgt_cp_remove_all'(Rest, Filter, Rest2). % predicate_property/2 built-in method -lgt_predicate_property(Obj, Pred, Prop, Sender, _) :- +'$lgt_predicate_property'(Obj, Pred, Prop, Sender, _) :- var(Pred), throw(error(instantiation_error, Obj::predicate_property(Pred, Prop), Sender)). -lgt_predicate_property(Obj, Pred, Prop, Sender, _) :- +'$lgt_predicate_property'(Obj, Pred, Prop, Sender, _) :- nonvar(Prop), - \+ lgt_member(Prop, [(public), protected, private, static, (dynamic), declared_in(_), defined_in(_), metapredicate(_), built_in]), + \+ '$lgt_member'(Prop, [(public), protected, private, static, (dynamic), declared_in(_), defined_in(_), metapredicate(_), built_in]), throw(error(domain_error(predicate_property, Prop), Obj::predicate_property(Pred, Prop), Sender)). -lgt_predicate_property(Obj, Pred, Prop, Sender, _) :- - \+ lgt_callable(Pred), +'$lgt_predicate_property'(Obj, Pred, Prop, Sender, _) :- + \+ '$lgt_callable'(Pred), throw(error(type_error(callable, Pred), Obj::predicate_property(Pred, Prop), Sender)). -lgt_predicate_property(Obj, Pred, Prop, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_predicate_property'(Obj, Pred, Prop, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::predicate_property(Pred, Prop), Sender)). -lgt_predicate_property(Obj, Pred, Prop, Sender, Scope) :- - lgt_current_object_(Obj, _, Dcl, Def, _), - lgt_once(Dcl, Pred, PScope, Type, Meta, SContainer, TContainer), +'$lgt_predicate_property'(Obj, Pred, Prop, Sender, Scope) :- + '$lgt_current_object_'(Obj, _, Dcl, Def, _), + '$lgt_once'(Dcl, Pred, PScope, Type, Meta, SContainer, TContainer), !, once((\+ \+ PScope = Scope; Sender = SContainer)), - (lgt_scope(Prop, PScope); + ('$lgt_scope'(Prop, PScope); Prop = Type; Prop = declared_in(TContainer); - lgt_once(Def, Pred, _, _, _, _, DContainer), + '$lgt_once'(Def, Pred, _, _, _, _, DContainer), Prop = defined_in(DContainer); Meta \= no, Prop = metapredicate(Meta)). -lgt_predicate_property(_, Pred, Prop, _, Scope) :- - lgt_built_in_method(Pred, PScope), +'$lgt_predicate_property'(_, Pred, Prop, _, Scope) :- + '$lgt_built_in_method'(Pred, PScope), !, \+ \+ PScope = Scope, - (lgt_scope(Prop, PScope); + ('$lgt_scope'(Prop, PScope); Prop = static; Prop = built_in). -lgt_predicate_property(_, Pred, Prop, _, _) :- - lgt_built_in(Pred), +'$lgt_predicate_property'(_, Pred, Prop, _, _) :- + '$lgt_built_in'(Pred), functor(Pred, Functor, Arity), functor(Meta, Functor, Arity), (Prop = (public); - (lgt_predicate_property(Pred, (dynamic)) -> Prop = (dynamic); Prop = static); + ('$lgt_predicate_property'(Pred, (dynamic)) -> Prop = (dynamic); Prop = static); Prop = built_in; - (lgt_pl_metapredicate(Meta) -> Prop = metapredicate(Meta))). + ('$lgt_pl_metapredicate'(Meta) -> Prop = metapredicate(Meta))). -% lgt_scope(?atom, ?term). +% '$lgt_scope'(?atom, ?term). % % converts between user and system scope terms -lgt_scope(private, p). -lgt_scope(protected, p(p)). -lgt_scope((public), p(p(p))). +'$lgt_scope'(private, p). +'$lgt_scope'(protected, p(p)). +'$lgt_scope'((public), p(p(p))). % abolish/1 built-in method -lgt_abolish(Obj, Pred, Sender, _) :- +'$lgt_abolish'(Obj, Pred, Sender, _) :- var(Pred), throw(error(instantiation_error, Obj::abolish(Pred), Sender)). -lgt_abolish(Obj, Pred, Sender, _) :- +'$lgt_abolish'(Obj, Pred, Sender, _) :- Pred \= _/_, throw(error(type_error(predicate_indicator, Pred), Obj::abolish(predicate), Sender)). -lgt_abolish(Obj, Functor/Arity, Sender, _) :- +'$lgt_abolish'(Obj, Functor/Arity, Sender, _) :- (var(Functor); var(Arity)), throw(error(instantiation_error, Obj::abolish(Functor/Arity), Sender)). -lgt_abolish(Obj, Functor/Arity, Sender, _) :- +'$lgt_abolish'(Obj, Functor/Arity, Sender, _) :- \+ atom(Functor), throw(error(type_error(atom, Functor), Obj::abolish(Functor/Arity), Sender)). -lgt_abolish(Obj, Functor/Arity, Sender, _) :- +'$lgt_abolish'(Obj, Functor/Arity, Sender, _) :- \+ integer(Arity), throw(error(type_error(integer, Arity), Obj::abolish(Functor/Arity), Sender)). -lgt_abolish(Obj, Functor/Arity, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, Dcl, _, _) -> +'$lgt_abolish'(Obj, Functor/Arity, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, Dcl, _, _) -> ((functor(Pred, Functor, Arity), - lgt_once(Dcl, Pred, PScope, Compilation, _, SContainer, _)) -> + '$lgt_once'(Dcl, Pred, PScope, Compilation, _, SContainer, _)) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> (Compilation = (dynamic) -> - lgt_once(Prefix, _, _, _, _, _, DDcl, DDef), - (lgt_once(DDcl, Pred, _, _, _) -> + '$lgt_once'(Prefix, _, _, _, _, _, DDcl, DDef), + ('$lgt_once'(DDcl, Pred, _, _, _) -> Clause =.. [DDcl, Pred, _, _, _], retractall(Clause), - (lgt_once(DDef, Pred, _, _, _, Call) -> + ('$lgt_once'(DDef, Pred, _, _, _, Call) -> functor(Call, CFunctor, CArity), abolish(CFunctor/CArity), Clause2 =.. [DDef, Pred, _, _, _, Call], @@ -1257,7 +1257,7 @@ lgt_abolish(Obj, Functor/Arity, Sender, Scope) :- ; true) ; - (lgt_once(Dcl, Pred, _, _, _) -> + ('$lgt_once'(Dcl, Pred, _, _, _) -> throw(error(permission_error(modify, predicate_declaration, Pred), Obj::abolish(Functor/Arity), Sender)) ; throw(error(existence_error(predicate_declaration, Pred), Obj::abolish(Functor/Arity), Sender)))) @@ -1277,55 +1277,55 @@ lgt_abolish(Obj, Functor/Arity, Sender, Scope) :- % asserta/1 built-in method -lgt_asserta(Obj, Clause, Sender, _) :- +'$lgt_asserta'(Obj, Clause, Sender, _) :- var(Clause), throw(error(instantiation_error, Obj::asserta(Clause), Sender)). -lgt_asserta(Obj, (Head:-Body), Sender, _) :- +'$lgt_asserta'(Obj, (Head:-Body), Sender, _) :- var(Head), throw(error(instantiation_error, Obj::asserta((Head:-Body)), Sender)). -lgt_asserta(Obj, (Head:-Body), Sender, _) :- - \+ lgt_callable(Head), +'$lgt_asserta'(Obj, (Head:-Body), Sender, _) :- + \+ '$lgt_callable'(Head), throw(error(type_error(callable, Head), Obj::asserta((Head:-Body)), Sender)). -lgt_asserta(Obj, (Head:-Body), Sender, _) :- - \+ lgt_callable(Body), +'$lgt_asserta'(Obj, (Head:-Body), Sender, _) :- + \+ '$lgt_callable'(Body), throw(error(type_error(callable, Body), Obj::asserta((Head:-Body)), Sender)). -lgt_asserta(Obj, Clause, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_asserta'(Obj, Clause, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::asserta(Clause), Sender)). -lgt_asserta(Obj, (Head:-Body), Sender, Scope) :- +'$lgt_asserta'(Obj, (Head:-Body), Sender, Scope) :- !, - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, DDcl, DDef), - (lgt_once(Dcl, Head, PScope, Type, Meta, SContainer, _) -> + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, DDcl, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, Meta, SContainer, _) -> true ; - lgt_convert_test_scope(Scope, Scope2), - lgt_assert_ddcl_clause(DDcl, Head, Scope2)), + '$lgt_convert_test_scope'(Scope, Scope2), + '$lgt_assert_ddcl_clause'(DDcl, Head, Scope2)), (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - ((lgt_once(Def, Head, Sender2, This, Self, Call); lgt_once(DDef, Head, Sender2, This, Self, Call)) -> + (('$lgt_once'(Def, Head, Sender2, This, Self, Call); '$lgt_once'(DDef, Head, Sender2, This, Self, Call)) -> true ; functor(Head, Functor, Arity), - lgt_assert_ddef_clause(Functor, Arity, Prefix, DDef, _), - lgt_once(DDef, Head, Sender2, This, Self, Call)), - lgt_self(Context, Self), - lgt_this(Context, This), - lgt_sender(Context, Sender2), - lgt_prefix(Context, Prefix), + '$lgt_assert_ddef_clause'(Functor, Arity, Prefix, DDef, _), + '$lgt_once'(DDef, Head, Sender2, This, Self, Call)), + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This), + '$lgt_sender'(Context, Sender2), + '$lgt_prefix'(Context, Prefix), (nonvar(Meta) -> Head =.. [_| Args], Meta =.. [_| MArgs], - lgt_extract_metavars(Args, MArgs, Metavars) + '$lgt_extract_metavars'(Args, MArgs, Metavars) ; Metavars = []), - lgt_metavars(Context, Metavars), - asserta((Call:-lgt_tr_body(Body, TBody, Context), call(TBody))) + '$lgt_metavars'(Context, Metavars), + asserta((Call:-'$lgt_tr_body'(Body, TBody, Context), call(TBody))) ; (PScope = p -> throw(error(permission_error(modify, private_predicate, Head), Obj::asserta((Head:-Body)), Sender)) @@ -1334,22 +1334,22 @@ lgt_asserta(Obj, (Head:-Body), Sender, Scope) :- ; throw(error(permission_error(modify, static_predicate, Head), Obj::asserta((Head:-Body)), Sender))). -lgt_asserta(Obj, Head, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, DDcl, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> +'$lgt_asserta'(Obj, Head, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, DDcl, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> true ; - lgt_convert_test_scope(Scope, Scope2), - lgt_assert_ddcl_clause(DDcl, Head, Scope2)), + '$lgt_convert_test_scope'(Scope, Scope2), + '$lgt_assert_ddcl_clause'(DDcl, Head, Scope2)), (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - ((lgt_once(Def, Head, _, _, _, Call); lgt_once(DDef, Head, _, _, _, Call)) -> + (('$lgt_once'(Def, Head, _, _, _, Call); '$lgt_once'(DDef, Head, _, _, _, Call)) -> true ; functor(Head, Functor, Arity), - lgt_assert_ddef_clause(Functor, Arity, Prefix, DDef, _), - lgt_once(DDef, Head, _, _, _, Call)), + '$lgt_assert_ddef_clause'(Functor, Arity, Prefix, DDef, _), + '$lgt_once'(DDef, Head, _, _, _, Call)), asserta(Call) ; (PScope = p -> @@ -1363,55 +1363,55 @@ lgt_asserta(Obj, Head, Sender, Scope) :- % assertz/1 built-in method -lgt_assertz(Obj, Clause, Sender, _) :- +'$lgt_assertz'(Obj, Clause, Sender, _) :- var(Clause), throw(error(instantiation_error, Obj::assertz(Clause), Sender)). -lgt_assertz(Obj, (Head:-Body), Sender, _) :- +'$lgt_assertz'(Obj, (Head:-Body), Sender, _) :- var(Head), throw(error(instantiation_error, Obj::assertz((Head:-Body)), Sender)). -lgt_assertz(Obj, (Head:-Body), Sender, _) :- - \+ lgt_callable(Head), +'$lgt_assertz'(Obj, (Head:-Body), Sender, _) :- + \+ '$lgt_callable'(Head), throw(error(type_error(callable, Head), Obj::assertz((Head:-Body)), Sender)). -lgt_assertz(Obj, (Head:-Body), Sender, _) :- - \+ lgt_callable(Body), +'$lgt_assertz'(Obj, (Head:-Body), Sender, _) :- + \+ '$lgt_callable'(Body), throw(error(type_error(callable, Body), Obj::assertz((Head:-Body)), Sender)). -lgt_assertz(Obj, Clause, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_assertz'(Obj, Clause, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::assertz(Clause), Sender)). -lgt_assertz(Obj, (Head:-Body), Sender, Scope) :- +'$lgt_assertz'(Obj, (Head:-Body), Sender, Scope) :- !, - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, DDcl, DDef), - (lgt_once(Dcl, Head, PScope, Type, Meta, SContainer, _) -> + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, DDcl, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, Meta, SContainer, _) -> true ; - lgt_convert_test_scope(Scope, Scope2), - lgt_assert_ddcl_clause(DDcl, Head, Scope2)), + '$lgt_convert_test_scope'(Scope, Scope2), + '$lgt_assert_ddcl_clause'(DDcl, Head, Scope2)), (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - ((lgt_once(Def, Head, Sender2, This, Self, Call); lgt_once(DDef, Head, Sender2, This, Self, Call)) -> + (('$lgt_once'(Def, Head, Sender2, This, Self, Call); '$lgt_once'(DDef, Head, Sender2, This, Self, Call)) -> true ; functor(Head, Functor, Arity), - lgt_assert_ddef_clause(Functor, Arity, Prefix, DDef, _), - lgt_once(DDef, Head, Sender2, This, Self, Call)), - lgt_self(Context, Self), - lgt_this(Context, This), - lgt_sender(Context, Sender2), - lgt_prefix(Context, Prefix), + '$lgt_assert_ddef_clause'(Functor, Arity, Prefix, DDef, _), + '$lgt_once'(DDef, Head, Sender2, This, Self, Call)), + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This), + '$lgt_sender'(Context, Sender2), + '$lgt_prefix'(Context, Prefix), (nonvar(Meta) -> Head =.. [_| Args], Meta =.. [_| MArgs], - lgt_extract_metavars(Args, MArgs, Metavars) + '$lgt_extract_metavars'(Args, MArgs, Metavars) ; Metavars = []), - lgt_metavars(Context, Metavars), - assertz((Call:-lgt_tr_body(Body, TBody, Context), call(TBody))) + '$lgt_metavars'(Context, Metavars), + assertz((Call:-'$lgt_tr_body'(Body, TBody, Context), call(TBody))) ; (PScope = p -> throw(error(permission_error(modify, private_predicate, Head), Obj::assertz((Head:-Body)), Sender)) @@ -1420,22 +1420,22 @@ lgt_assertz(Obj, (Head:-Body), Sender, Scope) :- ; throw(error(permission_error(modify, static_predicate, Head), Obj::assertz((Head:-Body)), Sender))). -lgt_assertz(Obj, Head, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, DDcl, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> +'$lgt_assertz'(Obj, Head, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, DDcl, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> true ; - lgt_convert_test_scope(Scope, Scope2), - lgt_assert_ddcl_clause(DDcl, Head, Scope2)), + '$lgt_convert_test_scope'(Scope, Scope2), + '$lgt_assert_ddcl_clause'(DDcl, Head, Scope2)), (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - ((lgt_once(Def, Head, _, _, _, Call); lgt_once(DDef, Head, _, _, _, Call)) -> + (('$lgt_once'(Def, Head, _, _, _, Call); '$lgt_once'(DDef, Head, _, _, _, Call)) -> true ; functor(Head, Functor, Arity), - lgt_assert_ddef_clause(Functor, Arity, Prefix, DDef, _), - lgt_once(DDef, Head, _, _, _, Call)), + '$lgt_assert_ddef_clause'(Functor, Arity, Prefix, DDef, _), + '$lgt_once'(DDef, Head, _, _, _, Call)), assertz(Call) ; (PScope = p -> @@ -1449,32 +1449,32 @@ lgt_assertz(Obj, Head, Sender, Scope) :- % clause/2 built-in method -lgt_clause(Obj, Head, Body, Sender, _) :- +'$lgt_clause'(Obj, Head, Body, Sender, _) :- var(Head), throw(error(instantiation_error, Obj::clause(Head, Body), Sender)). -lgt_clause(Obj, Head, Body, Sender, _) :- - \+ lgt_callable(Head), +'$lgt_clause'(Obj, Head, Body, Sender, _) :- + \+ '$lgt_callable'(Head), throw(error(type_error(callable, Head), Obj::clause(Head, Body), Sender)). -lgt_clause(Obj, Head, Body, Sender, _) :- +'$lgt_clause'(Obj, Head, Body, Sender, _) :- nonvar(Body), - \+ lgt_callable(Body), + \+ '$lgt_callable'(Body), throw(error(type_error(callable, Body), Obj::clause(Head, Body), Sender)). -lgt_clause(Obj, Head, Body, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_clause'(Obj, Head, Body, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::clause(Head, Body), Sender)). -lgt_clause(Obj, Head, Body, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, _, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> +'$lgt_clause'(Obj, Head, Body, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, _, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - once((lgt_once(Def, Head, _, _, _, Call); lgt_once(DDef, Head, _, _, _, Call))), + once(('$lgt_once'(Def, Head, _, _, _, Call); '$lgt_once'(DDef, Head, _, _, _, Call))), clause(Call, TBody), - (TBody = (lgt_tr_body(Body, _, _), _) -> + (TBody = ('$lgt_tr_body'(Body, _, _), _) -> true ; Body = TBody) @@ -1492,35 +1492,35 @@ lgt_clause(Obj, Head, Body, Sender, Scope) :- % retract/1 built-in method -lgt_retract(Obj, Clause, Sender, _) :- +'$lgt_retract'(Obj, Clause, Sender, _) :- var(Clause), throw(error(instantiation_error, Obj::retract(Clause), Sender)). -lgt_retract(Obj, (Head:-Body), Sender, _) :- +'$lgt_retract'(Obj, (Head:-Body), Sender, _) :- var(Head), throw(error(instantiation_error, Obj::retract((Head:-Body)), Sender)). -lgt_retract(Obj, (Head:-Body), Sender, _) :- - \+ lgt_callable(Head), +'$lgt_retract'(Obj, (Head:-Body), Sender, _) :- + \+ '$lgt_callable'(Head), throw(error(type_error(callable, Head), Obj::retract((Head:-Body)), Sender)). -lgt_retract(Obj, Clause, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_retract'(Obj, Clause, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::retract(Clause), Sender)). -lgt_retract(Obj, (Head:-Body), Sender, Scope) :- +'$lgt_retract'(Obj, (Head:-Body), Sender, Scope) :- !, - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, _, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, _, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - (lgt_once(Def, Head, _, _, _, Call) -> - retract((Call:-(lgt_tr_body(Body, _, _), _))) + ('$lgt_once'(Def, Head, _, _, _, Call) -> + retract((Call:-('$lgt_tr_body'(Body, _, _), _))) ; - (lgt_once(DDef, Head, _, _, _, Call) -> - retract((Call:-(lgt_tr_body(Body, _, _), _))), - lgt_update_ddef_table(DDef, Call) + ('$lgt_once'(DDef, Head, _, _, _, Call) -> + retract((Call:-('$lgt_tr_body'(Body, _, _), _))), + '$lgt_update_ddef_table'(DDef, Call) ; fail)) ; @@ -1533,18 +1533,18 @@ lgt_retract(Obj, (Head:-Body), Sender, Scope) :- ; throw(error(existence_error(predicate_declaration, Head), Obj::retract((Head:-Body)), Sender))). -lgt_retract(Obj, Head, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, _, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> +'$lgt_retract'(Obj, Head, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, _, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - (lgt_once(Def, Head, _, _, _, Call) -> + ('$lgt_once'(Def, Head, _, _, _, Call) -> retract(Call) ; - (lgt_once(DDef, Head, _, _, _, Call) -> + ('$lgt_once'(DDef, Head, _, _, _, Call) -> retract(Call), - lgt_update_ddef_table(DDef, Call) + '$lgt_update_ddef_table'(DDef, Call) ; fail)) ; @@ -1561,30 +1561,30 @@ lgt_retract(Obj, Head, Sender, Scope) :- % retractall/1 built-in method -lgt_retractall(Obj, Head, Sender, _) :- +'$lgt_retractall'(Obj, Head, Sender, _) :- var(Head), throw(error(instantiation_error, Obj::retractall(Head), Sender)). -lgt_retractall(Obj, Head, Sender, _) :- - \+ lgt_callable(Head), +'$lgt_retractall'(Obj, Head, Sender, _) :- + \+ '$lgt_callable'(Head), throw(error(type_error(callable, Head), Obj::retractall(Head), Sender)). -lgt_retractall(Obj, Head, Sender, _) :- - \+ lgt_current_object_(Obj, _, _, _, _), +'$lgt_retractall'(Obj, Head, Sender, _) :- + \+ '$lgt_current_object_'(Obj, _, _, _, _), throw(error(existence_error(object, Obj), Obj::retractall(Head), Sender)). -lgt_retractall(Obj, Head, Sender, Scope) :- - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_once(Prefix, Dcl, Def, _, _, _, _, DDef), - (lgt_once(Dcl, Head, PScope, Type, _, SContainer, _) -> +'$lgt_retractall'(Obj, Head, Sender, Scope) :- + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_once'(Prefix, Dcl, Def, _, _, _, _, DDef), + ('$lgt_once'(Dcl, Head, PScope, Type, _, SContainer, _) -> (Type = (dynamic) -> ((\+ \+ PScope = Scope; Sender = SContainer) -> - (lgt_once(Def, Head, _, _, _, Call) -> + ('$lgt_once'(Def, Head, _, _, _, Call) -> retractall(Call) ; - (lgt_once(DDef, Head, _, _, _, Call) -> + ('$lgt_once'(DDef, Head, _, _, _, Call) -> retractall(Call), - lgt_update_ddef_table(DDef, Call) + '$lgt_update_ddef_table'(DDef, Call) ; true)) ; @@ -1608,53 +1608,53 @@ lgt_retractall(Obj, Head, Sender, Scope) :- -% lgt_send_to_self(+object, ?term, +object) +% '$lgt_send_to_self'(+object, ?term, +object) -lgt_send_to_self(Self, Pred, This) :- +'$lgt_send_to_self'(Self, Pred, This) :- nonvar(Pred) -> - lgt_send_to_self_nv(Self, Pred, This) + '$lgt_send_to_self_nv'(Self, Pred, This) ; throw(error(instantiation_error, Self::Pred, This)). -% lgt_send_to_self_nv(+object, +term, +object) +% '$lgt_send_to_self_nv'(+object, +term, +object) -lgt_send_to_self_nv(Self, Pred, This) :- - lgt_current_object_(Self, _, Dcl, Def, _), - (lgt_call(Dcl, Pred, Scope, _, _, SContainer, _) -> +'$lgt_send_to_self_nv'(Self, Pred, This) :- + '$lgt_current_object_'(Self, _, Dcl, Def, _), + ('$lgt_call'(Dcl, Pred, Scope, _, _, SContainer, _) -> ((Scope = p(_); This = SContainer) -> - lgt_once(Def, Pred, This, Self, Self, Call, _), + '$lgt_once'(Def, Pred, This, Self, Self, Call, _), call(Call) ; throw(error(permission_error(access, private_predicate, Pred), Self::Pred, This))) ; - (lgt_built_in(Pred) -> + ('$lgt_built_in'(Pred) -> call(Pred) ; throw(error(existence_error(predicate_declaration, Pred), Self::Pred, This)))). -% lgt_send_to_object(@object, ?term, +object) +% '$lgt_send_to_object'(@object, ?term, +object) -lgt_send_to_object(Obj, Pred, Sender) :- +'$lgt_send_to_object'(Obj, Pred, Sender) :- nonvar(Obj) -> - (lgt_current_object_(Obj, _, Dcl, Def, _) -> + ('$lgt_current_object_'(Obj, _, Dcl, Def, _) -> (nonvar(Pred) -> - (lgt_call(Dcl, Pred, Scope, _, _, _, _) -> + ('$lgt_call'(Dcl, Pred, Scope, _, _, _, _) -> (Scope = p(p(_)) -> - lgt_once(Def, Pred, Sender, Obj, Obj, Call, _), - \+ (lgt_before_(Obj, Pred, Sender, _, BCall), \+ call(BCall)), + '$lgt_once'(Def, Pred, Sender, Obj, Obj, Call, _), + \+ ('$lgt_before_'(Obj, Pred, Sender, _, BCall), \+ call(BCall)), call(Call), - \+ (lgt_after_(Obj, Pred, Sender, _, ACall), \+ call(ACall)) + \+ ('$lgt_after_'(Obj, Pred, Sender, _, ACall), \+ call(ACall)) ; (Scope = p -> throw(error(permission_error(access, private_predicate, Pred), Obj::Pred, Sender)) ; throw(error(permission_error(access, protected_predicate, Pred), Obj::Pred, Sender)))) ; - (lgt_built_in(Pred) -> + ('$lgt_built_in'(Pred) -> call(Pred) ; throw(error(existence_error(predicate_declaration, Pred), Obj::Pred, Sender)))) @@ -1667,23 +1667,23 @@ lgt_send_to_object(Obj, Pred, Sender) :- -% lgt_send_to_object_nv(+object, +term, +object) +% '$lgt_send_to_object_nv'(+object, +term, +object) -lgt_send_to_object_nv(Obj, Pred, Sender) :- - lgt_current_object_(Obj, _, Dcl, Def, _) -> - (lgt_call(Dcl, Pred, Scope, _, _, _, _) -> +'$lgt_send_to_object_nv'(Obj, Pred, Sender) :- + '$lgt_current_object_'(Obj, _, Dcl, Def, _) -> + ('$lgt_call'(Dcl, Pred, Scope, _, _, _, _) -> (Scope = p(p(_)) -> - lgt_once(Def, Pred, Sender, Obj, Obj, Call, _), - \+ (lgt_before_(Obj, Pred, Sender, _, BCall), \+ call(BCall)), + '$lgt_once'(Def, Pred, Sender, Obj, Obj, Call, _), + \+ ('$lgt_before_'(Obj, Pred, Sender, _, BCall), \+ call(BCall)), call(Call), - \+ (lgt_after_(Obj, Pred, Sender, _, ACall), \+ call(ACall)) + \+ ('$lgt_after_'(Obj, Pred, Sender, _, ACall), \+ call(ACall)) ; (Scope = p -> throw(error(permission_error(access, private_predicate, Pred), Obj::Pred, Sender)) ; throw(error(permission_error(access, protected_predicate, Pred), Obj::Pred, Sender)))) ; - (lgt_built_in(Pred) -> + ('$lgt_built_in'(Pred) -> call(Pred) ; throw(error(existence_error(predicate_declaration, Pred), Obj::Pred, Sender)))) @@ -1692,24 +1692,24 @@ lgt_send_to_object_nv(Obj, Pred, Sender) :- -% lgt_send_to_super(+object, ?term, +object, +object) +% '$lgt_send_to_super'(+object, ?term, +object, +object) -lgt_send_to_super(Self, Pred, This, Sender) :- +'$lgt_send_to_super'(Self, Pred, This, Sender) :- nonvar(Pred) -> - lgt_send_to_super_nv(Self, Pred, This, Sender) + '$lgt_send_to_super_nv'(Self, Pred, This, Sender) ; throw(error(instantiation_error, ^^Pred, This)). -% lgt_send_to_super_nv(+object, +term, +object, +object) +% '$lgt_send_to_super_nv'(+object, +term, +object, +object) -lgt_send_to_super_nv(Self, Pred, This, Sender) :- - lgt_current_object_(Self, _, Dcl, _, _), - (lgt_call(Dcl, Pred, Scope, _, _, SContainer, _) -> +'$lgt_send_to_super_nv'(Self, Pred, This, Sender) :- + '$lgt_current_object_'(Self, _, Dcl, _, _), + ('$lgt_call'(Dcl, Pred, Scope, _, _, SContainer, _) -> ((Scope = p(_); This = SContainer) -> - lgt_current_object_(This, _, _, _, Super), - lgt_once(Super, Pred, Sender, This, Self, Call, Container), + '$lgt_current_object_'(This, _, _, _, Super), + '$lgt_once'(Super, Pred, Sender, This, Self, Call, Container), (Container \= This -> call(Call) ; @@ -1717,44 +1717,44 @@ lgt_send_to_super_nv(Self, Pred, This, Sender) :- ; throw(error(permission_error(access, private_predicate, Pred), ^^Pred, This))) ; - (lgt_built_in(Pred) -> + ('$lgt_built_in'(Pred) -> call(Pred) ; throw(error(existence_error(predicate_declaration, Pred), ^^Pred, This)))). -% lgt_metacall_in_object(+object, ?term, +object) +% '$lgt_metacall_in_object'(+object, ?term, +object) % % metacalls in predicate definitions -lgt_metacall_in_object(Obj, Pred, Sender) :- +'$lgt_metacall_in_object'(Obj, Pred, Sender) :- var(Pred) -> throw(error(instantiation_error, Obj::call(Pred), Sender)) ; (Obj = user -> call(Pred) ; - lgt_current_object_(Obj, Prefix, _, _, _), - lgt_prefix(Context, Prefix), - lgt_sender(Context, Sender), - lgt_this(Context, Obj), - lgt_self(Context, Obj), - lgt_tr_body(Pred, Call, Context), + '$lgt_current_object_'(Obj, Prefix, _, _, _), + '$lgt_prefix'(Context, Prefix), + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, Obj), + '$lgt_self'(Context, Obj), + '$lgt_tr_body'(Pred, Call, Context), call(Call)). -% lgt_call_built_in(+term, +term) +% '$lgt_call_built_in'(+term, +term) % % needed for runtime translation of dynamic clauses -lgt_call_built_in(Pred, Context) :- - lgt_sender(Context, Sender), - lgt_this(Context, This), - lgt_self(Context, Self), - lgt_current_object_(This, _, _, Def, _), - (lgt_call(Def, Pred, Sender, This, Self, Call) -> +'$lgt_call_built_in'(Pred, Context) :- + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self), + '$lgt_current_object_'(This, _, _, Def, _), + ('$lgt_call'(Def, Pred, Sender, This, Self, Call) -> call(Call) ; call(Pred)). @@ -1775,16 +1775,16 @@ lgt_call_built_in(Pred, Context) :- % the following clauses correspond to a virtual % compilation of the pseudo-object user -lgt_current_object_(user, user0_, user0__dcl, user0__def, _). +'$lgt_current_object_'(user, user0_, user0__dcl, user0__def, _). user0_(user0__dcl, user0__def, _, _, _, _, _). user0__dcl(Pred, p(p(p)), no, Type) :- nonvar(Pred), - \+ lgt_built_in(Pred), + \+ '$lgt_built_in'(Pred), functor(Pred, Functor, Arity), current_predicate(Functor/Arity), - (lgt_predicate_property(Pred, (dynamic)) -> + ('$lgt_predicate_property'(Pred, (dynamic)) -> Type = (dynamic) ; Type = static). @@ -1792,10 +1792,10 @@ user0__dcl(Pred, p(p(p)), no, Type) :- user0__dcl(Pred, p(p(p)), no, Type) :- var(Pred), current_predicate(Functor/Arity), - \+ lgt_hidden_functor(Functor), + \+ '$lgt_hidden_functor'(Functor), functor(Pred, Functor, Arity), - \+ lgt_built_in(Pred), - (lgt_predicate_property(Pred, (dynamic)) -> + \+ '$lgt_built_in'(Pred), + ('$lgt_predicate_property'(Pred, (dynamic)) -> Type = (dynamic) ; Type = static). @@ -1809,24 +1809,24 @@ user0__def(Pred, _, _, _, Pred, user). -% lgt_hidden_functor(+atom) +% '$lgt_hidden_functor'(+atom) % % hidden functors include Logtalk pre-processor and runtime internal functors % and those used in the compiled code of objects, protocols, and categories -lgt_hidden_functor(Functor) :- - atom_concat(lgt_, _, Functor). +'$lgt_hidden_functor'(Functor) :- + atom_concat('$lgt_', _, Functor). -lgt_hidden_functor(Functor) :- - lgt_current_category_(_, Prefix), +'$lgt_hidden_functor'(Functor) :- + '$lgt_current_category_'(_, Prefix), atom_concat(Prefix, _, Functor). -lgt_hidden_functor(Functor) :- - lgt_current_object_(_, Prefix, _, _, _), +'$lgt_hidden_functor'(Functor) :- + '$lgt_current_object_'(_, Prefix, _, _, _), atom_concat(Prefix, _, Functor). -lgt_hidden_functor(Functor) :- - lgt_current_protocol_(_, Prefix), +'$lgt_hidden_functor'(Functor) :- + '$lgt_current_protocol_'(_, Prefix), atom_concat(Prefix, _, Functor). @@ -1840,235 +1840,259 @@ lgt_hidden_functor(Functor) :- -% lgt_load_entities(+list) +% '$lgt_load_entities'(+list) % % compiles to disk and then loads to memory a list of entities -lgt_load_entities([]). +'$lgt_load_entities'([]). -lgt_load_entities([Entity| Entities]) :- - lgt_load_entity(Entity), - lgt_load_entities(Entities). +'$lgt_load_entities'([Entity| Entities]) :- + '$lgt_load_entity'(Entity), + '$lgt_load_entities'(Entities). -% lgt_load_entity(+atom) +% '$lgt_load_entity'(+atom) % % compiles to disk and then loads to memory an entity -lgt_load_entity(Entity) :- - lgt_compile_entity(Entity), - (lgt_compiler_option(report, on) -> - lgt_report_redefined_entity(Entity) +'$lgt_load_entity'(Entity) :- + '$lgt_compile_entity'(Entity), + ('$lgt_compiler_option'(report, on) -> + '$lgt_report_redefined_entity'(Entity) ; true), - lgt_file_name(prolog, Entity, File), - lgt_load_prolog_code(File), - (lgt_compiler_option(report, on) -> + '$lgt_file_name'(prolog, Entity, File), + '$lgt_load_prolog_code'(File), + ('$lgt_compiler_option'(report, on) -> write('<<< '), writeq(Entity), write(' loaded'), nl ; true). -% lgt_report_redefined_entity(+atom) +% '$lgt_report_redefined_entity'(+atom) % % prints a warning if an entity of the same name is already loaded -lgt_report_redefined_entity(Entity) :- - lgt_current_object_(Entity, _, _, _, _), +'$lgt_report_redefined_entity'(Entity) :- + '$lgt_current_object_'(Entity, _, _, _, _), !, write('WARNING! redefining '), write(Entity), write(' object'), nl. -lgt_report_redefined_entity(Entity) :- % parametric objects +'$lgt_report_redefined_entity'(Entity) :- % parametric objects atom_codes(Entity, Codes), - lgt_append(Codes1, Codes2, Codes), + '$lgt_append'(Codes1, Codes2, Codes), catch(number_codes(Arity, Codes2), _, fail), atom_codes(Functor, Codes1), functor(Loaded, Functor, Arity), - lgt_current_object_(Loaded, _, _, _, _), + '$lgt_current_object_'(Loaded, _, _, _, _), !, write('WARNING! redefining '), write(Entity), write(' object'), nl. -lgt_report_redefined_entity(Entity) :- - lgt_current_protocol_(Entity, _), +'$lgt_report_redefined_entity'(Entity) :- + '$lgt_current_protocol_'(Entity, _), !, write('WARNING! redefining '), write(Entity), write(' protocol'), nl. -lgt_report_redefined_entity(Entity) :- - lgt_current_category_(Entity, _), +'$lgt_report_redefined_entity'(Entity) :- + '$lgt_current_category_'(Entity, _), !, write('WARNING! redefining '), write(Entity), write(' category'), nl. -lgt_report_redefined_entity(_). +'$lgt_report_redefined_entity'(_). -% lgt_compile_entities(+list) +% '$lgt_compile_entities'(+list) % % compiles to disk a list of entities -lgt_compile_entities([]). +'$lgt_compile_entities'([]). -lgt_compile_entities([Entity| Entities]) :- - lgt_compile_entity(Entity), - lgt_compile_entities(Entities). +'$lgt_compile_entities'([Entity| Entities]) :- + '$lgt_compile_entity'(Entity), + '$lgt_compile_entities'(Entities). -% lgt_compile_entity(+atom) +% '$lgt_compile_entity'(+atom) % % compiles to disk an entity -lgt_compile_entity(Entity) :- - lgt_compiler_option(smart_compilation, on), - \+ lgt_needs_recompilation(Entity), +'$lgt_compile_entity'(Entity) :- + '$lgt_compiler_option'(smart_compilation, on), + \+ '$lgt_needs_recompilation'(Entity), !, - (lgt_compiler_option(report, on) -> + ('$lgt_compiler_option'(report, on) -> nl, write('>>> '), writeq(Entity), write(' is up-to-date'), nl ; true). -lgt_compile_entity(Entity) :- - (lgt_compiler_option(report, on) -> +'$lgt_compile_entity'(Entity) :- + ('$lgt_compiler_option'(report, on) -> nl, write('>>> compiling '), writeq(Entity), nl ; true), - lgt_tr_entity(Entity), - lgt_write_tr_entity(Entity), - lgt_write_entity_doc(Entity), - lgt_report_unknown_entities, - (lgt_compiler_option(report, on) -> + '$lgt_tr_entity'(Entity), + '$lgt_write_tr_entity'(Entity), + '$lgt_write_entity_doc'(Entity), + '$lgt_report_unknown_entities', + ('$lgt_compiler_option'(report, on) -> write('>>> '), writeq(Entity), write(' compiled'), nl ; true). -% lgt_needs_recompilation(+atom) +% '$lgt_needs_recompilation'(+atom) % % source file needs recompilation -lgt_needs_recompilation(Entity) :- - lgt_file_name(prolog, Entity, File), - \+ lgt_file_exists(File). +'$lgt_needs_recompilation'(Entity) :- + '$lgt_file_name'(prolog, Entity, File), + \+ '$lgt_file_exists'(File). -lgt_needs_recompilation(Entity) :- - lgt_file_name(xml, Entity, File), - lgt_compiler_option(xml, on), - \+ lgt_file_exists(File). +'$lgt_needs_recompilation'(Entity) :- + '$lgt_file_name'(xml, Entity, File), + '$lgt_compiler_option'(xml, on), + \+ '$lgt_file_exists'(File). -lgt_needs_recompilation(Entity) :- - lgt_file_name(logtalk, Entity, Source), - lgt_file_name(prolog, Entity, Object), - (lgt_compare_file_mtimes(Result, Source, Object) -> - Result = '>' +'$lgt_needs_recompilation'(Entity) :- + '$lgt_file_name'(logtalk, Entity, Source), + '$lgt_file_name'(prolog, Entity, Object), + ('$lgt_compare_file_mtimes'(Result, Source, Object) -> + Result = (>) ; true). -% lgt_write_tr_entity(+atom) +% '$lgt_write_tr_entity'(+atom) % % writes to disk the entity compiled code -lgt_write_tr_entity(Entity) :- - lgt_file_name(prolog, Entity, File), +'$lgt_write_tr_entity'(Entity) :- + '$lgt_file_name'(prolog, Entity, File), catch( open(File, write, Stream), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), catch( - (lgt_write_directives(Stream), - lgt_write_clauses(Stream), - lgt_write_init_call(Stream)), + ('$lgt_write_directives'(Stream), + '$lgt_write_clauses'(Stream), + '$lgt_write_init_call'(Stream)), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), close(Stream). -% lgt_write_entity_doc(+atom) +% '$lgt_write_entity_doc'(+atom) % % writes to disk the entity documentation in XML format -lgt_write_entity_doc(Entity) :- - lgt_compiler_option(xml, on) -> - lgt_file_name(xml, Entity, File), +'$lgt_write_entity_doc'(Entity) :- + '$lgt_compiler_option'(xml, on) -> + '$lgt_file_name'(xml, Entity, File), catch( open(File, write, Stream), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), catch( - lgt_write_xml_file(Stream), + '$lgt_write_xml_file'(Stream), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), close(Stream) ; true. -% lgt_file_name(+atom, +atom, -atom) +% '$lgt_file_name'(+atom, +atom, -atom) % % constructs a filename given the type of file and the entity name -lgt_file_name(Type, Entity, File) :- - lgt_file_extension(Type, Extension), +'$lgt_file_name'(Type, Entity, File) :- + '$lgt_file_extension'(Type, Extension), atom_concat(Entity, Extension, File). -% lgt_tr_entity(+atom) +% '$lgt_tr_entity'(+atom) % % compiles an entity storing the resulting code in memory -lgt_tr_entity(Entity) :- - lgt_clean_up, - lgt_file_name(logtalk, Entity, File), +'$lgt_tr_entity'(Entity) :- + '$lgt_clean_up', + '$lgt_file_name'(logtalk, Entity, File), catch( open(File, read, Stream), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), catch( - (read_term(Stream, Term, [singletons(Singletons)]), - lgt_report_singletons(Singletons, Term), - lgt_tr_file(Stream, Term)), + (read_term(Stream, Term, [singletons(Singletons1)]), + '$lgt_filter_named_anonymous_vars'(Singletons1, Singletons2), + '$lgt_report_singletons'(Singletons2, Term), + '$lgt_tr_file'(Stream, Term)), Error, - lgt_compiler_error_handler(Stream, Error)), + '$lgt_compiler_error_handler'(Stream, Error)), close(Stream), - lgt_fix_redef_built_ins, - lgt_find_misspelt_calls, - lgt_entity_(Type, _, _, _), - lgt_gen_clauses(Type), - lgt_gen_directives(Type). + '$lgt_fix_redef_built_ins', + '$lgt_find_misspelt_calls', + '$lgt_entity_'(Type, _, _, _), + '$lgt_gen_clauses'(Type), + '$lgt_gen_directives'(Type). -% lgt_tr_file(+stream, +term) +% '$lgt_tr_file'(+stream, +term) -lgt_tr_file(_, end_of_file) :- +'$lgt_tr_file'(_, end_of_file) :- !. -lgt_tr_file(Stream, Term) :- - lgt_tr_term(Term), - read_term(Stream, Next, [singletons(Singletons)]), - lgt_report_singletons(Singletons, Next), - lgt_tr_file(Stream, Next). +'$lgt_tr_file'(Stream, Term) :- + '$lgt_tr_term'(Term), + read_term(Stream, Next, [singletons(Singletons1)]), + '$lgt_filter_named_anonymous_vars'(Singletons1, Singletons2), + '$lgt_report_singletons'(Singletons2, Next), + '$lgt_tr_file'(Stream, Next). -% lgt_report_singletons(+list, +term) +% '$lgt_filter_named_anonymous_vars'(+list, -list) +% +% filter named anonymous varaibles from a singletons list +% if the corresponding compiler option is enabled + +'$lgt_filter_named_anonymous_vars'(List, Result) :- + '$lgt_compiler_option'(named_anonymous_vars, on) -> + '$lgt_filter_named_anonymous_vars'(List, [], Result) + ; + List = Result. + + +'$lgt_filter_named_anonymous_vars'([], Result, Result). + +'$lgt_filter_named_anonymous_vars'([Atom = Var| List], Sofar, Result) :- + sub_atom(Atom, 0, 1, _, '_') -> + '$lgt_filter_named_anonymous_vars'(List, Sofar, Result) + ; + '$lgt_filter_named_anonymous_vars'(List, [Atom = Var| Sofar], Result). + + + +% '$lgt_report_singletons'(+list, +term) % % report the singleton variables found while compiling an entity term -lgt_report_singletons([], _). +'$lgt_report_singletons'([], _). -lgt_report_singletons([Singleton| Singletons], Term) :- - (lgt_compiler_option(singletons, warning), - lgt_compiler_option(report, on)) -> +'$lgt_report_singletons'([Singleton| Singletons], Term) :- + ('$lgt_compiler_option'(singletons, warning), + '$lgt_compiler_option'(report, on)) -> write('WARNING!'), - \+ \+ ( lgt_report_singletons_aux([Singleton| Singletons], Term, Names), + \+ \+ ( '$lgt_report_singletons_aux'([Singleton| Singletons], Term, Names), write(' singleton variables: '), write(Names), nl, (Term = (:- _) -> write(' in directive: ') @@ -2079,96 +2103,96 @@ lgt_report_singletons([Singleton| Singletons], Term) :- true. -lgt_report_singletons_aux([], _, []). +'$lgt_report_singletons_aux'([], _, []). -lgt_report_singletons_aux([Name = Var| Singletons], Term, [Name| Names]) :- +'$lgt_report_singletons_aux'([Name = Var| Singletons], Term, [Name| Names]) :- Name = Var, - lgt_report_singletons_aux(Singletons, Term, Names). + '$lgt_report_singletons_aux'(Singletons, Term, Names). -% lgt_compiler_error_handler(@term, +term) +% '$lgt_compiler_error_handler'(@term, +term) % % close the stream opened for reading the entity % file and report the compilation error found -lgt_compiler_error_handler(Stream, Error) :- +'$lgt_compiler_error_handler'(Stream, Error) :- (nonvar(Stream) -> close(Stream) ; true), - lgt_report_compiler_error(Error), + '$lgt_report_compiler_error'(Error), throw(Error). -% lgt_report_compiler_error(+term) +% '$lgt_report_compiler_error'(+term) % % reports a compilation error -lgt_report_compiler_error(error(Error, directive(Directive))) :- +'$lgt_report_compiler_error'(error(Error, directive(Directive))) :- !, write('ERROR! '), writeq(Error), nl, write(' in directive: '), write((:- Directive)), nl. -lgt_report_compiler_error(error(Error, clause(Clause))) :- +'$lgt_report_compiler_error'(error(Error, clause(Clause))) :- !, write('ERROR! '), writeq(Error), nl, write(' in clause: '), write(Clause), nl. -lgt_report_compiler_error(error(Error, Term)) :- +'$lgt_report_compiler_error'(error(Error, Term)) :- !, write('ERROR! '), writeq(Error), nl, write(' in: '), write(Term), nl. -lgt_report_compiler_error(Error) :- +'$lgt_report_compiler_error'(Error) :- write('ERROR! '), writeq(Error), nl. % clean up all dynamic predicates used during entity compilation -lgt_clean_up :- - retractall(lgt_object_(_, _, _, _, _, _, _, _, _)), - retractall(lgt_protocol_(_, _, _)), - retractall(lgt_category_(_, _, _, _)), - retractall(lgt_implemented_protocol_(_, _, _, _)), - retractall(lgt_imported_category_(_, _, _, _, _)), - retractall(lgt_extended_object_(_, _, _, _, _, _, _, _, _, _)), - retractall(lgt_instantiated_class_(_, _, _, _, _, _, _, _, _, _)), - retractall(lgt_specialized_class_(_, _, _, _, _, _, _, _, _, _)), - retractall(lgt_extended_protocol_(_, _, _, _)), - retractall(lgt_uses_(_)), - retractall(lgt_calls_(_)), - retractall(lgt_info_(_)), - retractall(lgt_info_(_, _)), - retractall(lgt_directive_(_)), - retractall(lgt_public_(_)), - retractall(lgt_protected_(_)), - retractall(lgt_private_(_)), - retractall(lgt_dynamic_(_)), - retractall(lgt_discontiguous_(_)), - retractall(lgt_mode_(_, _)), - retractall(lgt_metapredicate_(_)), - retractall(lgt_entity_functors_(_)), - retractall(lgt_entity_(_, _, _, _)), - retractall(lgt_entity_init_(_)), - retractall(lgt_fentity_init_(_)), - retractall(lgt_entity_comp_mode_(_)), - retractall(lgt_dcl_(_)), - retractall(lgt_ddcl_(_)), - retractall(lgt_def_(_)), - retractall(lgt_ddef_(_)), - retractall(lgt_super_(_)), - retractall(lgt_rclause_(_)), - retractall(lgt_eclause_(_)), - retractall(lgt_feclause_(_)), - retractall(lgt_redefined_built_in_(_, _, _)), - retractall(lgt_defs_pred_(_)), - retractall(lgt_calls_pred_(_)), - retractall(lgt_referenced_object_(_)), - retractall(lgt_referenced_protocol_(_)), - retractall(lgt_referenced_category_(_)). +'$lgt_clean_up' :- + retractall('$lgt_object_'(_, _, _, _, _, _, _, _, _)), + retractall('$lgt_protocol_'(_, _, _)), + retractall('$lgt_category_'(_, _, _, _)), + retractall('$lgt_implemented_protocol_'(_, _, _, _)), + retractall('$lgt_imported_category_'(_, _, _, _, _)), + retractall('$lgt_extended_object_'(_, _, _, _, _, _, _, _, _, _)), + retractall('$lgt_instantiated_class_'(_, _, _, _, _, _, _, _, _, _)), + retractall('$lgt_specialized_class_'(_, _, _, _, _, _, _, _, _, _)), + retractall('$lgt_extended_protocol_'(_, _, _, _)), + retractall('$lgt_uses_'(_)), + retractall('$lgt_calls_'(_)), + retractall('$lgt_info_'(_)), + retractall('$lgt_info_'(_, _)), + retractall('$lgt_directive_'(_)), + retractall('$lgt_public_'(_)), + retractall('$lgt_protected_'(_)), + retractall('$lgt_private_'(_)), + retractall('$lgt_dynamic_'(_)), + retractall('$lgt_discontiguous_'(_)), + retractall('$lgt_mode_'(_, _)), + retractall('$lgt_metapredicate_'(_)), + retractall('$lgt_entity_functors_'(_)), + retractall('$lgt_entity_'(_, _, _, _)), + retractall('$lgt_entity_init_'(_)), + retractall('$lgt_fentity_init_'(_)), + retractall('$lgt_entity_comp_mode_'(_)), + retractall('$lgt_dcl_'(_)), + retractall('$lgt_ddcl_'(_)), + retractall('$lgt_def_'(_)), + retractall('$lgt_ddef_'(_)), + retractall('$lgt_super_'(_)), + retractall('$lgt_rclause_'(_)), + retractall('$lgt_eclause_'(_)), + retractall('$lgt_feclause_'(_)), + retractall('$lgt_redefined_built_in_'(_, _, _)), + retractall('$lgt_defs_pred_'(_)), + retractall('$lgt_calls_pred_'(_)), + retractall('$lgt_referenced_object_'(_)), + retractall('$lgt_referenced_protocol_'(_)), + retractall('$lgt_referenced_category_'(_)). @@ -2177,194 +2201,194 @@ lgt_clean_up :- % % only works on Prolog compilers implementing listing/1 -lgt_dump_all :- - listing(lgt_object_/9), - listing(lgt_protocol_/3), - listing(lgt_category_/4), - listing(lgt_implemented_protocol_/4), - listing(lgt_imported_category_/5), - listing(lgt_extended_object_/10), - listing(lgt_instantiated_class_/10), - listing(lgt_specialized_class_/10), - listing(lgt_extended_protocol_/4), - listing(lgt_uses_/1), - listing(lgt_calls_/1), - listing(lgt_info_/1), - listing(lgt_info_/2), - listing(lgt_directive_/1), - listing(lgt_public_/1), - listing(lgt_protected_/1), - listing(lgt_private_/1), - listing(lgt_dynamic_/1), - listing(lgt_discontiguous_/1), - listing(lgt_mode_/2), - listing(lgt_metapredicate_/1), - listing(lgt_entity_functors_/1), - listing(lgt_entity_/4), - listing(lgt_entity_init_/1), - listing(lgt_fentity_init_/1), - listing(lgt_entity_comp_mode_/1), - listing(lgt_dcl_/1), - listing(lgt_ddcl_/1), - listing(lgt_def_/1), - listing(lgt_ddef_/1), - listing(lgt_super_/1), - listing(lgt_rclause_/1), - listing(lgt_eclause_/1), - listing(lgt_feclause_/1), - listing(lgt_redefined_built_in_/3), - listing(lgt_defs_pred_/1), - listing(lgt_calls_pred_/1), - listing(lgt_current_compiler_option_/2), - listing(lgt_flag_/2), - listing(lgt_referenced_object_/1), - listing(lgt_referenced_protocol_/1), - listing(lgt_referenced_category_/1). +'$lgt_dump_all' :- + listing('$lgt_object_'/9), + listing('$lgt_protocol_'/3), + listing('$lgt_category_'/4), + listing('$lgt_implemented_protocol_'/4), + listing('$lgt_imported_category_'/5), + listing('$lgt_extended_object_'/10), + listing('$lgt_instantiated_class_'/10), + listing('$lgt_specialized_class_'/10), + listing('$lgt_extended_protocol_'/4), + listing('$lgt_uses_'/1), + listing('$lgt_calls_'/1), + listing('$lgt_info_'/1), + listing('$lgt_info_'/2), + listing('$lgt_directive_'/1), + listing('$lgt_public_'/1), + listing('$lgt_protected_'/1), + listing('$lgt_private_'/1), + listing('$lgt_dynamic_'/1), + listing('$lgt_discontiguous_'/1), + listing('$lgt_mode_'/2), + listing('$lgt_metapredicate_'/1), + listing('$lgt_entity_functors_'/1), + listing('$lgt_entity_'/4), + listing('$lgt_entity_init_'/1), + listing('$lgt_fentity_init_'/1), + listing('$lgt_entity_comp_mode_'/1), + listing('$lgt_dcl_'/1), + listing('$lgt_ddcl_'/1), + listing('$lgt_def_'/1), + listing('$lgt_ddef_'/1), + listing('$lgt_super_'/1), + listing('$lgt_rclause_'/1), + listing('$lgt_eclause_'/1), + listing('$lgt_feclause_'/1), + listing('$lgt_redefined_built_in_'/3), + listing('$lgt_defs_pred_'/1), + listing('$lgt_calls_pred_'/1), + listing('$lgt_current_compiler_option_'/2), + listing('$lgt_flag_'/2), + listing('$lgt_referenced_object_'/1), + listing('$lgt_referenced_protocol_'/1), + listing('$lgt_referenced_category_'/1). -% lgt_tr_terms(+list) +% '$lgt_tr_terms'(+list) % % translates a list of entity terms (clauses and/or directives) -lgt_tr_terms([]). +'$lgt_tr_terms'([]). -lgt_tr_terms([Term| Terms]) :- - lgt_tr_term(Term), - lgt_tr_terms(Terms). +'$lgt_tr_terms'([Term| Terms]) :- + '$lgt_tr_term'(Term), + '$lgt_tr_terms'(Terms). -% lgt_tr_term(+term) +% '$lgt_tr_term'(+term) % % translates an entity term (either a clause or a directive) -lgt_tr_term((Head:-Body)) :- +'$lgt_tr_term'((Head:-Body)) :- !, - lgt_tr_clause((Head:-Body)). + '$lgt_tr_clause'((Head:-Body)). -lgt_tr_term((:-Dir)) :- +'$lgt_tr_term'((:-Dir)) :- !, - lgt_tr_directive(Dir). + '$lgt_tr_directive'(Dir). -lgt_tr_term(Fact) :- - lgt_tr_clause(Fact). +'$lgt_tr_term'(Fact) :- + '$lgt_tr_clause'(Fact). -% lgt_tr_directives(+list) +% '$lgt_tr_directives'(+list) % % translates a list of entity directives -lgt_tr_directives([]). +'$lgt_tr_directives'([]). -lgt_tr_directives([Dir| Dirs]) :- - lgt_tr_directive(Dir), - lgt_tr_directives(Dirs). +'$lgt_tr_directives'([Dir| Dirs]) :- + '$lgt_tr_directive'(Dir), + '$lgt_tr_directives'(Dirs). -% lgt_tr_directive(+term) +% '$lgt_tr_directive'(+term) % % translates an entity directive -lgt_tr_directive(Dir) :- +'$lgt_tr_directive'(Dir) :- var(Dir), throw(error(instantiantion_error, directive(Dir))). -lgt_tr_directive(Dir) :- - \+ lgt_entity_(_, _, _, _), % directive occurs before opening entity directive +'$lgt_tr_directive'(Dir) :- + \+ '$lgt_entity_'(_, _, _, _), % directive occurs before opening entity directive functor(Dir, Functor, Arity), - lgt_lgt_closing_directive(Functor/Arity), % opening directive missing/missplet + '$lgt_lgt_closing_directive'(Functor/Arity), % opening directive missing/missplet throw(error(unmatched_directive, directive(Dir))). -lgt_tr_directive(Dir) :- - \+ lgt_entity_(_, _, _, _), % directive occurs before opening entity directive +'$lgt_tr_directive'(Dir) :- + \+ '$lgt_entity_'(_, _, _, _), % directive occurs before opening entity directive functor(Dir, Functor, Arity), - \+ lgt_lgt_opening_directive(Functor/Arity), + \+ '$lgt_lgt_opening_directive'(Functor/Arity), !, - assertz(lgt_directive_(Dir)). + assertz('$lgt_directive_'(Dir)). -lgt_tr_directive(Dir) :- +'$lgt_tr_directive'(Dir) :- functor(Dir, Functor, Arity), - lgt_lgt_directive(Functor/Arity), + '$lgt_lgt_directive'(Functor/Arity), Dir =.. [Functor| Args], catch( - lgt_tr_directive(Functor, Args), + '$lgt_tr_directive'(Functor, Args), Error, throw(error(Error, directive(Dir)))), !. -lgt_tr_directive(Dir) :- +'$lgt_tr_directive'(Dir) :- throw(error(domain_error(directive, Dir), directive(Dir))). -% lgt_tr_directive(+atom, +list) +% '$lgt_tr_directive'(+atom, +list) % % translates a directive and its (possibly empty) list of arguments -lgt_tr_directive(object, [Obj| Rels]) :- - lgt_valid_object_id(Obj) -> - lgt_tr_object_id(Obj), - lgt_tr_object_relations(Rels, Obj) +'$lgt_tr_directive'(object, [Obj| Rels]) :- + '$lgt_valid_object_id'(Obj) -> + '$lgt_tr_object_id'(Obj), + '$lgt_tr_object_relations'(Rels, Obj) ; throw(type_error(object_identifier, Obj)). -lgt_tr_directive(end_object, []) :- - lgt_entity_(object, _, _, _). +'$lgt_tr_directive'(end_object, []) :- + '$lgt_entity_'(object, _, _, _). -lgt_tr_directive(protocol, [Ptc| Rels]) :- - lgt_valid_protocol_id(Ptc) -> - lgt_tr_protocol_id(Ptc), - lgt_tr_protocol_relations(Rels, Ptc) +'$lgt_tr_directive'(protocol, [Ptc| Rels]) :- + '$lgt_valid_protocol_id'(Ptc) -> + '$lgt_tr_protocol_id'(Ptc), + '$lgt_tr_protocol_relations'(Rels, Ptc) ; throw(type_error(protocol_identifier, Ptc)). -lgt_tr_directive(end_protocol, []) :- - lgt_entity_(protocol, _, _, _). +'$lgt_tr_directive'(end_protocol, []) :- + '$lgt_entity_'(protocol, _, _, _). -lgt_tr_directive(category, [Ctg| Rels]) :- - lgt_valid_category_id(Ctg) -> - lgt_tr_category_id(Ctg), - lgt_tr_category_relations(Rels, Ctg) +'$lgt_tr_directive'(category, [Ctg| Rels]) :- + '$lgt_valid_category_id'(Ctg) -> + '$lgt_tr_category_id'(Ctg), + '$lgt_tr_category_relations'(Rels, Ctg) ; throw(type_error(category_identifier, Ctg)). -lgt_tr_directive(end_category, []) :- - lgt_entity_(category, _, _, _). +'$lgt_tr_directive'(end_category, []) :- + '$lgt_entity_'(category, _, _, _). % dynamic entity directive -lgt_tr_directive((dynamic), []) :- - assertz(lgt_entity_comp_mode_((dynamic))). +'$lgt_tr_directive'((dynamic), []) :- + assertz('$lgt_entity_comp_mode_'((dynamic))). -lgt_tr_directive(initialization, [Goal]) :- - lgt_callable(Goal) -> - lgt_entity_(_, Entity, Prefix, _), - lgt_prefix(Context, Prefix), - lgt_metavars(Context, []), - lgt_sender(Context, Entity), - lgt_this(Context, Entity), - lgt_self(Context, Entity), - lgt_tr_body(Goal, TGoal, Context), - assertz(lgt_entity_init_(TGoal)) +'$lgt_tr_directive'(initialization, [Goal]) :- + '$lgt_callable'(Goal) -> + '$lgt_entity_'(_, Entity, Prefix, _), + '$lgt_prefix'(Context, Prefix), + '$lgt_metavars'(Context, []), + '$lgt_sender'(Context, Entity), + '$lgt_this'(Context, Entity), + '$lgt_self'(Context, Entity), + '$lgt_tr_body'(Goal, TGoal, Context), + assertz('$lgt_entity_init_'(TGoal)) ; throw(type_error(callable, Goal)). -lgt_tr_directive(op, [Priority, Specifier, Operators]) :- - lgt_valid_op_priority(Priority) -> - (lgt_valid_op_specifier(Specifier) -> - (lgt_valid_op_names(Operators) -> +'$lgt_tr_directive'(op, [Priority, Specifier, Operators]) :- + '$lgt_valid_op_priority'(Priority) -> + ('$lgt_valid_op_specifier'(Specifier) -> + ('$lgt_valid_op_names'(Operators) -> op(Priority, Specifier, Operators), - assertz(lgt_directive_(op(Priority, Specifier, Operators))) + assertz('$lgt_directive_'(op(Priority, Specifier, Operators))) ; throw(type_error(operator_name, Operators))) ; @@ -2373,40 +2397,40 @@ lgt_tr_directive(op, [Priority, Specifier, Operators]) :- throw(type_error(operator_priority, Priority)). -lgt_tr_directive(uses, Objs) :- - lgt_convert_to_list(Objs, Objs2), +'$lgt_tr_directive'(uses, Objs) :- + '$lgt_convert_to_list'(Objs, Objs2), forall( - lgt_member(Obj, Objs2), - (lgt_valid_object_id(Obj) -> - lgt_add_referenced_object(Obj), - assertz(lgt_uses_(Obj)) + '$lgt_member'(Obj, Objs2), + ('$lgt_valid_object_id'(Obj) -> + '$lgt_add_referenced_object'(Obj), + assertz('$lgt_uses_'(Obj)) ; throw(type_error(object_identifier, Obj)))). -lgt_tr_directive(calls, Ptcs) :- - lgt_convert_to_list(Ptcs, Ptcs2), +'$lgt_tr_directive'(calls, Ptcs) :- + '$lgt_convert_to_list'(Ptcs, Ptcs2), forall( - lgt_member(Ptc, Ptcs2), - (lgt_valid_protocol_id(Ptc) -> - lgt_add_referenced_protocol(Ptc), - assertz(lgt_calls_(Ptc)) + '$lgt_member'(Ptc, Ptcs2), + ('$lgt_valid_protocol_id'(Ptc) -> + '$lgt_add_referenced_protocol'(Ptc), + assertz('$lgt_calls_'(Ptc)) ; throw(type_error(protocol_identifier, Ptc)))). -lgt_tr_directive(info, [List]) :- +'$lgt_tr_directive'(info, [List]) :- !, - (lgt_valid_info_list(List) -> - assertz(lgt_info_(List)) + ('$lgt_valid_info_list'(List) -> + assertz('$lgt_info_'(List)) ; throw(type_error(info_list, List))). -lgt_tr_directive(info, [Pred, List]) :- - lgt_valid_pred_ind(Pred) -> - (lgt_valid_info_list(List) -> - assertz(lgt_info_(Pred, List)) +'$lgt_tr_directive'(info, [Pred, List]) :- + '$lgt_valid_pred_ind'(Pred) -> + ('$lgt_valid_info_list'(List) -> + assertz('$lgt_info_'(Pred, List)) ; throw(type_error(info_list, List))) ; @@ -2414,70 +2438,70 @@ lgt_tr_directive(info, [Pred, List]) :- -lgt_tr_directive((public), Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'((public), Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_pred_ind(Pred) -> - assertz(lgt_public_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_pred_ind'(Pred) -> + assertz('$lgt_public_'(Pred)) ; throw(type_error(predicate_indicator, Pred)))). -lgt_tr_directive(protected, Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'(protected, Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_pred_ind(Pred) -> - assertz(lgt_protected_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_pred_ind'(Pred) -> + assertz('$lgt_protected_'(Pred)) ; throw(type_error(predicate_indicator, Pred)))). -lgt_tr_directive(private, Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'(private, Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_pred_ind(Pred) -> - assertz(lgt_private_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_pred_ind'(Pred) -> + assertz('$lgt_private_'(Pred)) ; throw(type_error(predicate_indicator, Pred)))). -lgt_tr_directive((dynamic), Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'((dynamic), Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_pred_ind(Pred) -> - assertz(lgt_dynamic_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_pred_ind'(Pred) -> + assertz('$lgt_dynamic_'(Pred)) ; throw(type_error(predicate_indicator, Pred)))). -lgt_tr_directive((discontiguous), Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'((discontiguous), Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_pred_ind(Pred) -> - assertz(lgt_discontiguous_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_pred_ind'(Pred) -> + assertz('$lgt_discontiguous_'(Pred)) ; throw(type_error(predicate_indicator, Pred)))). -lgt_tr_directive(metapredicate, Preds) :- - lgt_convert_to_list(Preds, Preds2), +'$lgt_tr_directive'(metapredicate, Preds) :- + '$lgt_convert_to_list'(Preds, Preds2), forall( - lgt_member(Pred, Preds2), - (lgt_valid_metapred_term(Pred) -> - assertz(lgt_metapredicate_(Pred)) + '$lgt_member'(Pred, Preds2), + ('$lgt_valid_metapred_term'(Pred) -> + assertz('$lgt_metapredicate_'(Pred)) ; throw(type_error(metapredicate_term, Pred)))). -lgt_tr_directive((mode), [Mode, Solutions]) :- - lgt_valid_mode_term(Mode) -> - (lgt_valid_number_of_solutions(Solutions) -> - assertz(lgt_mode_(Mode, Solutions)) +'$lgt_tr_directive'((mode), [Mode, Solutions]) :- + '$lgt_valid_mode_term'(Mode) -> + ('$lgt_valid_number_of_solutions'(Solutions) -> + assertz('$lgt_mode_'(Mode, Solutions)) ; throw(type_error(number_of_solutions, Solutions))) ; @@ -2485,185 +2509,185 @@ lgt_tr_directive((mode), [Mode, Solutions]) :- -% lgt_tr_object_relations(+list, +term) +% '$lgt_tr_object_relations'(+list, +term) % % translates the relations of an object with other entities -lgt_tr_object_relations([], _). +'$lgt_tr_object_relations'([], _). -lgt_tr_object_relations([Clause| Clauses], Obj) :- +'$lgt_tr_object_relations'([Clause| Clauses], Obj) :- Clause =.. [Functor| Arguments], - (lgt_tr_object_relation(Functor, Arguments, Obj) -> - lgt_tr_object_relations(Clauses, Obj) + ('$lgt_tr_object_relation'(Functor, Arguments, Obj) -> + '$lgt_tr_object_relations'(Clauses, Obj) ; throw(type_error(relation_clause, Functor))). -% lgt_tr_object_relation(+atom, +list, +term) +% '$lgt_tr_object_relation'(+atom, +list, +term) % % translates a relation between an object (the last argument) with other entities -lgt_tr_object_relation(implements, Ptcs, Obj) :- - lgt_convert_to_list(Ptcs, List), - lgt_tr_implements_protocol(List, Obj). +'$lgt_tr_object_relation'(implements, Ptcs, Obj) :- + '$lgt_convert_to_list'(Ptcs, List), + '$lgt_tr_implements_protocol'(List, Obj). -lgt_tr_object_relation(imports, Ctgs, Obj) :- - lgt_convert_to_list(Ctgs, List), - lgt_tr_imports_category(List, Obj). +'$lgt_tr_object_relation'(imports, Ctgs, Obj) :- + '$lgt_convert_to_list'(Ctgs, List), + '$lgt_tr_imports_category'(List, Obj). -lgt_tr_object_relation(instantiates, Classes, Obj) :- - lgt_convert_to_list(Classes, List), - lgt_tr_instantiates_class(List, Obj). +'$lgt_tr_object_relation'(instantiates, Classes, Obj) :- + '$lgt_convert_to_list'(Classes, List), + '$lgt_tr_instantiates_class'(List, Obj). -lgt_tr_object_relation(specializes, Superclasses, Class) :- - lgt_convert_to_list(Superclasses, List), - lgt_tr_specializes_class(List, Class). +'$lgt_tr_object_relation'(specializes, Superclasses, Class) :- + '$lgt_convert_to_list'(Superclasses, List), + '$lgt_tr_specializes_class'(List, Class). -lgt_tr_object_relation(extends, Parents, Prototype) :- - lgt_convert_to_list(Parents, List), - lgt_tr_extends_object(List, Prototype). +'$lgt_tr_object_relation'(extends, Parents, Prototype) :- + '$lgt_convert_to_list'(Parents, List), + '$lgt_tr_extends_object'(List, Prototype). -% lgt_tr_protocol_relations(+list, +term) +% '$lgt_tr_protocol_relations'(+list, +term) % % translates the relations of a protocol with other entities -lgt_tr_protocol_relations([], _). +'$lgt_tr_protocol_relations'([], _). -lgt_tr_protocol_relations([Clause| Clauses], Obj) :- +'$lgt_tr_protocol_relations'([Clause| Clauses], Obj) :- Clause =.. [Functor| Arguments], - lgt_tr_protocol_relation(Functor, Arguments, Obj), - lgt_tr_protocol_relations(Clauses, Obj). + '$lgt_tr_protocol_relation'(Functor, Arguments, Obj), + '$lgt_tr_protocol_relations'(Clauses, Obj). -% lgt_tr_protocol_relation(+atom, +list, +term) +% '$lgt_tr_protocol_relation'(+atom, +list, +term) % % translates a relation between a protocol (the last argument) with other entities -lgt_tr_protocol_relation(extends, Ptcs, Ptc) :- +'$lgt_tr_protocol_relation'(extends, Ptcs, Ptc) :- !, - lgt_convert_to_list(Ptcs, List), - lgt_tr_extends_protocol(List, Ptc). + '$lgt_convert_to_list'(Ptcs, List), + '$lgt_tr_extends_protocol'(List, Ptc). -lgt_tr_protocol_relation(Unknown, _, _) :- +'$lgt_tr_protocol_relation'(Unknown, _, _) :- throw(directive_error(relation_clause, Unknown)). -% lgt_tr_category_relations(+list, +term) +% '$lgt_tr_category_relations'(+list, +term) % % translates the relations of a category with other entities -lgt_tr_category_relations([], _). +'$lgt_tr_category_relations'([], _). -lgt_tr_category_relations([Clause| Clauses], Obj) :- +'$lgt_tr_category_relations'([Clause| Clauses], Obj) :- Clause =.. [Functor| Arguments], - lgt_tr_category_relation(Functor, Arguments, Obj), - lgt_tr_category_relations(Clauses, Obj). + '$lgt_tr_category_relation'(Functor, Arguments, Obj), + '$lgt_tr_category_relations'(Clauses, Obj). -% lgt_tr_category_relation(+atom, +list, +term) +% '$lgt_tr_category_relation'(+atom, +list, +term) % % translates a relation between a category (the last argument) with other entities -lgt_tr_category_relation(implements, Ptcs, Ctg) :- +'$lgt_tr_category_relation'(implements, Ptcs, Ctg) :- !, - lgt_convert_to_list(Ptcs, List), - lgt_tr_implements_protocol(List, Ctg). + '$lgt_convert_to_list'(Ptcs, List), + '$lgt_tr_implements_protocol'(List, Ctg). -lgt_tr_category_relation(Unknown, _, _) :- +'$lgt_tr_category_relation'(Unknown, _, _) :- throw(directive_error(relation_clause, Unknown)). -% lgt_tr_clauses(+list) +% '$lgt_tr_clauses'(+list) -lgt_tr_clauses([]). +'$lgt_tr_clauses'([]). -lgt_tr_clauses([Clause| Clauses]) :- - lgt_tr_clause(Clause), - lgt_tr_clauses(Clauses). +'$lgt_tr_clauses'([Clause| Clauses]) :- + '$lgt_tr_clause'(Clause), + '$lgt_tr_clauses'(Clauses). -% lgt_tr_clause(+clause) +% '$lgt_tr_clause'(+clause) -lgt_tr_clause(Clause) :- - \+ lgt_entity_(_, _, _, _), % clause occurs before opening entity directive +'$lgt_tr_clause'(Clause) :- + \+ '$lgt_entity_'(_, _, _, _), % clause occurs before opening entity directive !, - assertz(lgt_feclause_(Clause)). + assertz('$lgt_feclause_'(Clause)). -lgt_tr_clause(Clause) :- - lgt_entity_(_, _, Prefix, _), - lgt_prefix(Context, Prefix), +'$lgt_tr_clause'(Clause) :- + '$lgt_entity_'(_, _, Prefix, _), + '$lgt_prefix'(Context, Prefix), catch( - lgt_tr_clause(Clause, TClause, Context), + '$lgt_tr_clause'(Clause, TClause, Context), Error, throw(error(Error, clause(Clause)))), - assertz(lgt_eclause_(TClause)), + assertz('$lgt_eclause_'(TClause)), !. -lgt_tr_clause(Clause) :- +'$lgt_tr_clause'(Clause) :- throw(error(unknown_error, clause(Clause))). -% lgt_tr_clause(+clause, +clause, +term) +% '$lgt_tr_clause'(+clause, +clause, +term) -lgt_tr_clause((Head:-_), _, _) :- - \+ lgt_callable(Head), +'$lgt_tr_clause'((Head:-_), _, _) :- + \+ '$lgt_callable'(Head), throw(type_error(callable, Head)). -lgt_tr_clause((Head:-Body), (THead:-TBody), Context) :- +'$lgt_tr_clause'((Head:-Body), (THead:-TBody), Context) :- !, - lgt_extract_metavars(Head, Metavars), - lgt_metavars(Context, Metavars), - lgt_tr_head(Head, THead, Context), - lgt_tr_body(Body, Body2, Context), - lgt_simplify_body(Body2, TBody). + '$lgt_extract_metavars'(Head, Metavars), + '$lgt_metavars'(Context, Metavars), + '$lgt_tr_head'(Head, THead, Context), + '$lgt_tr_body'(Body, Body2, Context), + '$lgt_simplify_body'(Body2, TBody). -lgt_tr_clause(Fact, _, _) :- - \+ lgt_callable(Fact), +'$lgt_tr_clause'(Fact, _, _) :- + \+ '$lgt_callable'(Fact), throw(type_error(callable, Fact)). -lgt_tr_clause(Fact, TFact, Context) :- - lgt_tr_head(Fact, TFact, Context). +'$lgt_tr_clause'(Fact, TFact, Context) :- + '$lgt_tr_head'(Fact, TFact, Context). -% lgt_tr_head(+callable, -callable, +term) +% '$lgt_tr_head'(+callable, -callable, +term) % % translates an entity clause head % definition of dynamic predicates inside categories -lgt_tr_head(Head, _, _) :- - lgt_entity_(category, _, _, _), +'$lgt_tr_head'(Head, _, _) :- + '$lgt_entity_'(category, _, _, _), functor(Head, Functor, Arity), - lgt_dynamic_(Functor/Arity), + '$lgt_dynamic_'(Functor/Arity), throw(permission_error(define, dynamic_predicate, Functor/Arity)). % redefinition of built-in methods -lgt_tr_head(Head, _, _) :- - lgt_built_in_method(Head, _), +'$lgt_tr_head'(Head, _, _) :- + '$lgt_built_in_method'(Head, _), functor(Head, Functor, Arity), throw(permission_error(modify, built_in_method, Functor/Arity)). % redefinition of Logtalk built-in predicates -lgt_tr_head(Head, _, _) :- - lgt_lgt_built_in(Head), - lgt_compiler_option(lgtredef, warning), - lgt_compiler_option(report, on), - \+ lgt_redefined_built_in_(Head, _, _), % not already reported? +'$lgt_tr_head'(Head, _, _) :- + '$lgt_lgt_built_in'(Head), + '$lgt_compiler_option'(lgtredef, warning), + '$lgt_compiler_option'(report, on), + \+ '$lgt_redefined_built_in_'(Head, _, _), % not already reported? functor(Head, Functor, Arity), write('WARNING! redefining a Logtalk built-in predicate: '), writeq(Functor/Arity), nl, @@ -2672,11 +2696,11 @@ lgt_tr_head(Head, _, _) :- % redefinition of Prolog built-in predicates -lgt_tr_head(Head, _, _) :- - lgt_pl_built_in(Head), - lgt_compiler_option(plredef, warning), - lgt_compiler_option(report, on), - \+ lgt_redefined_built_in_(Head, _, _), % not already reported? +'$lgt_tr_head'(Head, _, _) :- + '$lgt_pl_built_in'(Head), + '$lgt_compiler_option'(plredef, warning), + '$lgt_compiler_option'(report, on), + \+ '$lgt_redefined_built_in_'(Head, _, _), % not already reported? functor(Head, Functor, Arity), write('WARNING! redefining a Prolog built-in predicate: '), writeq(Functor/Arity), nl, @@ -2685,728 +2709,728 @@ lgt_tr_head(Head, _, _) :- % translate the head of a clause of a user defined predicate -lgt_tr_head(Head, THead, Context) :- +'$lgt_tr_head'(Head, THead, Context) :- functor(Head, Functor, Arity), Head =.. [_| Args], - lgt_prefix(Context, EPrefix), - lgt_construct_predicate_functor(EPrefix, Functor, Arity, PPrefix), - ((lgt_dynamic_(Functor/Arity), - \+ lgt_public_(Functor/Arity), - \+ lgt_protected_(Functor/Arity), - \+ lgt_private_(Functor/Arity)) -> - lgt_add_ddef_clause(Functor, Arity, PPrefix, Context) + '$lgt_prefix'(Context, EPrefix), + '$lgt_construct_predicate_functor'(EPrefix, Functor, Arity, PPrefix), + (('$lgt_dynamic_'(Functor/Arity), + \+ '$lgt_public_'(Functor/Arity), + \+ '$lgt_protected_'(Functor/Arity), + \+ '$lgt_private_'(Functor/Arity)) -> + '$lgt_add_ddef_clause'(Functor, Arity, PPrefix, Context) ; - lgt_add_def_clause(Functor, Arity, PPrefix, Context)), - lgt_sender(Context, Sender), - lgt_this(Context, This), - lgt_self(Context, Self), - lgt_append(Args, [Sender, This, Self], Args2), + '$lgt_add_def_clause'(Functor, Arity, PPrefix, Context)), + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self), + '$lgt_append'(Args, [Sender, This, Self], Args2), THead =.. [PPrefix| Args2]. -% lgt_tr_body(+callable, -callable, +term) +% '$lgt_tr_body'(+callable, -callable, +term) % % translates an entity clause body % meta-calls -lgt_tr_body(Pred, TPred, Context) :- +'$lgt_tr_body'(Pred, TPred, Context) :- var(Pred), !, - lgt_metavars(Context, Metavars), - (lgt_member_var(Pred, Metavars) -> - lgt_sender(Context, Sender), - TPred = lgt_metacall_in_object(Sender, Pred, Sender) + '$lgt_metavars'(Context, Metavars), + ('$lgt_member_var'(Pred, Metavars) -> + '$lgt_sender'(Context, Sender), + TPred = '$lgt_metacall_in_object'(Sender, Pred, Sender) ; - lgt_this(Context, This), - TPred = lgt_metacall_in_object(This, Pred, This)). + '$lgt_this'(Context, This), + TPred = '$lgt_metacall_in_object'(This, Pred, This)). % pre-processor bypass (call of external code) -lgt_tr_body({Pred}, Pred, _) :- +'$lgt_tr_body'({Pred}, Pred, _) :- !. % bagof/3 and setof/3 existential quantifiers -lgt_tr_body(Var^Pred, Var^TPred, Context) :- +'$lgt_tr_body'(Var^Pred, Var^TPred, Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). % control constructs -lgt_tr_body((Pred1, Pred2), (TPred1, TPred2), Context) :- +'$lgt_tr_body'((Pred1, Pred2), (TPred1, TPred2), Context) :- !, - lgt_tr_body(Pred1, TPred1, Context), - lgt_tr_body(Pred2, TPred2, Context). + '$lgt_tr_body'(Pred1, TPred1, Context), + '$lgt_tr_body'(Pred2, TPred2, Context). -lgt_tr_body((Pred1; Pred2), (TPred1; TPred2), Context) :- +'$lgt_tr_body'((Pred1; Pred2), (TPred1; TPred2), Context) :- !, - lgt_tr_body(Pred1, TPred1, Context), - lgt_tr_body(Pred2, TPred2, Context). + '$lgt_tr_body'(Pred1, TPred1, Context), + '$lgt_tr_body'(Pred2, TPred2, Context). -lgt_tr_body((Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- +'$lgt_tr_body'((Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- !, - lgt_tr_body(Pred1, TPred1, Context), - lgt_tr_body(Pred2, TPred2, Context). + '$lgt_tr_body'(Pred1, TPred1, Context), + '$lgt_tr_body'(Pred2, TPred2, Context). -lgt_tr_body(\+ Pred, \+ TPred, Context) :- +'$lgt_tr_body'(\+ Pred, \+ TPred, Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). -lgt_tr_body(!, !, _) :- +'$lgt_tr_body'(!, !, _) :- !. -lgt_tr_body(true, true, _) :- +'$lgt_tr_body'(true, true, _) :- !. -lgt_tr_body(fail, fail, _) :- +'$lgt_tr_body'(fail, fail, _) :- !. -lgt_tr_body(repeat, repeat, _) :- +'$lgt_tr_body'(repeat, repeat, _) :- !. -lgt_tr_body(call(Pred), TPred, Context) :- +'$lgt_tr_body'(call(Pred), TPred, Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). -lgt_tr_body(once(Pred), once(TPred), Context) :- +'$lgt_tr_body'(once(Pred), once(TPred), Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). -lgt_tr_body(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- +'$lgt_tr_body'(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- !, - lgt_tr_body(Goal, TGoal, Context), - lgt_tr_body(Recovery, TRecovery, Context). + '$lgt_tr_body'(Goal, TGoal, Context), + '$lgt_tr_body'(Recovery, TRecovery, Context). -lgt_tr_body(throw(Error), throw(Error), _) :- +'$lgt_tr_body'(throw(Error), throw(Error), _) :- !. % built-in metapredicates -lgt_tr_body(bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- +'$lgt_tr_body'(bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). -lgt_tr_body(findall(Term, Pred, List), findall(Term, TPred, List), Context) :- +'$lgt_tr_body'(findall(Term, Pred, List), findall(Term, TPred, List), Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). -lgt_tr_body(forall(Generate, Test), forall(TGenerate, TTest), Context) :- +'$lgt_tr_body'(forall(Generate, Test), forall(TGenerate, TTest), Context) :- !, - lgt_tr_body(Generate, TGenerate, Context), - lgt_tr_body(Test, TTest, Context). + '$lgt_tr_body'(Generate, TGenerate, Context), + '$lgt_tr_body'(Test, TTest, Context). -lgt_tr_body(setof(Term, Pred, List), setof(Term, TPred, List), Context) :- +'$lgt_tr_body'(setof(Term, Pred, List), setof(Term, TPred, List), Context) :- !, - lgt_tr_body(Pred, TPred, Context). + '$lgt_tr_body'(Pred, TPred, Context). % message sending -lgt_tr_body(Obj::Pred, TPred, Context) :- +'$lgt_tr_body'(Obj::Pred, TPred, Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_body(::Pred, TPred, Context) :- +'$lgt_tr_body'(::Pred, TPred, Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_body(^^Pred, TPred, Context) :- +'$lgt_tr_body'(^^Pred, TPred, Context) :- !, - lgt_tr_super_sending(Pred, TPred, Context). + '$lgt_tr_super_sending'(Pred, TPred, Context). % "reflection" built-in predicates -lgt_tr_body(current_predicate(Pred), lgt_current_predicate(This, Pred, This, _), Context) :- +'$lgt_tr_body'(current_predicate(Pred), '$lgt_current_predicate'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(predicate_property(Pred, Property), lgt_predicate_property(This, Pred, Property, This, _), Context) :- +'$lgt_tr_body'(predicate_property(Pred, Property), '$lgt_predicate_property'(This, Pred, Property, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). % database handling built-in predicates -lgt_tr_body(abolish(Pred), lgt_abolish(This, Pred, This, _), Context) :- +'$lgt_tr_body'(abolish(Pred), '$lgt_abolish'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(asserta(Pred), lgt_asserta(This, Pred, This, _), Context) :- +'$lgt_tr_body'(asserta(Pred), '$lgt_asserta'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(assertz(Pred), lgt_assertz(This, Pred, This, _), Context) :- +'$lgt_tr_body'(assertz(Pred), '$lgt_assertz'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(clause(Head, Body), lgt_clause(This, Head, Body, This, _), Context) :- +'$lgt_tr_body'(clause(Head, Body), '$lgt_clause'(This, Head, Body, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(retract(Pred), lgt_retract(This, Pred, This, _), Context) :- +'$lgt_tr_body'(retract(Pred), '$lgt_retract'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_body(retractall(Pred), lgt_retractall(This, Pred, This, _), Context) :- +'$lgt_tr_body'(retractall(Pred), '$lgt_retractall'(This, Pred, This, _), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). % inline methods (translated to a single unification with the corresponding context argument) -lgt_tr_body(sender(Sender), true, Context) :- - lgt_sender(Context, Sender), +'$lgt_tr_body'(sender(Sender), true, Context) :- + '$lgt_sender'(Context, Sender), !. -lgt_tr_body(this(This), true, Context) :- - lgt_this(Context, This), +'$lgt_tr_body'(this(This), true, Context) :- + '$lgt_this'(Context, This), !. -lgt_tr_body(self(Self), true, Context) :- - lgt_self(Context, Self), +'$lgt_tr_body'(self(Self), true, Context) :- + '$lgt_self'(Context, Self), !. % pre-defined methods -lgt_tr_body(parameter(Arg, Value), arg(Arg, This, Value), Context) :- - lgt_this(Context, This), +'$lgt_tr_body'(parameter(Arg, Value), arg(Arg, This, Value), Context) :- + '$lgt_this'(Context, This), !. % Logtalk and Prolog built-in predicates -lgt_tr_body(Pred, _, _) :- - lgt_built_in(Pred), - \+ lgt_iso_def_pred(Pred), - lgt_compiler_option(portability, warning), - lgt_compiler_option(report, on), +'$lgt_tr_body'(Pred, _, _) :- + '$lgt_built_in'(Pred), + \+ '$lgt_iso_def_pred'(Pred), + '$lgt_compiler_option'(portability, warning), + '$lgt_compiler_option'(report, on), functor(Pred, Functor, Arity), write('WARNING! non-ISO defined built-in predicate call: '), writeq(Functor/Arity), nl, fail. -lgt_tr_body(Pred, lgt_call_built_in(Pred, Context), Context) :- - lgt_built_in(Pred), +'$lgt_tr_body'(Pred, '$lgt_call_built_in'(Pred, Context), Context) :- + '$lgt_built_in'(Pred), !. % invalid goal -lgt_tr_body(Pred, _, _) :- - \+ lgt_callable(Pred), +'$lgt_tr_body'(Pred, _, _) :- + \+ '$lgt_callable'(Pred), throw(type_error(callable, Pred)). % goal is a call to a user predicate -lgt_tr_body(Condition, TCondition, Context) :- +'$lgt_tr_body'(Condition, TCondition, Context) :- Condition =.. [Functor|Args], functor(Condition, Functor, Arity), - lgt_prefix(Context, EPrefix), - lgt_construct_predicate_functor(EPrefix, Functor, Arity, PPrefix), - lgt_sender(Context, Sender), - lgt_this(Context, This), - lgt_self(Context, Self), - lgt_append(Args, [Sender, This, Self], Args2), + '$lgt_prefix'(Context, EPrefix), + '$lgt_construct_predicate_functor'(EPrefix, Functor, Arity, PPrefix), + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self), + '$lgt_append'(Args, [Sender, This, Self], Args2), TCondition =.. [PPrefix|Args2], - assertz(lgt_calls_pred_(Functor/Arity)). + assertz('$lgt_calls_pred_'(Functor/Arity)). -% lgt_tr_msg(@object, @term, -term, +term) +% '$lgt_tr_msg'(@object, @term, -term, +term) % % translates the sending of a message to an object % message broadcasting -lgt_tr_msg(Obj, Pred, TPred, Context) :- +'$lgt_tr_msg'(Obj, Pred, TPred, Context) :- nonvar(Obj), (Obj = (_, _); Obj = (_; _)), !, - lgt_tr_msg_broadcasting(Obj, Pred, TPred, Context). + '$lgt_tr_msg_broadcasting'(Obj, Pred, TPred, Context). % invalid object identifier -lgt_tr_msg(Obj, _, _, _) :- +'$lgt_tr_msg'(Obj, _, _, _) :- nonvar(Obj), - \+ lgt_valid_object_id(Obj), + \+ '$lgt_valid_object_id'(Obj), !, throw(type_error(object_identifier, Obj)). % remember the object receiving the message to later check if it's known -lgt_tr_msg(Obj, _, _, _) :- +'$lgt_tr_msg'(Obj, _, _, _) :- nonvar(Obj), - lgt_add_referenced_object(Obj), + '$lgt_add_referenced_object'(Obj), fail. % non-instantiated message: traslation performed at runtime -lgt_tr_msg(Obj, Pred, lgt_send_to_object(Obj, Pred, This), Context) :- +'$lgt_tr_msg'(Obj, Pred, '$lgt_send_to_object'(Obj, Pred, This), Context) :- var(Pred), !, - lgt_this(Context, This). + '$lgt_this'(Context, This). % control constructs -lgt_tr_msg(Obj, (Pred1, Pred2), (TPred1, TPred2), Context) :- +'$lgt_tr_msg'(Obj, (Pred1, Pred2), (TPred1, TPred2), Context) :- !, - lgt_tr_msg(Obj, Pred1, TPred1, Context), - lgt_tr_msg(Obj, Pred2, TPred2, Context). + '$lgt_tr_msg'(Obj, Pred1, TPred1, Context), + '$lgt_tr_msg'(Obj, Pred2, TPred2, Context). -lgt_tr_msg(Obj, (Pred1; Pred2), (TPred1; TPred2), Context) :- +'$lgt_tr_msg'(Obj, (Pred1; Pred2), (TPred1; TPred2), Context) :- !, - lgt_tr_msg(Obj, Pred1, TPred1, Context), - lgt_tr_msg(Obj, Pred2, TPred2, Context). + '$lgt_tr_msg'(Obj, Pred1, TPred1, Context), + '$lgt_tr_msg'(Obj, Pred2, TPred2, Context). -lgt_tr_msg(Obj, (Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- +'$lgt_tr_msg'(Obj, (Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- !, - lgt_tr_msg(Obj, Pred1, TPred1, Context), - lgt_tr_msg(Obj, Pred2, TPred2, Context). + '$lgt_tr_msg'(Obj, Pred1, TPred1, Context), + '$lgt_tr_msg'(Obj, Pred2, TPred2, Context). -lgt_tr_msg(Obj, \+ Pred, \+ TPred, Context) :- +'$lgt_tr_msg'(Obj, \+ Pred, \+ TPred, Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_msg(_, !, !, _) :- +'$lgt_tr_msg'(_, !, !, _) :- !. -lgt_tr_msg(_, true, true, _) :- +'$lgt_tr_msg'(_, true, true, _) :- !. -lgt_tr_msg(_, fail, fail, _) :- +'$lgt_tr_msg'(_, fail, fail, _) :- !. -lgt_tr_msg(_, repeat, repeat, _) :- +'$lgt_tr_msg'(_, repeat, repeat, _) :- !. -lgt_tr_msg(Obj, call(Pred), TPred, Context) :- +'$lgt_tr_msg'(Obj, call(Pred), TPred, Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_msg(Obj, once(Pred), once(TPred), Context) :- +'$lgt_tr_msg'(Obj, once(Pred), once(TPred), Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_msg(Obj, catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- +'$lgt_tr_msg'(Obj, catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- !, - lgt_tr_msg(Obj, Goal, TGoal, Context), - lgt_tr_msg(Obj, Recovery, TRecovery, Context). + '$lgt_tr_msg'(Obj, Goal, TGoal, Context), + '$lgt_tr_msg'(Obj, Recovery, TRecovery, Context). -lgt_tr_msg(_, throw(Error), throw(Error), _) :- +'$lgt_tr_msg'(_, throw(Error), throw(Error), _) :- !. % built-in metapredicates -lgt_tr_msg(Obj, bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- +'$lgt_tr_msg'(Obj, bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_msg(Obj, findall(Term, Pred, List), findall(Term, TPred, List), Context) :- +'$lgt_tr_msg'(Obj, findall(Term, Pred, List), findall(Term, TPred, List), Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). -lgt_tr_msg(Obj, forall(Generate, Test), forall(TGenerate, TTest), Context) :- +'$lgt_tr_msg'(Obj, forall(Generate, Test), forall(TGenerate, TTest), Context) :- !, - lgt_tr_msg(Obj, Generate, TGenerate, Context), - lgt_tr_msg(Obj, Test, TTest, Context). + '$lgt_tr_msg'(Obj, Generate, TGenerate, Context), + '$lgt_tr_msg'(Obj, Test, TTest, Context). -lgt_tr_msg(Obj, setof(Term, Pred, List), setof(Term, TPred, List), Context) :- +'$lgt_tr_msg'(Obj, setof(Term, Pred, List), setof(Term, TPred, List), Context) :- !, - lgt_tr_msg(Obj, Pred, TPred, Context). + '$lgt_tr_msg'(Obj, Pred, TPred, Context). % "reflection" built-in predicates -lgt_tr_msg(Obj, current_predicate(Pred), lgt_current_predicate(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, current_predicate(Pred), '$lgt_current_predicate'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, predicate_property(Pred, Property), lgt_predicate_property(Obj, Pred, Property, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, predicate_property(Pred, Property), '$lgt_predicate_property'(Obj, Pred, Property, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). % database handling built-in predicates -lgt_tr_msg(Obj, abolish(Pred), lgt_abolish(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, abolish(Pred), '$lgt_abolish'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, asserta(Pred), lgt_asserta(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, asserta(Pred), '$lgt_asserta'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, assertz(Pred), lgt_assertz(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, assertz(Pred), '$lgt_assertz'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, clause(Head, Body), lgt_clause(Obj, Head, Body, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, clause(Head, Body), '$lgt_clause'(Obj, Head, Body, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, retract(Pred), lgt_retract(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, retract(Pred), '$lgt_retract'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, retractall(Pred), lgt_retractall(Obj, Pred, This, p(p(p))), Context) :- +'$lgt_tr_msg'(Obj, retractall(Pred), '$lgt_retractall'(Obj, Pred, This, p(p(p))), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). % invalid goal -lgt_tr_msg(_, Pred, _, _) :- - \+ lgt_callable(Pred), +'$lgt_tr_msg'(_, Pred, _, _) :- + \+ '$lgt_callable'(Pred), throw(type_error(callable, Pred)). % message is not a built-in control construct or a call to a built-in % (meta-)predicate: translation performed at runtime -lgt_tr_msg(Obj, Pred, lgt_send_to_object(Obj, Pred, This), Context) :- +'$lgt_tr_msg'(Obj, Pred, '$lgt_send_to_object'(Obj, Pred, This), Context) :- var(Obj), !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -lgt_tr_msg(Obj, Pred, lgt_send_to_object_nv(Obj, Pred, This), Context) :- +'$lgt_tr_msg'(Obj, Pred, '$lgt_send_to_object_nv'(Obj, Pred, This), Context) :- !, - lgt_this(Context, This). + '$lgt_this'(Context, This). -% lgt_tr_self_msg(@term, -term, +term) +% '$lgt_tr_self_msg'(@term, -term, +term) % % translates the sending of a message to self % non-instantiated message: traslation performed at runtime -lgt_tr_self_msg(Pred, lgt_send_to_self(Self, Pred, This), Context) :- +'$lgt_tr_self_msg'(Pred, '$lgt_send_to_self'(Self, Pred, This), Context) :- var(Pred), !, - lgt_this(Context, This), - lgt_self(Context, Self). + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self). % control constructs -lgt_tr_self_msg((Pred1, Pred2), (TPred1, TPred2), Context) :- +'$lgt_tr_self_msg'((Pred1, Pred2), (TPred1, TPred2), Context) :- !, - lgt_tr_self_msg(Pred1, TPred1, Context), - lgt_tr_self_msg(Pred2, TPred2, Context). + '$lgt_tr_self_msg'(Pred1, TPred1, Context), + '$lgt_tr_self_msg'(Pred2, TPred2, Context). -lgt_tr_self_msg(((Pred1; Pred2)), (TPred1; TPred2), Context) :- +'$lgt_tr_self_msg'(((Pred1; Pred2)), (TPred1; TPred2), Context) :- !, - lgt_tr_self_msg(Pred1, TPred1, Context), - lgt_tr_self_msg(Pred2, TPred2, Context). + '$lgt_tr_self_msg'(Pred1, TPred1, Context), + '$lgt_tr_self_msg'(Pred2, TPred2, Context). -lgt_tr_self_msg((Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- +'$lgt_tr_self_msg'((Pred1 -> Pred2), (TPred1 -> TPred2), Context) :- !, - lgt_tr_self_msg(Pred1, TPred1, Context), - lgt_tr_self_msg(Pred2, TPred2, Context). + '$lgt_tr_self_msg'(Pred1, TPred1, Context), + '$lgt_tr_self_msg'(Pred2, TPred2, Context). -lgt_tr_self_msg(\+ Pred, \+ TPred, Context) :- +'$lgt_tr_self_msg'(\+ Pred, \+ TPred, Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_self_msg(!, !, _) :- +'$lgt_tr_self_msg'(!, !, _) :- !. -lgt_tr_self_msg(true, true, _) :- +'$lgt_tr_self_msg'(true, true, _) :- !. -lgt_tr_self_msg(fail, fail, _) :- +'$lgt_tr_self_msg'(fail, fail, _) :- !. -lgt_tr_self_msg(repeat, repeat, _) :- +'$lgt_tr_self_msg'(repeat, repeat, _) :- !. -lgt_tr_self_msg(call(Pred), TPred, Context) :- +'$lgt_tr_self_msg'(call(Pred), TPred, Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_self_msg(once(Pred), once(TPred), Context) :- +'$lgt_tr_self_msg'(once(Pred), once(TPred), Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_self_msg(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- +'$lgt_tr_self_msg'(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery), Context) :- !, - lgt_tr_self_msg(Goal, TGoal, Context), - lgt_tr_self_msg(Recovery, TRecovery, Context). + '$lgt_tr_self_msg'(Goal, TGoal, Context), + '$lgt_tr_self_msg'(Recovery, TRecovery, Context). -lgt_tr_self_msg(throw(Error), throw(Error), _) :- +'$lgt_tr_self_msg'(throw(Error), throw(Error), _) :- !. % built-in metapredicates -lgt_tr_self_msg(bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- +'$lgt_tr_self_msg'(bagof(Term, Pred, List), bagof(Term, TPred, List), Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_self_msg(findall(Term, Pred, List), findall(Term, TPred, List), Context) :- +'$lgt_tr_self_msg'(findall(Term, Pred, List), findall(Term, TPred, List), Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). -lgt_tr_self_msg(forall(Generate, Test), forall(TGenerate, TTest), Context) :- +'$lgt_tr_self_msg'(forall(Generate, Test), forall(TGenerate, TTest), Context) :- !, - lgt_tr_self_msg(Generate, TGenerate, Context), - lgt_tr_self_msg(Test, TTest, Context). + '$lgt_tr_self_msg'(Generate, TGenerate, Context), + '$lgt_tr_self_msg'(Test, TTest, Context). -lgt_tr_self_msg(setof(Term, Pred, List), setof(Term, TPred, List), Context) :- +'$lgt_tr_self_msg'(setof(Term, Pred, List), setof(Term, TPred, List), Context) :- !, - lgt_tr_self_msg(Pred, TPred, Context). + '$lgt_tr_self_msg'(Pred, TPred, Context). % "reflection" built-in predicates -lgt_tr_self_msg(current_predicate(Pred), lgt_current_predicate(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(current_predicate(Pred), '$lgt_current_predicate'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(predicate_property(Pred, Property), lgt_predicate_property(Self, Pred, Property, This, p(_)), Context) :- +'$lgt_tr_self_msg'(predicate_property(Pred, Property), '$lgt_predicate_property'(Self, Pred, Property, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). % database handling built-in predicates -lgt_tr_self_msg(abolish(Pred), lgt_abolish(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(abolish(Pred), '$lgt_abolish'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(asserta(Pred), lgt_asserta(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(asserta(Pred), '$lgt_asserta'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(assertz(Pred), lgt_assertz(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(assertz(Pred), '$lgt_assertz'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(clause(Head, Body), lgt_clause(Self, Head, Body, This, p(_)), Context) :- +'$lgt_tr_self_msg'(clause(Head, Body), '$lgt_clause'(Self, Head, Body, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(retract(Pred), lgt_retract(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(retract(Pred), '$lgt_retract'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). -lgt_tr_self_msg(retractall(Pred), lgt_retractall(Self, Pred, This, p(_)), Context) :- +'$lgt_tr_self_msg'(retractall(Pred), '$lgt_retractall'(Self, Pred, This, p(_)), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). % invalid goal -lgt_tr_self_msg(Pred, _, _) :- - \+ lgt_callable(Pred), +'$lgt_tr_self_msg'(Pred, _, _) :- + \+ '$lgt_callable'(Pred), throw(type_error(callable, Pred)). % message is not a built-in control construct or a call to a built-in % (meta-)predicate: translation performed at runtime -lgt_tr_self_msg(Pred, lgt_send_to_self_nv(Self, Pred, This), Context) :- +'$lgt_tr_self_msg'(Pred, '$lgt_send_to_self_nv'(Self, Pred, This), Context) :- !, - lgt_self(Context, Self), - lgt_this(Context, This). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This). % message broadcasting -lgt_tr_msg_broadcasting((Obj1, Obj2), Pred, (TP1, TP2), Context) :- +'$lgt_tr_msg_broadcasting'((Obj1, Obj2), Pred, (TP1, TP2), Context) :- !, - lgt_tr_msg(Obj1, Pred, TP1, Context), - lgt_tr_msg(Obj2, Pred, TP2, Context). + '$lgt_tr_msg'(Obj1, Pred, TP1, Context), + '$lgt_tr_msg'(Obj2, Pred, TP2, Context). -lgt_tr_msg_broadcasting((Obj1; Obj2), Pred, (TP1; TP2), Context) :- +'$lgt_tr_msg_broadcasting'((Obj1; Obj2), Pred, (TP1; TP2), Context) :- !, - lgt_tr_msg(Obj1, Pred, TP1, Context), - lgt_tr_msg(Obj2, Pred, TP2, Context). + '$lgt_tr_msg'(Obj1, Pred, TP1, Context), + '$lgt_tr_msg'(Obj2, Pred, TP2, Context). -% lgt_tr_super_sending(@term, -term, +term) +% '$lgt_tr_super_sending'(@term, -term, +term) % % translates calling of redefined predicates (super calls) % invalid goal -lgt_tr_super_sending(Pred, _, _) :- +'$lgt_tr_super_sending'(Pred, _, _) :- nonvar(Pred), - \+ lgt_callable(Pred), + \+ '$lgt_callable'(Pred), throw(type_error(callable, Pred)). % translation performed at runtime -lgt_tr_super_sending(Pred, lgt_send_to_super(Self, Pred, This, Sender), Context) :- +'$lgt_tr_super_sending'(Pred, '$lgt_send_to_super'(Self, Pred, This, Sender), Context) :- var(Pred), !, - lgt_self(Context, Self), - lgt_this(Context, This), - lgt_sender(Context, Sender). + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This), + '$lgt_sender'(Context, Sender). -lgt_tr_super_sending(Pred, lgt_send_to_super_nv(Self, Pred, This, Sender), Context) :- - lgt_self(Context, Self), - lgt_this(Context, This), - lgt_sender(Context, Sender). +'$lgt_tr_super_sending'(Pred, '$lgt_send_to_super_nv'(Self, Pred, This, Sender), Context) :- + '$lgt_self'(Context, Self), + '$lgt_this'(Context, This), + '$lgt_sender'(Context, Sender). -% lgt_extract_metavars(+callable, -list) +% '$lgt_extract_metavars'(+callable, -list) % % constructs a list of all variables that occur % in a position corresponding to a meta-argument -lgt_extract_metavars(Pred, Metavars) :- +'$lgt_extract_metavars'(Pred, Metavars) :- functor(Pred, Functor, Arity), functor(Meta, Functor, Arity), - (lgt_metapredicate_(Meta) -> + ('$lgt_metapredicate_'(Meta) -> Pred =.. [_| Args], Meta =.. [_| MArgs], - lgt_extract_metavars(Args, MArgs, Metavars) + '$lgt_extract_metavars'(Args, MArgs, Metavars) ; Metavars = []). -% lgt_extract_metavars(+list, +list, -list) +% '$lgt_extract_metavars'(+list, +list, -list) -lgt_extract_metavars([], [], []). +'$lgt_extract_metavars'([], [], []). -lgt_extract_metavars([Var| Args], [MArg| MArgs], [Var| Metavars]) :- +'$lgt_extract_metavars'([Var| Args], [MArg| MArgs], [Var| Metavars]) :- var(Var), MArg = (::), !, - lgt_extract_metavars(Args, MArgs, Metavars). + '$lgt_extract_metavars'(Args, MArgs, Metavars). -lgt_extract_metavars([_| Args], [_| MArgs], Metavars) :- - lgt_extract_metavars(Args, MArgs, Metavars). +'$lgt_extract_metavars'([_| Args], [_| MArgs], Metavars) :- + '$lgt_extract_metavars'(Args, MArgs, Metavars). -% lgt_simplify_body(+callable, -callable) +% '$lgt_simplify_body'(+callable, -callable) % % remove redundant calls to true/0 from a translated clause body -lgt_simplify_body((A;B), (SA;SB)) :- +'$lgt_simplify_body'((A;B), (SA;SB)) :- !, - lgt_simplify_body(A, SA), - lgt_simplify_body(B, SB). + '$lgt_simplify_body'(A, SA), + '$lgt_simplify_body'(B, SB). -lgt_simplify_body((A->B), (SA->SB)) :- +'$lgt_simplify_body'((A->B), (SA->SB)) :- !, - lgt_simplify_body(A, SA), - lgt_simplify_body(B, SB). + '$lgt_simplify_body'(A, SA), + '$lgt_simplify_body'(B, SB). -lgt_simplify_body((true, B), SB) :- +'$lgt_simplify_body'((true, B), SB) :- !, - lgt_simplify_body(B, SB). + '$lgt_simplify_body'(B, SB). -lgt_simplify_body((B, true), SB) :- +'$lgt_simplify_body'((B, true), SB) :- !, - lgt_simplify_body(B, SB). + '$lgt_simplify_body'(B, SB). -lgt_simplify_body((A, B), (SA, SB)) :- +'$lgt_simplify_body'((A, B), (SA, SB)) :- !, - lgt_simplify_body(A, SA), - lgt_simplify_body(B, SB). + '$lgt_simplify_body'(A, SA), + '$lgt_simplify_body'(B, SB). -lgt_simplify_body(B, B). +'$lgt_simplify_body'(B, B). -% lgt_tr_object_id(+object_identifier) +% '$lgt_tr_object_id'(+object_identifier) % % from the object identifier construct the set of % functor prefixes used in the compiled code clauses -lgt_tr_object_id(Obj) :- - lgt_add_referenced_object(Obj), - lgt_construct_object_functors(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), - assertz(lgt_object_(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef)), +'$lgt_tr_object_id'(Obj) :- + '$lgt_add_referenced_object'(Obj), + '$lgt_construct_object_functors'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + assertz('$lgt_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef)), Term =.. [Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef], - assertz(lgt_entity_functors_(Term)), - assertz(lgt_rclause_(lgt_current_object_(Obj, Prefix, Dcl, Def, Super))), - assertz(lgt_entity_(object, Obj, Prefix, Dcl)). + assertz('$lgt_entity_functors_'(Term)), + assertz('$lgt_rclause_'('$lgt_current_object_'(Obj, Prefix, Dcl, Def, Super))), + assertz('$lgt_entity_'(object, Obj, Prefix, Dcl)). -% lgt_tr_category_id(+category_identifier) +% '$lgt_tr_category_id'(+category_identifier) % % from the category identifier construct the set of % functor prefixes used in the compiled code clauses -lgt_tr_category_id(Ctg) :- - lgt_add_referenced_category(Ctg), - lgt_construct_category_functors(Ctg, Prefix, Dcl, Def), - assertz(lgt_category_(Ctg, Prefix, Dcl, Def)), +'$lgt_tr_category_id'(Ctg) :- + '$lgt_add_referenced_category'(Ctg), + '$lgt_construct_category_functors'(Ctg, Prefix, Dcl, Def), + assertz('$lgt_category_'(Ctg, Prefix, Dcl, Def)), Term =.. [Prefix, Dcl, Def], - assertz(lgt_entity_functors_(Term)), - assertz(lgt_rclause_(lgt_current_category_(Ctg, Prefix))), - assertz(lgt_entity_(category, Ctg, Prefix, Dcl)). + assertz('$lgt_entity_functors_'(Term)), + assertz('$lgt_rclause_'('$lgt_current_category_'(Ctg, Prefix))), + assertz('$lgt_entity_'(category, Ctg, Prefix, Dcl)). -% lgt_tr_protocol_id(+protocol_identifier) +% '$lgt_tr_protocol_id'(+protocol_identifier) % % from the protocol identifier construct the set of % functor prefixes used in the compiled code clauses -lgt_tr_protocol_id(Ptc) :- - lgt_add_referenced_protocol(Ptc), - lgt_construct_protocol_functors(Ptc, Prefix, Dcl), - assertz(lgt_protocol_(Ptc, Prefix, Dcl)), +'$lgt_tr_protocol_id'(Ptc) :- + '$lgt_add_referenced_protocol'(Ptc), + '$lgt_construct_protocol_functors'(Ptc, Prefix, Dcl), + assertz('$lgt_protocol_'(Ptc, Prefix, Dcl)), Term =.. [Prefix, Dcl], - assertz(lgt_entity_functors_(Term)), - assertz(lgt_rclause_(lgt_current_protocol_(Ptc, Prefix))), - assertz(lgt_entity_(protocol, Ptc, Prefix, Dcl)). + assertz('$lgt_entity_functors_'(Term)), + assertz('$lgt_rclause_'('$lgt_current_protocol_'(Ptc, Prefix))), + assertz('$lgt_entity_'(protocol, Ptc, Prefix, Dcl)). -% lgt_tr_implements_protocol(+list, +object_identifier) -% lgt_tr_implements_protocol(+list, +category_identifier) +% '$lgt_tr_implements_protocol'(+list, +object_identifier) +% '$lgt_tr_implements_protocol'(+list, +category_identifier) % % translates an "implementents" relation between % a category or an object and a list of protocols -lgt_tr_implements_protocol([], _). +'$lgt_tr_implements_protocol'([], _). -lgt_tr_implements_protocol([Ref| Refs], ObjOrCtg) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Ptc), - (lgt_valid_protocol_id(Ptc) -> - lgt_add_referenced_protocol(Ptc), - assertz(lgt_rclause_(lgt_implements_protocol_(ObjOrCtg, Ptc, Scope))), - lgt_construct_protocol_functors(Ptc, Prefix, Dcl), - assertz(lgt_implemented_protocol_(Ptc, Prefix, Dcl, Scope)), - lgt_tr_implements_protocol(Refs, ObjOrCtg) +'$lgt_tr_implements_protocol'([Ref| Refs], ObjOrCtg) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Ptc), + ('$lgt_valid_protocol_id'(Ptc) -> + '$lgt_add_referenced_protocol'(Ptc), + assertz('$lgt_rclause_'('$lgt_implements_protocol_'(ObjOrCtg, Ptc, Scope))), + '$lgt_construct_protocol_functors'(Ptc, Prefix, Dcl), + assertz('$lgt_implemented_protocol_'(Ptc, Prefix, Dcl, Scope)), + '$lgt_tr_implements_protocol'(Refs, ObjOrCtg) ; throw(type_error(protocol_identifier, Ptc)))) ; @@ -3414,22 +3438,22 @@ lgt_tr_implements_protocol([Ref| Refs], ObjOrCtg) :- -% lgt_tr_imports_category(+list, +object_identifier) +% '$lgt_tr_imports_category'(+list, +object_identifier) % % translates an "imports" relation between % an object and a list of categories -lgt_tr_imports_category([], _). +'$lgt_tr_imports_category'([], _). -lgt_tr_imports_category([Ref| Refs], Obj) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Ctg), - (lgt_valid_category_id(Ctg) -> - lgt_add_referenced_category(Ctg), - assertz(lgt_rclause_(lgt_imports_category_(Obj, Ctg, Scope))), - lgt_construct_category_functors(Ctg, Prefix, Dcl, Def), - assertz(lgt_imported_category_(Ctg, Prefix, Dcl, Def, Scope)), - lgt_tr_imports_category(Refs, Obj) +'$lgt_tr_imports_category'([Ref| Refs], Obj) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Ctg), + ('$lgt_valid_category_id'(Ctg) -> + '$lgt_add_referenced_category'(Ctg), + assertz('$lgt_rclause_'('$lgt_imports_category_'(Obj, Ctg, Scope))), + '$lgt_construct_category_functors'(Ctg, Prefix, Dcl, Def), + assertz('$lgt_imported_category_'(Ctg, Prefix, Dcl, Def, Scope)), + '$lgt_tr_imports_category'(Refs, Obj) ; throw(type_error(category_identifier, Ctg)))) ; @@ -3437,22 +3461,22 @@ lgt_tr_imports_category([Ref| Refs], Obj) :- -% lgt_tr_instantiates_class(+list, +object_identifier) +% '$lgt_tr_instantiates_class'(+list, +object_identifier) % % translates an "instantiates" relation between % an instance and a list of classes -lgt_tr_instantiates_class([], _). +'$lgt_tr_instantiates_class'([], _). -lgt_tr_instantiates_class([Ref| Refs], Obj) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Class), - (lgt_valid_object_id(Class) -> - lgt_add_referenced_object(Class), - assertz(lgt_rclause_(lgt_instantiates_class_(Obj, Class, Scope))), - lgt_construct_object_functors(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), - assertz(lgt_instantiated_class_(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), - lgt_tr_instantiates_class(Refs, Obj) +'$lgt_tr_instantiates_class'([Ref| Refs], Obj) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Class), + ('$lgt_valid_object_id'(Class) -> + '$lgt_add_referenced_object'(Class), + assertz('$lgt_rclause_'('$lgt_instantiates_class_'(Obj, Class, Scope))), + '$lgt_construct_object_functors'(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + assertz('$lgt_instantiated_class_'(Class, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), + '$lgt_tr_instantiates_class'(Refs, Obj) ; throw(type_error(object_identifier, Class)))) ; @@ -3460,22 +3484,22 @@ lgt_tr_instantiates_class([Ref| Refs], Obj) :- -% lgt_tr_specializes_class(+list, +object_identifier) +% '$lgt_tr_specializes_class'(+list, +object_identifier) % % translates a "specializes" relation between % a class and a list of superclasses -lgt_tr_specializes_class([], _). +'$lgt_tr_specializes_class'([], _). -lgt_tr_specializes_class([Ref| Refs], Class) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Superclass), - (lgt_valid_object_id(Superclass) -> - lgt_add_referenced_object(Superclass), - assertz(lgt_rclause_(lgt_specializes_class_(Class, Superclass, Scope))), - lgt_construct_object_functors(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), - assertz(lgt_specialized_class_(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), - lgt_tr_specializes_class(Refs, Class) +'$lgt_tr_specializes_class'([Ref| Refs], Class) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Superclass), + ('$lgt_valid_object_id'(Superclass) -> + '$lgt_add_referenced_object'(Superclass), + assertz('$lgt_rclause_'('$lgt_specializes_class_'(Class, Superclass, Scope))), + '$lgt_construct_object_functors'(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + assertz('$lgt_specialized_class_'(Superclass, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), + '$lgt_tr_specializes_class'(Refs, Class) ; throw(type_error(object_identifier, Superclass)))) ; @@ -3483,22 +3507,22 @@ lgt_tr_specializes_class([Ref| Refs], Class) :- -% lgt_tr_extends_object(+list, +object_identifier) +% '$lgt_tr_extends_object'(+list, +object_identifier) % % translates an "extends" relation between % a prototype and a list of parents -lgt_tr_extends_object([], _). +'$lgt_tr_extends_object'([], _). -lgt_tr_extends_object([Ref| Refs], Obj) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Parent), - (lgt_valid_object_id(Parent) -> - lgt_add_referenced_object(Parent), - assertz(lgt_rclause_(lgt_extends_object_(Obj, Parent, Scope))), - lgt_construct_object_functors(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), - assertz(lgt_extended_object_(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), - lgt_tr_extends_object(Refs, Obj) +'$lgt_tr_extends_object'([Ref| Refs], Obj) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Parent), + ('$lgt_valid_object_id'(Parent) -> + '$lgt_add_referenced_object'(Parent), + assertz('$lgt_rclause_'('$lgt_extends_object_'(Obj, Parent, Scope))), + '$lgt_construct_object_functors'(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + assertz('$lgt_extended_object_'(Parent, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Scope)), + '$lgt_tr_extends_object'(Refs, Obj) ; throw(type_error(object_identifier, Parent)))) ; @@ -3506,22 +3530,22 @@ lgt_tr_extends_object([Ref| Refs], Obj) :- -% lgt_tr_extends_protocol(+list, +protocol_identifier) +% '$lgt_tr_extends_protocol'(+list, +protocol_identifier) % % translates an "extends" relation between % a protocol and a list of protocols -lgt_tr_extends_protocol([], _). +'$lgt_tr_extends_protocol'([], _). -lgt_tr_extends_protocol([Ref| Refs], Ptc1) :- - lgt_valid_scope(Ref) -> - (lgt_scope_id(Ref, Scope, Ptc2), - (lgt_valid_protocol_id(Ptc2) -> - lgt_add_referenced_protocol(Ptc2), - assertz(lgt_rclause_(lgt_extends_protocol_(Ptc1, Ptc2, Scope))), - lgt_construct_protocol_functors(Ptc2, Prefix, Dcl), - assertz(lgt_extended_protocol_(Ptc2, Prefix, Dcl, Scope)), - lgt_tr_extends_protocol(Refs, Ptc1) +'$lgt_tr_extends_protocol'([Ref| Refs], Ptc1) :- + '$lgt_valid_scope'(Ref) -> + ('$lgt_scope_id'(Ref, Scope, Ptc2), + ('$lgt_valid_protocol_id'(Ptc2) -> + '$lgt_add_referenced_protocol'(Ptc2), + assertz('$lgt_rclause_'('$lgt_extends_protocol_'(Ptc1, Ptc2, Scope))), + '$lgt_construct_protocol_functors'(Ptc2, Prefix, Dcl), + assertz('$lgt_extended_protocol_'(Ptc2, Prefix, Dcl, Scope)), + '$lgt_tr_extends_protocol'(Refs, Ptc1) ; throw(type_error(protocol_identifier, Ptc2)))) ; @@ -3529,66 +3553,66 @@ lgt_tr_extends_protocol([Ref| Refs], Ptc1) :- -% lgt_add_referenced_object(+object_identifier) +% '$lgt_add_referenced_object'(+object_identifier) % % assert the name of an object referenced by the entity that we are compiling -lgt_add_referenced_object(Obj) :- - lgt_referenced_object_(Obj) -> +'$lgt_add_referenced_object'(Obj) :- + '$lgt_referenced_object_'(Obj) -> true ; - assertz(lgt_referenced_object_(Obj)). + assertz('$lgt_referenced_object_'(Obj)). -% lgt_add_referenced_protocol(+protocol_identifier) +% '$lgt_add_referenced_protocol'(+protocol_identifier) % % assert the name of a protocol referenced by the entity that we are compiling -lgt_add_referenced_protocol(Ptc) :- - lgt_referenced_protocol_(Ptc) -> +'$lgt_add_referenced_protocol'(Ptc) :- + '$lgt_referenced_protocol_'(Ptc) -> true ; - assertz(lgt_referenced_protocol_(Ptc)). + assertz('$lgt_referenced_protocol_'(Ptc)). -% lgt_add_referenced_category(+category_identifier) +% '$lgt_add_referenced_category'(+category_identifier) % % assert the name of a category referenced by the entity that we are compiling -lgt_add_referenced_category(Ctg) :- - lgt_referenced_category_(Ctg) -> +'$lgt_add_referenced_category'(Ctg) :- + '$lgt_referenced_category_'(Ctg) -> true ; - assertz(lgt_referenced_category_(Ctg)). + assertz('$lgt_referenced_category_'(Ctg)). -% lgt_report_unknown_entities +% '$lgt_report_unknown_entities' % % report any unknown referenced entities found while compiling an entity % (if the corresponding compiler option is not set to "silent") -lgt_report_unknown_entities :- - (lgt_compiler_option(unknown, warning), - lgt_compiler_option(report, on)) -> - lgt_report_unknown_objects, - lgt_report_unknown_protocols, - lgt_report_unknown_categories +'$lgt_report_unknown_entities' :- + ('$lgt_compiler_option'(unknown, warning), + '$lgt_compiler_option'(report, on)) -> + '$lgt_report_unknown_objects', + '$lgt_report_unknown_protocols', + '$lgt_report_unknown_categories' ; true. -% lgt_report_unknown_objects +% '$lgt_report_unknown_objects' % % report any unknown referenced objects found while compiling an entity -lgt_report_unknown_objects :- +'$lgt_report_unknown_objects' :- findall( Obj, - (lgt_referenced_object_(Obj), \+ (lgt_current_object_(Obj, _, _, _, _); lgt_entity_(_, Obj, _, _))), + ('$lgt_referenced_object_'(Obj), \+ ('$lgt_current_object_'(Obj, _, _, _, _); '$lgt_entity_'(_, Obj, _, _))), Objs), (Objs \= [] -> write('WARNING! references to unknown objects: '), writeq(Objs), nl @@ -3597,14 +3621,14 @@ lgt_report_unknown_objects :- -% lgt_report_unknown_protocols +% '$lgt_report_unknown_protocols' % % report any unknown referenced protocols found while compiling an entity -lgt_report_unknown_protocols :- +'$lgt_report_unknown_protocols' :- findall( Ptc, - (lgt_referenced_protocol_(Ptc), \+ (lgt_current_protocol_(Ptc, _); lgt_entity_(_, Ptc, _, _))), + ('$lgt_referenced_protocol_'(Ptc), \+ ('$lgt_current_protocol_'(Ptc, _); '$lgt_entity_'(_, Ptc, _, _))), Ptcs), (Ptcs \= [] -> write('WARNING! references to unknown protocols: '), writeq(Ptcs), nl @@ -3613,14 +3637,14 @@ lgt_report_unknown_protocols :- -% lgt_report_unknown_categories +% '$lgt_report_unknown_categories' % % report any unknown referenced categories found while compiling an entity -lgt_report_unknown_categories :- +'$lgt_report_unknown_categories' :- findall( Ctg, - (lgt_referenced_category_(Ctg), \+ (lgt_current_category_(Ctg, _); lgt_entity_(_, Ctg, _, _))), + ('$lgt_referenced_category_'(Ctg), \+ ('$lgt_current_category_'(Ctg, _); '$lgt_entity_'(_, Ctg, _, _))), Ctgs), (Ctgs \= [] -> write('WARNING! references to unknown categories: '), writeq(Ctgs), nl @@ -3629,87 +3653,87 @@ lgt_report_unknown_categories :- -% lgt_add_def_clause(+atom, +integer, +atom, +term) +% '$lgt_add_def_clause'(+atom, +integer, +atom, +term) % % adds a "def clause" (used to translate a predicate call) -lgt_add_def_clause(Functor, Arity, Prefix, Context) :- +'$lgt_add_def_clause'(Functor, Arity, Prefix, Context) :- functor(Head, Functor, Arity), Head =.. [_| Args], - lgt_sender(Context, Sender), - lgt_this(Context, This), - lgt_self(Context, Self), - lgt_append(Args, [Sender, This, Self], TArgs), + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self), + '$lgt_append'(Args, [Sender, This, Self], TArgs), THead =.. [Prefix|TArgs], once( - (lgt_object_(_, _, _, Def, _, _, _, _, _); - lgt_category_(_, _, _, Def))), + ('$lgt_object_'(_, _, _, Def, _, _, _, _, _); + '$lgt_category_'(_, _, _, Def))), Clause =.. [Def, Head, Sender, This, Self, THead], - (lgt_def_(Clause) -> + ('$lgt_def_'(Clause) -> true ; - assertz(lgt_def_(Clause))), - (lgt_built_in(Head) -> - assertz(lgt_redefined_built_in_(Head, Context, THead)) + assertz('$lgt_def_'(Clause))), + ('$lgt_built_in'(Head) -> + assertz('$lgt_redefined_built_in_'(Head, Context, THead)) ; true), - (lgt_defs_pred_(Functor/Arity) -> + ('$lgt_defs_pred_'(Functor/Arity) -> true ; - assertz(lgt_defs_pred_(Functor/Arity))). + assertz('$lgt_defs_pred_'(Functor/Arity))). -% lgt_add_ddef_clause(+atom, +integer, +atom, +term) +% '$lgt_add_ddef_clause'(+atom, +integer, +atom, +term) % % adds a "ddef clause" (used to translate a predicate call) -lgt_add_ddef_clause(Functor, Arity, Prefix, Context) :- +'$lgt_add_ddef_clause'(Functor, Arity, Prefix, Context) :- functor(Head, Functor, Arity), Head =.. [_| Args], - lgt_sender(Context, Sender), - lgt_this(Context, This), - lgt_self(Context, Self), - lgt_append(Args, [Sender, This, Self], TArgs), + '$lgt_sender'(Context, Sender), + '$lgt_this'(Context, This), + '$lgt_self'(Context, Self), + '$lgt_append'(Args, [Sender, This, Self], TArgs), THead =.. [Prefix|TArgs], - lgt_object_(_, _, _, _, _, _, _, _, DDef), + '$lgt_object_'(_, _, _, _, _, _, _, _, DDef), Clause =.. [DDef, Head, Sender, This, Self, THead], - (lgt_ddef_(Clause) -> + ('$lgt_ddef_'(Clause) -> true ; - assertz(lgt_ddef_(Clause))), - (lgt_built_in(Head) -> - assertz(lgt_redefined_built_in_(Head, Context, THead)) + assertz('$lgt_ddef_'(Clause))), + ('$lgt_built_in'(Head) -> + assertz('$lgt_redefined_built_in_'(Head, Context, THead)) ; true), - (lgt_defs_pred_(Functor/Arity) -> + ('$lgt_defs_pred_'(Functor/Arity) -> true ; - assertz(lgt_defs_pred_(Functor/Arity))). + assertz('$lgt_defs_pred_'(Functor/Arity))). -% lgt_assert_ddef_clause(+atom, +integer, +atom, +atom, -callable) +% '$lgt_assert_ddef_clause'(+atom, +integer, +atom, +atom, -callable) % % asserts a dynamic "ddef clause" (used to translate a predicate call) -lgt_assert_ddef_clause(Functor, Arity, OPrefix, DDef, Call) :- - lgt_construct_predicate_functor(OPrefix, Functor, Arity, PPrefix), +'$lgt_assert_ddef_clause'(Functor, Arity, OPrefix, DDef, Call) :- + '$lgt_construct_predicate_functor'(OPrefix, Functor, Arity, PPrefix), functor(Pred, Functor, Arity), Pred =.. [_| Args], - lgt_append(Args, [Sender, This, Self], TArgs), + '$lgt_append'(Args, [Sender, This, Self], TArgs), Call =.. [PPrefix| TArgs], Clause =.. [DDef, Pred, Sender, This, Self, Call], assertz(Clause). -% lgt_update_ddef_table(+atom, +callable) +% '$lgt_update_ddef_table'(+atom, +callable) % % retracts a dynamic "ddef clause" (used to translate a predicate call) % if there are no more clauses for the predicate otherwise does nothing -lgt_update_ddef_table(DDef, Call) :- +'$lgt_update_ddef_table'(DDef, Call) :- functor(Call, Functor, Arity), functor(Call2, Functor, Arity), (clause(Call2, _) -> @@ -3720,11 +3744,11 @@ lgt_update_ddef_table(DDef, Call) :- -% lgt_convert_test_scope(@term, +term), +% '$lgt_convert_test_scope'(@term, +term), % % convert asserta/z test scope to predicate declaration scope -lgt_convert_test_scope(Scope, Scope2) :- +'$lgt_convert_test_scope'(Scope, Scope2) :- var(Scope) -> Scope2 = p ; @@ -3735,11 +3759,11 @@ lgt_convert_test_scope(Scope, Scope2) :- -% lgt_assert_ddcl_clause(+atom, +term, +term) +% '$lgt_assert_ddcl_clause'(+atom, +term, +term) % % asserts a dynamic predicate declaration -lgt_assert_ddcl_clause(DDcl, Pred, Scope) :- +'$lgt_assert_ddcl_clause'(DDcl, Pred, Scope) :- functor(Pred, Functor, Arity), functor(DPred, Functor, Arity), Clause =.. [DDcl, DPred, Scope, (dynamic), no], @@ -3747,249 +3771,249 @@ lgt_assert_ddcl_clause(DDcl, Pred, Scope) :- -% lgt_gen_directives(+atom) +% '$lgt_gen_directives'(+atom) % % generates entity directives -lgt_gen_directives(object) :- - lgt_gen_object_directives. +'$lgt_gen_directives'(object) :- + '$lgt_gen_object_directives'. -lgt_gen_directives(category) :- - lgt_gen_category_directives. +'$lgt_gen_directives'(category) :- + '$lgt_gen_category_directives'. -lgt_gen_directives(protocol) :- - lgt_gen_protocol_directives. +'$lgt_gen_directives'(protocol) :- + '$lgt_gen_protocol_directives'. -lgt_gen_object_directives :- - lgt_gen_object_dynamic_directives, - lgt_gen_object_discontiguous_directives. +'$lgt_gen_object_directives' :- + '$lgt_gen_object_dynamic_directives', + '$lgt_gen_object_discontiguous_directives'. -lgt_gen_category_directives :- - lgt_gen_category_dynamic_directives, - lgt_gen_category_discontiguous_directives. +'$lgt_gen_category_directives' :- + '$lgt_gen_category_dynamic_directives', + '$lgt_gen_category_discontiguous_directives'. -lgt_gen_protocol_directives :- - lgt_entity_comp_mode_((dynamic)) -> - lgt_protocol_(_, Prefix, Dcl), - assertz(lgt_directive_(dynamic(Prefix/1))), - assertz(lgt_directive_(dynamic(Dcl/4))), - assertz(lgt_directive_(dynamic(Dcl/5))) +'$lgt_gen_protocol_directives' :- + '$lgt_entity_comp_mode_'((dynamic)) -> + '$lgt_protocol_'(_, Prefix, Dcl), + assertz('$lgt_directive_'(dynamic(Prefix/1))), + assertz('$lgt_directive_'(dynamic(Dcl/4))), + assertz('$lgt_directive_'(dynamic(Dcl/5))) ; true. -lgt_gen_object_dynamic_directives :- - lgt_entity_comp_mode_((dynamic)) -> - lgt_gen_dynamic_object_dynamic_directives +'$lgt_gen_object_dynamic_directives' :- + '$lgt_entity_comp_mode_'((dynamic)) -> + '$lgt_gen_dynamic_object_dynamic_directives' ; - lgt_gen_static_object_dynamic_directives. + '$lgt_gen_static_object_dynamic_directives'. -lgt_gen_dynamic_object_dynamic_directives :- - lgt_object_(_, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), - assertz(lgt_directive_(dynamic(Prefix/7))), - assertz(lgt_directive_(dynamic(Dcl/4))), - assertz(lgt_directive_(dynamic(Dcl/6))), - assertz(lgt_directive_(dynamic(Def/5))), - assertz(lgt_directive_(dynamic(Def/6))), - assertz(lgt_directive_(dynamic(Super/6))), - assertz(lgt_directive_(dynamic(IDcl/6))), - assertz(lgt_directive_(dynamic(IDef/6))), - assertz(lgt_directive_(dynamic(DDcl/4))), - assertz(lgt_directive_(dynamic(DDef/5))), +'$lgt_gen_dynamic_object_dynamic_directives' :- + '$lgt_object_'(_, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef), + assertz('$lgt_directive_'(dynamic(Prefix/7))), + assertz('$lgt_directive_'(dynamic(Dcl/4))), + assertz('$lgt_directive_'(dynamic(Dcl/6))), + assertz('$lgt_directive_'(dynamic(Def/5))), + assertz('$lgt_directive_'(dynamic(Def/6))), + assertz('$lgt_directive_'(dynamic(Super/6))), + assertz('$lgt_directive_'(dynamic(IDcl/6))), + assertz('$lgt_directive_'(dynamic(IDef/6))), + assertz('$lgt_directive_'(dynamic(DDcl/4))), + assertz('$lgt_directive_'(dynamic(DDef/5))), forall( - (lgt_def_(Clause), Clause \= (_ :- _)), + ('$lgt_def_'(Clause), Clause \= (_ :- _)), (arg(5, Clause, Call), functor(Call, Functor, Arity), - assertz(lgt_directive_(dynamic(Functor/Arity))))). + assertz('$lgt_directive_'(dynamic(Functor/Arity))))). -lgt_gen_static_object_dynamic_directives :- - lgt_object_(_, _, _, Def, _, _, _, DDcl, DDef), - assertz(lgt_directive_(dynamic(DDcl/4))), - assertz(lgt_directive_(dynamic(DDef/5))), - lgt_dynamic_(Functor/Arity), +'$lgt_gen_static_object_dynamic_directives' :- + '$lgt_object_'(_, _, _, Def, _, _, _, DDcl, DDef), + assertz('$lgt_directive_'(dynamic(DDcl/4))), + assertz('$lgt_directive_'(dynamic(DDef/5))), + '$lgt_dynamic_'(Functor/Arity), functor(Pred, Functor, Arity), Clause =.. [Def, Pred, _, _, _, TPred], - lgt_def_(Clause), + '$lgt_def_'(Clause), functor(TPred, TFunctor, TArity), - assertz(lgt_directive_(dynamic(TFunctor/TArity))), + assertz('$lgt_directive_'(dynamic(TFunctor/TArity))), fail. -lgt_gen_static_object_dynamic_directives. +'$lgt_gen_static_object_dynamic_directives'. -lgt_gen_object_discontiguous_directives :- - lgt_object_(_, _, _, Def, _, _, _, _, _), - lgt_discontiguous_(Functor/Arity), +'$lgt_gen_object_discontiguous_directives' :- + '$lgt_object_'(_, _, _, Def, _, _, _, _, _), + '$lgt_discontiguous_'(Functor/Arity), functor(Pred, Functor, Arity), Clause =.. [Def, Pred, _, _, _, TPred], - lgt_def_(Clause), + '$lgt_def_'(Clause), functor(TPred, TFunctor, TArity), - assertz(lgt_directive_(discontiguous(TFunctor/TArity))), + assertz('$lgt_directive_'(discontiguous(TFunctor/TArity))), fail. -lgt_gen_object_discontiguous_directives. +'$lgt_gen_object_discontiguous_directives'. -lgt_gen_category_dynamic_directives :- - lgt_entity_comp_mode_((dynamic)) -> - lgt_category_(_, Prefix, Dcl, Def), - assertz(lgt_directive_(dynamic(Prefix/2))), - assertz(lgt_directive_(dynamic(Dcl/4))), - assertz(lgt_directive_(dynamic(Dcl/5))), - assertz(lgt_directive_(dynamic(Def/5))), +'$lgt_gen_category_dynamic_directives' :- + '$lgt_entity_comp_mode_'((dynamic)) -> + '$lgt_category_'(_, Prefix, Dcl, Def), + assertz('$lgt_directive_'(dynamic(Prefix/2))), + assertz('$lgt_directive_'(dynamic(Dcl/4))), + assertz('$lgt_directive_'(dynamic(Dcl/5))), + assertz('$lgt_directive_'(dynamic(Def/5))), forall( - (lgt_def_(Clause), Clause \= (_ :- _)), + ('$lgt_def_'(Clause), Clause \= (_ :- _)), (arg(5, Clause, Call), functor(Call, Functor, Arity), - assertz(lgt_directive_(dynamic(Functor/Arity))))) + assertz('$lgt_directive_'(dynamic(Functor/Arity))))) ; true. -lgt_gen_category_discontiguous_directives :- - lgt_category_(_, _, _, Def), - lgt_discontiguous_(Functor/Arity), +'$lgt_gen_category_discontiguous_directives' :- + '$lgt_category_'(_, _, _, Def), + '$lgt_discontiguous_'(Functor/Arity), functor(Pred, Functor, Arity), Clause =.. [Def, Pred, _, _, _, TPred], - lgt_def_(Clause), + '$lgt_def_'(Clause), functor(TPred, TFunctor, TArity), - assertz(lgt_directive_(discontiguous(TFunctor/TArity))), + assertz('$lgt_directive_'(discontiguous(TFunctor/TArity))), fail. -lgt_gen_category_discontiguous_directives. +'$lgt_gen_category_discontiguous_directives'. -% lgt_gen_clauses(+atom) +% '$lgt_gen_clauses'(+atom) -lgt_gen_clauses(object) :- - lgt_gen_object_clauses. +'$lgt_gen_clauses'(object) :- + '$lgt_gen_object_clauses'. -lgt_gen_clauses(protocol) :- - lgt_gen_protocol_clauses. +'$lgt_gen_clauses'(protocol) :- + '$lgt_gen_protocol_clauses'. -lgt_gen_clauses(category) :- - lgt_gen_category_clauses. +'$lgt_gen_clauses'(category) :- + '$lgt_gen_category_clauses'. -lgt_gen_object_clauses :- - (lgt_rclause_(lgt_instantiates_class_(_, _, _)); - lgt_rclause_(lgt_specializes_class_(_, _, _))) -> - lgt_gen_ic_clauses +'$lgt_gen_object_clauses' :- + ('$lgt_rclause_'('$lgt_instantiates_class_'(_, _, _)); + '$lgt_rclause_'('$lgt_specializes_class_'(_, _, _))) -> + '$lgt_gen_ic_clauses' ; - lgt_gen_prototype_clauses. + '$lgt_gen_prototype_clauses'. -% lgt_gen_local_dcl_clauses +% '$lgt_gen_local_dcl_clauses' % % a (local) predicate declaration is only generated % if there is a scope declaration for the predicate -lgt_gen_local_dcl_clauses :- - lgt_entity_(_, _, _, Dcl), - ((lgt_public_(Functor/Arity), Scope = p(p(p))); - (lgt_protected_(Functor/Arity), Scope = p(p)); - (lgt_private_(Functor/Arity), Scope = p)), +'$lgt_gen_local_dcl_clauses' :- + '$lgt_entity_'(_, _, _, Dcl), + (('$lgt_public_'(Functor/Arity), Scope = p(p(p))); + ('$lgt_protected_'(Functor/Arity), Scope = p(p)); + ('$lgt_private_'(Functor/Arity), Scope = p)), functor(Meta, Functor, Arity), - (lgt_metapredicate_(Meta) -> + ('$lgt_metapredicate_'(Meta) -> Meta2 = Meta ; Meta2 = no), functor(Pred, Functor, Arity), - (lgt_dynamic_(Functor/Arity)-> + ('$lgt_dynamic_'(Functor/Arity)-> Compilation = (dynamic) ; Compilation = static), Fact =.. [Dcl, Pred, Scope, Compilation, Meta2], - assertz(lgt_dcl_(Fact)), + assertz('$lgt_dcl_'(Fact)), fail. -lgt_gen_local_dcl_clauses. +'$lgt_gen_local_dcl_clauses'. -lgt_gen_catchall_dcl_clause :- - \+ lgt_dcl_(_) -> - lgt_entity_(_, _, _, Dcl), +'$lgt_gen_catchall_dcl_clause' :- + \+ '$lgt_dcl_'(_) -> + '$lgt_entity_'(_, _, _, Dcl), Head =.. [Dcl, _, _, _, _], - assertz(lgt_dcl_((Head:-fail))) + assertz('$lgt_dcl_'((Head:-fail))) ; true. -% lgt_gen_local_def_clauses +% '$lgt_gen_local_def_clauses' % % generates local def clauses for undefined but declared (via scope or % dynamic directives) predicates -lgt_gen_local_def_clauses :- - lgt_entity_(_, _, EPrefix, _), - lgt_dynamic_(Functor/Arity), - \+ lgt_defs_pred_(Functor/Arity), - lgt_construct_predicate_functor(EPrefix, Functor, Arity, PPrefix), - lgt_context(Context), - ((\+ lgt_public_(Functor/Arity), - \+ lgt_protected_(Functor/Arity), - \+ lgt_private_(Functor/Arity)) -> - lgt_add_ddef_clause(Functor, Arity, PPrefix, Context) +'$lgt_gen_local_def_clauses' :- + '$lgt_entity_'(_, _, EPrefix, _), + '$lgt_dynamic_'(Functor/Arity), + \+ '$lgt_defs_pred_'(Functor/Arity), + '$lgt_construct_predicate_functor'(EPrefix, Functor, Arity, PPrefix), + '$lgt_context'(Context), + ((\+ '$lgt_public_'(Functor/Arity), + \+ '$lgt_protected_'(Functor/Arity), + \+ '$lgt_private_'(Functor/Arity)) -> + '$lgt_add_ddef_clause'(Functor, Arity, PPrefix, Context) ; - lgt_add_def_clause(Functor, Arity, PPrefix, Context)), + '$lgt_add_def_clause'(Functor, Arity, PPrefix, Context)), fail. -lgt_gen_local_def_clauses. +'$lgt_gen_local_def_clauses'. -lgt_gen_obj_catchall_def_clause :- - \+ lgt_def_(_) -> - lgt_object_(_, _, _, Def, _, _, _, _, _), +'$lgt_gen_obj_catchall_def_clause' :- + \+ '$lgt_def_'(_) -> + '$lgt_object_'(_, _, _, Def, _, _, _, _, _), Head =.. [Def, _, _, _, _, _], - assertz(lgt_def_((Head:-fail))) + assertz('$lgt_def_'((Head:-fail))) ; true. -lgt_gen_protocol_clauses :- - lgt_gen_protocol_local_clauses, - lgt_gen_protocol_linking_clauses, - lgt_gen_protocol_extend_clauses. +'$lgt_gen_protocol_clauses' :- + '$lgt_gen_protocol_local_clauses', + '$lgt_gen_protocol_linking_clauses', + '$lgt_gen_protocol_extend_clauses'. -lgt_gen_protocol_local_clauses :- - lgt_gen_local_dcl_clauses, - lgt_gen_catchall_dcl_clause. +'$lgt_gen_protocol_local_clauses' :- + '$lgt_gen_local_dcl_clauses', + '$lgt_gen_catchall_dcl_clause'. -lgt_gen_protocol_linking_clauses :- - lgt_protocol_(Ptc, _, PDcl), +'$lgt_gen_protocol_linking_clauses' :- + '$lgt_protocol_'(Ptc, _, PDcl), Head =.. [PDcl, Pred, Scope, Compilation, Meta, Ptc], Body =.. [PDcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body))). + assertz('$lgt_dcl_'((Head:-Body))). -lgt_gen_protocol_extend_clauses :- - lgt_protocol_(_, _, PDcl1), +'$lgt_gen_protocol_extend_clauses' :- + '$lgt_protocol_'(_, _, PDcl1), Head =.. [PDcl1, Pred, Scope, Compilation, Meta, Container], - lgt_extended_protocol_(_, _, PDcl2, EScope), + '$lgt_extended_protocol_'(_, _, PDcl2, EScope), (EScope = (public) -> Body =.. [PDcl2, Pred, Scope, Compilation, Meta, Container] ; @@ -3999,39 +4023,39 @@ lgt_gen_protocol_extend_clauses :- ; Scope = p, Body =.. [PDcl2, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_protocol_extend_clauses. +'$lgt_gen_protocol_extend_clauses'. -lgt_gen_category_clauses :- - lgt_gen_category_dcl_clauses, - lgt_gen_category_def_clauses. +'$lgt_gen_category_clauses' :- + '$lgt_gen_category_dcl_clauses', + '$lgt_gen_category_def_clauses'. -lgt_gen_category_dcl_clauses :- - lgt_gen_local_dcl_clauses, - lgt_gen_catchall_dcl_clause, - lgt_gen_category_linking_dcl_clauses, - lgt_gen_category_implements_dcl_clauses. +'$lgt_gen_category_dcl_clauses' :- + '$lgt_gen_local_dcl_clauses', + '$lgt_gen_catchall_dcl_clause', + '$lgt_gen_category_linking_dcl_clauses', + '$lgt_gen_category_implements_dcl_clauses'. -lgt_gen_category_linking_dcl_clauses :- - lgt_category_(Ctg, _, CDcl, _), +'$lgt_gen_category_linking_dcl_clauses' :- + '$lgt_category_'(Ctg, _, CDcl, _), Head =.. [CDcl, Pred, Scope, Compilation, Meta, Ctg], Body =.. [CDcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body))). + assertz('$lgt_dcl_'((Head:-Body))). -lgt_gen_category_implements_dcl_clauses :- - lgt_category_(_, _, CDcl, _), +'$lgt_gen_category_implements_dcl_clauses' :- + '$lgt_category_'(_, _, CDcl, _), Head =.. [CDcl, Pred, Scope, Compilation, Meta, Container], - lgt_implemented_protocol_(_, _, PDcl, EScope), + '$lgt_implemented_protocol_'(_, _, PDcl, EScope), (EScope = (public) -> Body =.. [PDcl, Pred, Scope, Compilation, Meta, Container] ; @@ -4041,59 +4065,59 @@ lgt_gen_category_implements_dcl_clauses :- ; Scope = p, Body =.. [PDcl, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_category_implements_dcl_clauses. +'$lgt_gen_category_implements_dcl_clauses'. -lgt_gen_category_def_clauses :- - lgt_gen_category_catchall_def_clause. +'$lgt_gen_category_def_clauses' :- + '$lgt_gen_category_catchall_def_clause'. -lgt_gen_category_catchall_def_clause :- - \+ lgt_def_(_) -> - lgt_category_(_, _, _, Def), +'$lgt_gen_category_catchall_def_clause' :- + \+ '$lgt_def_'(_) -> + '$lgt_category_'(_, _, _, Def), Head =.. [Def, _, _, _, _, _], - assertz(lgt_def_((Head:-fail))) + assertz('$lgt_def_'((Head:-fail))) ; true. -lgt_gen_prototype_clauses :- - lgt_gen_prototype_dcl_clauses, - lgt_gen_prototype_def_clauses, - lgt_gen_prototype_super_clauses. +'$lgt_gen_prototype_clauses' :- + '$lgt_gen_prototype_dcl_clauses', + '$lgt_gen_prototype_def_clauses', + '$lgt_gen_prototype_super_clauses'. -lgt_gen_prototype_dcl_clauses :- - lgt_gen_local_dcl_clauses, - lgt_gen_catchall_dcl_clause, - lgt_gen_prototype_linking_dcl_clauses, - lgt_gen_prototype_implements_dcl_clauses, - lgt_gen_prototype_imports_dcl_clauses, - lgt_gen_prototype_extends_dcl_clauses. +'$lgt_gen_prototype_dcl_clauses' :- + '$lgt_gen_local_dcl_clauses', + '$lgt_gen_catchall_dcl_clause', + '$lgt_gen_prototype_linking_dcl_clauses', + '$lgt_gen_prototype_implements_dcl_clauses', + '$lgt_gen_prototype_imports_dcl_clauses', + '$lgt_gen_prototype_extends_dcl_clauses'. -lgt_gen_prototype_linking_dcl_clauses :- - lgt_object_(Obj, _, Dcl, _, _, _, _, DDcl, _), +'$lgt_gen_prototype_linking_dcl_clauses' :- + '$lgt_object_'(Obj, _, Dcl, _, _, _, _, DDcl, _), Head =.. [Dcl, Pred, Scope, Compilation, Meta, Obj, Obj], Body =.. [Dcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), Body2 =.. [DDcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body2))). + assertz('$lgt_dcl_'((Head:-Body2))). -lgt_gen_prototype_implements_dcl_clauses :- - lgt_object_(Obj, _, ODcl, _, _, _, _, _, _), +'$lgt_gen_prototype_implements_dcl_clauses' :- + '$lgt_object_'(Obj, _, ODcl, _, _, _, _, _, _), Head =.. [ODcl, Pred, Scope, Compilation, Meta, Obj, Container], - lgt_implemented_protocol_(_, _, PDcl, EScope), + '$lgt_implemented_protocol_'(_, _, PDcl, EScope), (EScope = (public) -> Body =.. [PDcl, Pred, Scope, Compilation, Meta, Container] ; @@ -4103,17 +4127,17 @@ lgt_gen_prototype_implements_dcl_clauses :- ; Scope = p, Body =.. [PDcl, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_prototype_implements_dcl_clauses. +'$lgt_gen_prototype_implements_dcl_clauses'. -lgt_gen_prototype_imports_dcl_clauses :- - lgt_object_(Obj, _, ODcl, _, _, _, _, _, _), +'$lgt_gen_prototype_imports_dcl_clauses' :- + '$lgt_object_'(Obj, _, ODcl, _, _, _, _, _, _), Head =.. [ODcl, Pred, Scope, Compilation, Meta, Obj, Container], - lgt_imported_category_(_, _, CDcl, _, EScope), + '$lgt_imported_category_'(_, _, CDcl, _, EScope), (EScope = (public) -> Body =.. [CDcl, Pred, Scope, Compilation, Meta, Container] ; @@ -4123,17 +4147,17 @@ lgt_gen_prototype_imports_dcl_clauses :- ; Scope = p, Body =.. [CDcl, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_prototype_imports_dcl_clauses. +'$lgt_gen_prototype_imports_dcl_clauses'. -lgt_gen_prototype_extends_dcl_clauses :- - lgt_object_(Obj, _, ODcl, _, _, _, _, _, _), +'$lgt_gen_prototype_extends_dcl_clauses' :- + '$lgt_object_'(Obj, _, ODcl, _, _, _, _, _, _), Head =.. [ODcl, Pred, Scope, Compilation, Meta, SContainer, TContainer], - lgt_extended_object_(_, _, PDcl, _, _, _, _, _, _, EScope), + '$lgt_extended_object_'(_, _, PDcl, _, _, _, _, _, _, EScope), (EScope = (public) -> Body =.. [PDcl, Pred, Scope, Compilation, Meta, SContainer, TContainer] ; @@ -4144,109 +4168,109 @@ lgt_gen_prototype_extends_dcl_clauses :- Scope = p, Call =.. [PDcl, Pred, Scope2, Compilation, Meta, SContainer2, TContainer], Body = (Call, (Scope2 = p -> SContainer = SContainer2; SContainer = Obj)))), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_prototype_extends_dcl_clauses. +'$lgt_gen_prototype_extends_dcl_clauses'. -lgt_gen_prototype_def_clauses :- - lgt_gen_local_def_clauses, - lgt_gen_obj_catchall_def_clause, - lgt_gen_prototype_linking_def_clauses, - lgt_gen_prototype_imports_def_clauses, - lgt_gen_prototype_extends_def_clauses. +'$lgt_gen_prototype_def_clauses' :- + '$lgt_gen_local_def_clauses', + '$lgt_gen_obj_catchall_def_clause', + '$lgt_gen_prototype_linking_def_clauses', + '$lgt_gen_prototype_imports_def_clauses', + '$lgt_gen_prototype_extends_def_clauses'. -lgt_gen_prototype_linking_def_clauses :- - lgt_object_(Obj, _, _, Def, _, _, _, _, DDef), +'$lgt_gen_prototype_linking_def_clauses' :- + '$lgt_object_'(Obj, _, _, Def, _, _, _, _, DDef), Head =.. [Def, Pred, Sender, This, Self, Call, Obj], Body =.. [Def, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), Body2 =.. [DDef, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body2))). + assertz('$lgt_def_'((Head:-Body2))). -lgt_gen_prototype_imports_def_clauses :- - lgt_object_(Obj, _, _, ODef, _, _, _, _, _), - lgt_rclause_(lgt_imports_category_(Obj, Ctg, _)), +'$lgt_gen_prototype_imports_def_clauses' :- + '$lgt_object_'(Obj, _, _, ODef, _, _, _, _, _), + '$lgt_rclause_'('$lgt_imports_category_'(Obj, Ctg, _)), Head =.. [ODef, Pred, Sender, Obj, Self, Call, Ctg], - lgt_imported_category_(Ctg, _, _, CDef, _), + '$lgt_imported_category_'(Ctg, _, _, CDef, _), Body =.. [CDef, Pred, Sender, Obj, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_prototype_imports_def_clauses. +'$lgt_gen_prototype_imports_def_clauses'. -lgt_gen_prototype_extends_def_clauses :- - lgt_object_(Obj, _, _, ODef, _, _, _, _, _), - lgt_rclause_(lgt_extends_object_(Obj, Parent, _)), +'$lgt_gen_prototype_extends_def_clauses' :- + '$lgt_object_'(Obj, _, _, ODef, _, _, _, _, _), + '$lgt_rclause_'('$lgt_extends_object_'(Obj, Parent, _)), Head =.. [ODef, Pred, Sender, Obj, Self, Call, Container], - lgt_extended_object_(Parent, _, _, PDef, _, _, _, _, _, _), + '$lgt_extended_object_'(Parent, _, _, PDef, _, _, _, _, _, _), Body =.. [PDef, Pred, Sender, Parent, Self, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_prototype_extends_def_clauses. +'$lgt_gen_prototype_extends_def_clauses'. % we can have a root object where super have nowhere to go ... -lgt_gen_prototype_super_clauses :- - lgt_object_(Obj, _, _, _, OSuper, _, _, _, _), - \+ lgt_rclause_(lgt_extends_object_(Obj, _, _)), +'$lgt_gen_prototype_super_clauses' :- + '$lgt_object_'(Obj, _, _, _, OSuper, _, _, _, _), + \+ '$lgt_rclause_'('$lgt_extends_object_'(Obj, _, _)), Head =.. [OSuper, _, _, _, _, _, _], - assertz(lgt_def_((Head:-fail))), + assertz('$lgt_def_'((Head:-fail))), !. % ... or we may extends some objects -lgt_gen_prototype_super_clauses :- - lgt_object_(Obj, _, _, _, OSuper, _, _, _, _), - lgt_rclause_(lgt_extends_object_(Obj, Parent, _)), +'$lgt_gen_prototype_super_clauses' :- + '$lgt_object_'(Obj, _, _, _, OSuper, _, _, _, _), + '$lgt_rclause_'('$lgt_extends_object_'(Obj, Parent, _)), Head =.. [OSuper, Pred, Sender, Obj, Self, Call, Container], - lgt_extended_object_(Parent, _, _, PDef, _, _, _, _, _, _), + '$lgt_extended_object_'(Parent, _, _, PDef, _, _, _, _, _, _), Body =.. [PDef, Pred, Sender, Parent, Self, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_prototype_super_clauses. +'$lgt_gen_prototype_super_clauses'. -lgt_gen_ic_clauses :- - lgt_gen_ic_dcl_clauses, - lgt_gen_ic_idcl_clauses, - lgt_gen_ic_def_clauses, - lgt_gen_ic_idef_clauses, - lgt_gen_ic_super_clauses. +'$lgt_gen_ic_clauses' :- + '$lgt_gen_ic_dcl_clauses', + '$lgt_gen_ic_idcl_clauses', + '$lgt_gen_ic_def_clauses', + '$lgt_gen_ic_idef_clauses', + '$lgt_gen_ic_super_clauses'. -lgt_gen_ic_dcl_clauses :- - lgt_gen_local_dcl_clauses, - lgt_gen_catchall_dcl_clause, - lgt_gen_ic_hierarchy_dcl_clauses. +'$lgt_gen_ic_dcl_clauses' :- + '$lgt_gen_local_dcl_clauses', + '$lgt_gen_catchall_dcl_clause', + '$lgt_gen_ic_hierarchy_dcl_clauses'. -lgt_gen_ic_hierarchy_dcl_clauses :- - \+ lgt_instantiated_class_(_, _, _, _, _, _, _, _, _, _), +'$lgt_gen_ic_hierarchy_dcl_clauses' :- + \+ '$lgt_instantiated_class_'(_, _, _, _, _, _, _, _, _, _), !, - lgt_object_(_, _, ODcl, _, _, _, _, _, _), + '$lgt_object_'(_, _, ODcl, _, _, _, _, _, _), Head =.. [ODcl, _, _, _, _, _, _], - assertz(lgt_dcl_((Head:-fail))). + assertz('$lgt_dcl_'((Head:-fail))). -lgt_gen_ic_hierarchy_dcl_clauses :- - lgt_object_(Obj, _, ODcl, _, _, _, _, _, _), +'$lgt_gen_ic_hierarchy_dcl_clauses' :- + '$lgt_object_'(Obj, _, ODcl, _, _, _, _, _, _), Head =.. [ODcl, Pred, Scope, Compilation, Meta, SContainer, TContainer], - lgt_instantiated_class_(_, _, _, _, _, CIDcl, _, _, _, EScope), + '$lgt_instantiated_class_'(_, _, _, _, _, CIDcl, _, _, _, EScope), (EScope = (public) -> Body =.. [CIDcl, Pred, Scope, Compilation, Meta, SContainer, TContainer] ; @@ -4257,38 +4281,38 @@ lgt_gen_ic_hierarchy_dcl_clauses :- Scope = p, Call =.. [CIDcl, Pred, Scope2, Compilation, Meta, SContainer2, TContainer], Body = (Call, (Scope2 = p -> SContainer = SContainer2; SContainer = Obj)))), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_ic_hierarchy_dcl_clauses. +'$lgt_gen_ic_hierarchy_dcl_clauses'. % generates instance/class inherited declaration clauses -lgt_gen_ic_idcl_clauses :- - lgt_gen_ic_linking_idcl_clauses, - lgt_gen_ic_protocol_idcl_clauses, - lgt_gen_ic_category_idcl_clauses, - lgt_gen_ic_hierarchy_idcl_clauses. +'$lgt_gen_ic_idcl_clauses' :- + '$lgt_gen_ic_linking_idcl_clauses', + '$lgt_gen_ic_protocol_idcl_clauses', + '$lgt_gen_ic_category_idcl_clauses', + '$lgt_gen_ic_hierarchy_idcl_clauses'. -lgt_gen_ic_linking_idcl_clauses :- - lgt_object_(Obj, _, Dcl, _, _, IDcl, _, DDcl, _), +'$lgt_gen_ic_linking_idcl_clauses' :- + '$lgt_object_'(Obj, _, Dcl, _, _, IDcl, _, DDcl, _), Head =.. [IDcl, Pred, Scope, Compilation, Meta, Obj, Obj], Body =.. [Dcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), Body2 =.. [DDcl, Pred, Scope, Compilation, Meta], - assertz(lgt_dcl_((Head:-Body2))). + assertz('$lgt_dcl_'((Head:-Body2))). -lgt_gen_ic_protocol_idcl_clauses :- - lgt_object_(Obj, _, _, _, _, OIDcl, _, _, _), +'$lgt_gen_ic_protocol_idcl_clauses' :- + '$lgt_object_'(Obj, _, _, _, _, OIDcl, _, _, _), Head =.. [OIDcl, Pred, Scope, Compilation, Meta, Obj, Container], - lgt_implemented_protocol_(_, _, PDcl, EScope), + '$lgt_implemented_protocol_'(_, _, PDcl, EScope), (EScope = (public) -> Body =.. [PDcl, Pred, Scope, Compilation, Meta, Container] ; @@ -4298,17 +4322,17 @@ lgt_gen_ic_protocol_idcl_clauses :- ; Scope = p, Body =.. [PDcl, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_ic_protocol_idcl_clauses. +'$lgt_gen_ic_protocol_idcl_clauses'. -lgt_gen_ic_category_idcl_clauses :- - lgt_object_(Obj, _, _, _, _, OIDcl, _, _, _), +'$lgt_gen_ic_category_idcl_clauses' :- + '$lgt_object_'(Obj, _, _, _, _, OIDcl, _, _, _), Head =.. [OIDcl, Pred, Scope, Compilation, Meta, Obj, Container], - lgt_imported_category_(_, _, CDcl, _, EScope), + '$lgt_imported_category_'(_, _, CDcl, _, EScope), (EScope = (public) -> Body =.. [CDcl, Pred, Scope, Compilation, Meta, Container] ; @@ -4318,17 +4342,17 @@ lgt_gen_ic_category_idcl_clauses :- ; Scope = p, Body =.. [CDcl, Pred, _, Compilation, Meta, Container])), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_ic_category_idcl_clauses. +'$lgt_gen_ic_category_idcl_clauses'. -lgt_gen_ic_hierarchy_idcl_clauses :- - lgt_object_(Obj, _, _, _, _, CIDcl, _, _, _), +'$lgt_gen_ic_hierarchy_idcl_clauses' :- + '$lgt_object_'(Obj, _, _, _, _, CIDcl, _, _, _), Head =.. [CIDcl, Pred, Scope, Compilation, Meta, SContainer, TContainer], - lgt_specialized_class_(_, _, _, _, _, SIDcl, _, _, _, EScope), + '$lgt_specialized_class_'(_, _, _, _, _, SIDcl, _, _, _, EScope), (EScope = (public) -> Body =.. [SIDcl, Pred, Scope, Compilation, Meta, SContainer, TContainer] ; @@ -4339,246 +4363,246 @@ lgt_gen_ic_hierarchy_idcl_clauses :- Scope = p, Call =.. [SIDcl, Pred, Scope2, Compilation, Meta, SContainer2, TContainer], Body = (Call, (Scope2 = p -> SContainer = SContainer2; SContainer = Obj)))), - assertz(lgt_dcl_((Head:-Body))), + assertz('$lgt_dcl_'((Head:-Body))), fail. -lgt_gen_ic_hierarchy_idcl_clauses. +'$lgt_gen_ic_hierarchy_idcl_clauses'. -lgt_gen_ic_def_clauses :- - lgt_gen_local_def_clauses, - lgt_gen_obj_catchall_def_clause, - lgt_gen_ic_linking_def_clauses, - lgt_gen_ic_imports_def_clauses, - lgt_gen_ic_hierarchy_def_clauses. +'$lgt_gen_ic_def_clauses' :- + '$lgt_gen_local_def_clauses', + '$lgt_gen_obj_catchall_def_clause', + '$lgt_gen_ic_linking_def_clauses', + '$lgt_gen_ic_imports_def_clauses', + '$lgt_gen_ic_hierarchy_def_clauses'. -lgt_gen_ic_linking_def_clauses :- - lgt_object_(Obj, _, _, Def, _, _, _, _, DDef), +'$lgt_gen_ic_linking_def_clauses' :- + '$lgt_object_'(Obj, _, _, Def, _, _, _, _, DDef), Head =.. [Def, Pred, Sender, This, Self, Call, Obj], Body =.. [Def, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), Body2 =.. [DDef, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body2))). + assertz('$lgt_def_'((Head:-Body2))). -lgt_gen_ic_imports_def_clauses :- - lgt_object_(Obj, _, _, ODef, _, _, _, _, _), - lgt_rclause_(lgt_imports_category_(Obj, Ctg, _)), +'$lgt_gen_ic_imports_def_clauses' :- + '$lgt_object_'(Obj, _, _, ODef, _, _, _, _, _), + '$lgt_rclause_'('$lgt_imports_category_'(Obj, Ctg, _)), Head =.. [ODef, Pred, Sender, Obj, Self, Call, Ctg], - lgt_imported_category_(Ctg, _, _, CDef, _), + '$lgt_imported_category_'(Ctg, _, _, CDef, _), Body =.. [CDef, Pred, Sender, Obj, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_ic_imports_def_clauses. +'$lgt_gen_ic_imports_def_clauses'. -lgt_gen_ic_hierarchy_def_clauses :- - lgt_object_(Obj, _, _, ODef, _, _, _, _, _), - lgt_rclause_(lgt_instantiates_class_(Obj, Class, _)), +'$lgt_gen_ic_hierarchy_def_clauses' :- + '$lgt_object_'(Obj, _, _, ODef, _, _, _, _, _), + '$lgt_rclause_'('$lgt_instantiates_class_'(Obj, Class, _)), Head =.. [ODef, Pred, Sender, Obj, Self, Call, Container], - lgt_instantiated_class_(Class, _, _, _, _, _, CIDef, _, _, _), + '$lgt_instantiated_class_'(Class, _, _, _, _, _, CIDef, _, _, _), Body =.. [CIDef, Pred, Sender, Class, Self, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_ic_hierarchy_def_clauses. +'$lgt_gen_ic_hierarchy_def_clauses'. -lgt_gen_ic_idef_clauses :- - lgt_gen_ic_linking_idef_clauses, - lgt_gen_ic_category_idef_clauses, - lgt_gen_ic_hierarchy_idef_clauses. +'$lgt_gen_ic_idef_clauses' :- + '$lgt_gen_ic_linking_idef_clauses', + '$lgt_gen_ic_category_idef_clauses', + '$lgt_gen_ic_hierarchy_idef_clauses'. -lgt_gen_ic_linking_idef_clauses :- - lgt_object_(Obj, _, _, Def, _, _, IDef, _, DDef), +'$lgt_gen_ic_linking_idef_clauses' :- + '$lgt_object_'(Obj, _, _, Def, _, _, IDef, _, DDef), Head =.. [IDef, Pred, Sender, This, Self, Call, Obj], Body =.. [Def, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), Body2 =.. [DDef, Pred, Sender, This, Self, Call], - assertz(lgt_def_((Head:-Body2))). + assertz('$lgt_def_'((Head:-Body2))). -lgt_gen_ic_category_idef_clauses :- - lgt_object_(Obj, _, _, _, _, _, OIDef, _, _), - lgt_rclause_(lgt_imports_category_(Obj, Ctg, _)), +'$lgt_gen_ic_category_idef_clauses' :- + '$lgt_object_'(Obj, _, _, _, _, _, OIDef, _, _), + '$lgt_rclause_'('$lgt_imports_category_'(Obj, Ctg, _)), Head =.. [OIDef, Pred, Sender, Obj, Self, Call, Ctg], - lgt_imported_category_(Ctg, _, _, CDef, _), + '$lgt_imported_category_'(Ctg, _, _, CDef, _), Body =.. [CDef, Pred, Sender, Obj, Self, Call], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_ic_category_idef_clauses. +'$lgt_gen_ic_category_idef_clauses'. -lgt_gen_ic_hierarchy_idef_clauses :- - lgt_object_(Class, _, _, _, _, _, CIDef, _, _), - lgt_rclause_(lgt_specializes_class_(Class, Super, _)), +'$lgt_gen_ic_hierarchy_idef_clauses' :- + '$lgt_object_'(Class, _, _, _, _, _, CIDef, _, _), + '$lgt_rclause_'('$lgt_specializes_class_'(Class, Super, _)), Head =.. [CIDef, Pred, Sender, Class, Self, Call, Container], - lgt_specialized_class_(Super, _, _, _, _, _, SIDef, _, _, _), + '$lgt_specialized_class_'(Super, _, _, _, _, _, SIDef, _, _, _), Body =.. [SIDef, Pred, Sender, Super, Self, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_ic_hierarchy_idef_clauses. +'$lgt_gen_ic_hierarchy_idef_clauses'. % we can have a root object where super have nowhere to go ... -lgt_gen_ic_super_clauses :- - lgt_object_(_, _, _, _, OSuper, _, _, _, _), - \+ lgt_rclause_(lgt_instantiates_class_(_, _, _)), - \+ lgt_rclause_(lgt_specializes_class_(_, _, _)), +'$lgt_gen_ic_super_clauses' :- + '$lgt_object_'(_, _, _, _, OSuper, _, _, _, _), + \+ '$lgt_rclause_'('$lgt_instantiates_class_'(_, _, _)), + \+ '$lgt_rclause_'('$lgt_specializes_class_'(_, _, _)), Head =.. [OSuper, _, _, _, _, _, _], - assertz(lgt_def_((Head:-fail))), + assertz('$lgt_def_'((Head:-fail))), !. % ... or predicates can be redefined in instances... -lgt_gen_ic_super_clauses :- - lgt_object_(Obj, _, _, _, OSuper, _, _, _, _), - lgt_rclause_(lgt_instantiates_class_(Obj, Class, _)), +'$lgt_gen_ic_super_clauses' :- + '$lgt_object_'(Obj, _, _, _, OSuper, _, _, _, _), + '$lgt_rclause_'('$lgt_instantiates_class_'(Obj, Class, _)), Head =.. [OSuper, Pred, Sender, Obj, Obj, Call, Container], - lgt_instantiated_class_(Class, _, _, _, _, _, CIDef, _, _, _), + '$lgt_instantiated_class_'(Class, _, _, _, _, _, CIDef, _, _, _), Body =.. [CIDef, Pred, Sender, Class, Obj, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. % ... or/and in subclasses... -lgt_gen_ic_super_clauses :- - lgt_object_(Class, _, _, _, CSuper, _, _, _, _), - lgt_rclause_(lgt_specializes_class_(Class, Super, _)), +'$lgt_gen_ic_super_clauses' :- + '$lgt_object_'(Class, _, _, _, CSuper, _, _, _, _), + '$lgt_rclause_'('$lgt_specializes_class_'(Class, Super, _)), Head =.. [CSuper, Pred, Sender, Class, Self, Call, Container], - lgt_specialized_class_(Super, _, _, _, _, _, SIDef, _, _, _), + '$lgt_specialized_class_'(Super, _, _, _, _, _, SIDef, _, _, _), Body =.. [SIDef, Pred, Sender, Super, Self, Call, Container], - assertz(lgt_def_((Head:-Body))), + assertz('$lgt_def_'((Head:-Body))), fail. -lgt_gen_ic_super_clauses. +'$lgt_gen_ic_super_clauses'. -% lgt_fix_redef_built_ins +% '$lgt_fix_redef_built_ins' % % fix the calls of any redefined built-in predicate in all entity clauses % and initialization goals -lgt_fix_redef_built_ins :- - retract(lgt_eclause_(Clause)), - lgt_fix_redef_built_ins(Clause, Fixed), - assertz(lgt_feclause_(Fixed)), +'$lgt_fix_redef_built_ins' :- + retract('$lgt_eclause_'(Clause)), + '$lgt_fix_redef_built_ins'(Clause, Fixed), + assertz('$lgt_feclause_'(Fixed)), fail. -lgt_fix_redef_built_ins :- - retract(lgt_entity_init_(Call)), - lgt_fix_redef_built_ins(Call, Fixed), - assertz(lgt_fentity_init_(Fixed)), +'$lgt_fix_redef_built_ins' :- + retract('$lgt_entity_init_'(Call)), + '$lgt_fix_redef_built_ins'(Call, Fixed), + assertz('$lgt_fentity_init_'(Fixed)), fail. -lgt_fix_redef_built_ins. +'$lgt_fix_redef_built_ins'. -% lgt_fix_redef_built_ins(+clause, -clause) +% '$lgt_fix_redef_built_ins'(+clause, -clause) -lgt_fix_redef_built_ins((Head:-Body), (Head:-Fixed)) :- +'$lgt_fix_redef_built_ins'((Head:-Body), (Head:-Fixed)) :- !, - lgt_fix_redef_built_ins(Body, Fixed). + '$lgt_fix_redef_built_ins'(Body, Fixed). -lgt_fix_redef_built_ins((Pred1, Pred2), (TPred1, TPred2)) :- +'$lgt_fix_redef_built_ins'((Pred1, Pred2), (TPred1, TPred2)) :- !, - lgt_fix_redef_built_ins(Pred1, TPred1), - lgt_fix_redef_built_ins(Pred2, TPred2). + '$lgt_fix_redef_built_ins'(Pred1, TPred1), + '$lgt_fix_redef_built_ins'(Pred2, TPred2). -lgt_fix_redef_built_ins((Pred1; Pred2), (TPred1; TPred2)) :- +'$lgt_fix_redef_built_ins'((Pred1; Pred2), (TPred1; TPred2)) :- !, - lgt_fix_redef_built_ins(Pred1, TPred1), - lgt_fix_redef_built_ins(Pred2, TPred2). + '$lgt_fix_redef_built_ins'(Pred1, TPred1), + '$lgt_fix_redef_built_ins'(Pred2, TPred2). -lgt_fix_redef_built_ins((Pred1 -> Pred2), (TPred1 -> TPred2)) :- +'$lgt_fix_redef_built_ins'((Pred1 -> Pred2), (TPred1 -> TPred2)) :- !, - lgt_fix_redef_built_ins(Pred1, TPred1), - lgt_fix_redef_built_ins(Pred2, TPred2). + '$lgt_fix_redef_built_ins'(Pred1, TPred1), + '$lgt_fix_redef_built_ins'(Pred2, TPred2). -lgt_fix_redef_built_ins(\+ Pred, \+ TPred) :- +'$lgt_fix_redef_built_ins'(\+ Pred, \+ TPred) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(call(Pred), call(TPred)) :- +'$lgt_fix_redef_built_ins'(call(Pred), call(TPred)) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(once(Pred), once(TPred)) :- +'$lgt_fix_redef_built_ins'(once(Pred), once(TPred)) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery)) :- +'$lgt_fix_redef_built_ins'(catch(Goal, Catcher, Recovery), catch(TGoal, Catcher, TRecovery)) :- !, - lgt_fix_redef_built_ins(Goal, TGoal), - lgt_fix_redef_built_ins(Recovery, TRecovery). + '$lgt_fix_redef_built_ins'(Goal, TGoal), + '$lgt_fix_redef_built_ins'(Recovery, TRecovery). -lgt_fix_redef_built_ins(bagof(Term, Pred, List), bagof(Term, TPred, List)) :- +'$lgt_fix_redef_built_ins'(bagof(Term, Pred, List), bagof(Term, TPred, List)) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(findall(Term, Pred, List), findall(Term, TPred, List)) :- +'$lgt_fix_redef_built_ins'(findall(Term, Pred, List), findall(Term, TPred, List)) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(forall(Generate, Test), forall(TGenerate, TTest)) :- +'$lgt_fix_redef_built_ins'(forall(Generate, Test), forall(TGenerate, TTest)) :- !, - lgt_fix_redef_built_ins(Generate, TGenerate), - lgt_fix_redef_built_ins(Test, TTest). + '$lgt_fix_redef_built_ins'(Generate, TGenerate), + '$lgt_fix_redef_built_ins'(Test, TTest). -lgt_fix_redef_built_ins(setof(Term, Pred, List), setof(Term, TPred, List)) :- +'$lgt_fix_redef_built_ins'(setof(Term, Pred, List), setof(Term, TPred, List)) :- !, - lgt_fix_redef_built_ins(Pred, TPred). + '$lgt_fix_redef_built_ins'(Pred, TPred). -lgt_fix_redef_built_ins(lgt_call_built_in(Pred, Context), TPred) :- +'$lgt_fix_redef_built_ins'('$lgt_call_built_in'(Pred, Context), TPred) :- !, - (lgt_redefined_built_in_(Pred, Context, TPred) -> + ('$lgt_redefined_built_in_'(Pred, Context, TPred) -> true ; - lgt_fix_redef_built_ins(Pred, TPred)). + '$lgt_fix_redef_built_ins'(Pred, TPred)). -lgt_fix_redef_built_ins(Pred, Pred). +'$lgt_fix_redef_built_ins'(Pred, Pred). % find and report misspelt predicate calls % in the body of objects/cartegories predicates -lgt_find_misspelt_calls :- +'$lgt_find_misspelt_calls' :- setof(Pred, - (lgt_calls_pred_(Pred), \+ lgt_defs_pred_(Pred), \+ lgt_dynamic_(Pred)), + ('$lgt_calls_pred_'(Pred), \+ '$lgt_defs_pred_'(Pred), \+ '$lgt_dynamic_'(Pred)), Preds) -> - lgt_report_misspelt_calls(Preds) + '$lgt_report_misspelt_calls'(Preds) ; true. -% lgt_report_misspelt_calls(+list) +% '$lgt_report_misspelt_calls'(+list) -lgt_report_misspelt_calls([]). +'$lgt_report_misspelt_calls'([]). -lgt_report_misspelt_calls([Pred| Preds]) :- - (lgt_compiler_option(misspelt, warning), - lgt_compiler_option(report, on)) -> +'$lgt_report_misspelt_calls'([Pred| Preds]) :- + ('$lgt_compiler_option'(misspelt, warning), + '$lgt_compiler_option'(report, on)) -> write('WARNING! these static predicates are called but never defined: '), writeq([Pred| Preds]), nl ; @@ -4586,113 +4610,113 @@ lgt_report_misspelt_calls([Pred| Preds]) :- -% lgt_write_directives(+stream) +% '$lgt_write_directives'(+stream) % % writes the directives -lgt_write_directives(Stream) :- - lgt_directive_(Dir), +'$lgt_write_directives'(Stream) :- + '$lgt_directive_'(Dir), write_canonical(Stream, (:- Dir)), write(Stream, '.'), nl(Stream), fail. -lgt_write_directives(_). +'$lgt_write_directives'(_). -lgt_write_clauses(Stream) :- - lgt_write_functors_clause(Stream), - lgt_write_dcl_clauses(Stream), - lgt_write_def_clauses(Stream), - lgt_write_ddef_clauses(Stream), - lgt_write_super_clauses(Stream), - lgt_write_entity_clauses(Stream). +'$lgt_write_clauses'(Stream) :- + '$lgt_write_functors_clause'(Stream), + '$lgt_write_dcl_clauses'(Stream), + '$lgt_write_def_clauses'(Stream), + '$lgt_write_ddef_clauses'(Stream), + '$lgt_write_super_clauses'(Stream), + '$lgt_write_entity_clauses'(Stream). -lgt_write_functors_clause(Stream) :- - lgt_entity_functors_(Clause), +'$lgt_write_functors_clause'(Stream) :- + '$lgt_entity_functors_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream). -lgt_write_def_clauses(Stream) :- - lgt_def_(Clause), +'$lgt_write_def_clauses'(Stream) :- + '$lgt_def_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream), fail. -lgt_write_def_clauses(_). +'$lgt_write_def_clauses'(_). -lgt_write_ddef_clauses(Stream) :- - lgt_ddef_(Clause), +'$lgt_write_ddef_clauses'(Stream) :- + '$lgt_ddef_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream), fail. -lgt_write_ddef_clauses(_). +'$lgt_write_ddef_clauses'(_). -lgt_write_dcl_clauses(Stream) :- - lgt_dcl_(Clause), +'$lgt_write_dcl_clauses'(Stream) :- + '$lgt_dcl_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream), fail. -lgt_write_dcl_clauses(_). +'$lgt_write_dcl_clauses'(_). -lgt_write_super_clauses(Stream) :- - lgt_super_(Clause), +'$lgt_write_super_clauses'(Stream) :- + '$lgt_super_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream), fail. -lgt_write_super_clauses(_). +'$lgt_write_super_clauses'(_). -lgt_write_entity_clauses(Stream) :- - lgt_feclause_(Clause), +'$lgt_write_entity_clauses'(Stream) :- + '$lgt_feclause_'(Clause), write_canonical(Stream, Clause), write(Stream, '.'), nl(Stream), fail. -lgt_write_entity_clauses(_). +'$lgt_write_entity_clauses'(_). -% lgt_write_init_call(+stream) +% '$lgt_write_init_call'(+stream) % % writes the initialization call for the compiled entity that will assert % the relation clauses and call any declared initialization goal when the % entity is loaded -lgt_write_init_call(Stream) :- - lgt_compiler_option(iso_initialization_dir, true), +'$lgt_write_init_call'(Stream) :- + '$lgt_compiler_option'(iso_initialization_dir, true), !, - findall(Clause, lgt_rclause_(Clause), Clauses), - (lgt_fentity_init_(Call) -> - write_canonical(Stream, (:- initialization((lgt_assert_relation_clauses(Clauses), Call)))) + findall(Clause, '$lgt_rclause_'(Clause), Clauses), + ('$lgt_fentity_init_'(Call) -> + write_canonical(Stream, (:- initialization(('$lgt_assert_relation_clauses'(Clauses), Call)))) ; - write_canonical(Stream, (:- initialization(lgt_assert_relation_clauses(Clauses))))), + write_canonical(Stream, (:- initialization('$lgt_assert_relation_clauses'(Clauses))))), write(Stream, '.'), nl(Stream). -lgt_write_init_call(Stream) :- - findall(Clause, lgt_rclause_(Clause), Clauses), - write_canonical(Stream, (:- initialization(lgt_assert_relation_clauses(Clauses)))), +'$lgt_write_init_call'(Stream) :- + findall(Clause, '$lgt_rclause_'(Clause), Clauses), + write_canonical(Stream, (:- initialization('$lgt_assert_relation_clauses'(Clauses)))), write(Stream, '.'), nl(Stream), - (lgt_fentity_init_(Call) -> + ('$lgt_fentity_init_'(Call) -> write_canonical(Stream, (:- Call)), write(Stream, '.'), nl(Stream) @@ -4701,112 +4725,112 @@ lgt_write_init_call(Stream) :- -% lgt_assert_tr_entity +% '$lgt_assert_tr_entity' % % adds a dynamically created entity to memory -lgt_assert_tr_entity :- - lgt_assert_directives, - lgt_assert_functors_clause, - lgt_assert_dcl_clauses, - lgt_assert_def_clauses, - lgt_assert_ddef_clauses, - lgt_assert_super_clauses, - lgt_assert_entity_clauses, - lgt_assert_relation_clauses, - lgt_assert_init. +'$lgt_assert_tr_entity' :- + '$lgt_assert_directives', + '$lgt_assert_functors_clause', + '$lgt_assert_dcl_clauses', + '$lgt_assert_def_clauses', + '$lgt_assert_ddef_clauses', + '$lgt_assert_super_clauses', + '$lgt_assert_entity_clauses', + '$lgt_assert_relation_clauses', + '$lgt_assert_init'. -lgt_assert_directives :- - lgt_directive_((dynamic(Functor/Arity))), +'$lgt_assert_directives' :- + '$lgt_directive_'((dynamic(Functor/Arity))), functor(Pred, Functor, Arity), asserta(Pred), retractall(Pred), fail. -lgt_assert_directives :- - lgt_directive_((op(Priority, Specifier, Operators))), +'$lgt_assert_directives' :- + '$lgt_directive_'((op(Priority, Specifier, Operators))), op(Priority, Specifier, Operators), fail. -lgt_assert_directives. +'$lgt_assert_directives'. -lgt_assert_functors_clause :- - lgt_entity_functors_(Clause), +'$lgt_assert_functors_clause' :- + '$lgt_entity_functors_'(Clause), assertz(Clause). -lgt_assert_dcl_clauses :- - lgt_dcl_(Clause), +'$lgt_assert_dcl_clauses' :- + '$lgt_dcl_'(Clause), assertz(Clause), fail. -lgt_assert_dcl_clauses. +'$lgt_assert_dcl_clauses'. -lgt_assert_def_clauses :- - lgt_def_(Clause), +'$lgt_assert_def_clauses' :- + '$lgt_def_'(Clause), assertz(Clause), fail. -lgt_assert_def_clauses. +'$lgt_assert_def_clauses'. -lgt_assert_ddef_clauses :- - lgt_ddef_(Clause), +'$lgt_assert_ddef_clauses' :- + '$lgt_ddef_'(Clause), assertz(Clause), fail. -lgt_assert_ddef_clauses. +'$lgt_assert_ddef_clauses'. -lgt_assert_super_clauses :- - lgt_super_(Clause), +'$lgt_assert_super_clauses' :- + '$lgt_super_'(Clause), assertz(Clause), fail. -lgt_assert_super_clauses. +'$lgt_assert_super_clauses'. -lgt_assert_entity_clauses :- - lgt_feclause_(Clause), +'$lgt_assert_entity_clauses' :- + '$lgt_feclause_'(Clause), assertz(Clause), fail. -lgt_assert_entity_clauses. +'$lgt_assert_entity_clauses'. -lgt_assert_relation_clauses :- - lgt_rclause_(Clause), +'$lgt_assert_relation_clauses' :- + '$lgt_rclause_'(Clause), assertz(Clause), fail. -lgt_assert_relation_clauses. +'$lgt_assert_relation_clauses'. -% lgt_assert_init +% '$lgt_assert_init' % % call any defined initialization goal for a dynamically created entity -lgt_assert_init :- - lgt_fentity_init_(Goal) -> +'$lgt_assert_init' :- + '$lgt_fentity_init_'(Goal) -> once(Goal) ; true. -% lgt_assert_relation_clauses(+list) +% '$lgt_assert_relation_clauses'(+list) % % called when loading a compiled Logtalk entity to update Logtalk % internal tables @@ -4814,42 +4838,44 @@ lgt_assert_init :- % we may be reloading the entity so we must first retract any old % relation clauses before asserting the new ones -lgt_assert_relation_clauses([Clause| Clauses]) :- +'$lgt_assert_relation_clauses'([Clause| Clauses]) :- arg(1, Clause, Entity), - lgt_retract_old_relation_clauses(Entity), - lgt_assert_new_relation_clauses([Clause| Clauses]). + '$lgt_retract_old_relation_clauses'(Entity), + '$lgt_assert_new_relation_clauses'([Clause| Clauses]). -lgt_retract_old_relation_clauses(Entity) :- - retractall(lgt_current_object_(Entity, _, _, _, _)), - retractall(lgt_current_protocol_(Entity, _)), - retractall(lgt_current_category_(Entity, _)), - retractall(lgt_implements_protocol_(Entity, _, _)), - retractall(lgt_imports_category_(Entity, _, _)), - retractall(lgt_instantiates_class_(Entity, _, _)), - retractall(lgt_specializes_class_(Entity, _, _)), - retractall(lgt_extends_protocol_(Entity, _, _)), - retractall(lgt_extends_object_(Entity, _, _)). +'$lgt_retract_old_relation_clauses'(Entity) :- + retractall('$lgt_current_object_'(Entity, _, _, _, _)), + retractall('$lgt_current_protocol_'(Entity, _)), + retractall('$lgt_current_category_'(Entity, _)), + retractall('$lgt_implements_protocol_'(Entity, _, _)), + retractall('$lgt_imports_category_'(Entity, _, _)), + retractall('$lgt_instantiates_class_'(Entity, _, _)), + retractall('$lgt_specializes_class_'(Entity, _, _)), + retractall('$lgt_extends_protocol_'(Entity, _, _)), + retractall('$lgt_extends_object_'(Entity, _, _)). -lgt_assert_new_relation_clauses([]). +'$lgt_assert_new_relation_clauses'([]). -lgt_assert_new_relation_clauses([Clause| Clauses]) :- +'$lgt_assert_new_relation_clauses'([Clause| Clauses]) :- assertz(Clause), - lgt_assert_new_relation_clauses(Clauses). + '$lgt_assert_new_relation_clauses'(Clauses). -% lgt_construct_object_functors(+compound, -atom, -atom, -atom, -atom, -atom, -atom, -atom, -atom) +% '$lgt_construct_object_functors'(+compound, -atom, -atom, -atom, -atom, -atom, -atom, -atom, -atom) % % constructs all the functors used in the compiled code of an object -lgt_construct_object_functors(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef) :- +'$lgt_construct_object_functors'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef) :- + '$lgt_compiler_option'(code_prefix, Code), functor(Obj, Functor, Arity), number_codes(Arity, Codes), atom_codes(Atom, Codes), atom_concat(Functor, Atom, Aux), - atom_concat(Aux, '_', Prefix), + atom_concat(Code, Aux, Aux2), + atom_concat(Aux2, '_', Prefix), atom_concat(Prefix, '_dcl', Dcl), atom_concat(Prefix, '_def', Def), atom_concat(Prefix, '_super', Super), @@ -4860,40 +4886,44 @@ lgt_construct_object_functors(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DD -% lgt_construct_protocol_functors(+compound, -atom, -atom) +% '$lgt_construct_protocol_functors'(+compound, -atom, -atom) % % constructs all the functors used in the compiled code of a protocol -lgt_construct_protocol_functors(Ptc, Prefix, Dcl) :- +'$lgt_construct_protocol_functors'(Ptc, Prefix, Dcl) :- + '$lgt_compiler_option'(code_prefix, Code), functor(Ptc, Functor, Arity), number_codes(Arity, Codes), atom_codes(Atom, Codes), atom_concat(Functor, Atom, Aux), - atom_concat(Aux, '_', Prefix), + atom_concat(Code, Aux, Aux2), + atom_concat(Aux2, '_', Prefix), atom_concat(Prefix, '_dcl', Dcl). -% lgt_construct_category_functors(+compound, -atom, -atom, -atom) +% '$lgt_construct_category_functors'(+compound, -atom, -atom, -atom) % % constructs all the functors used in the compiled code of a category -lgt_construct_category_functors(Ctg, Prefix, Dcl, Def) :- +'$lgt_construct_category_functors'(Ctg, Prefix, Dcl, Def) :- + '$lgt_compiler_option'(code_prefix, Code), functor(Ctg, Functor, Arity), number_codes(Arity, Codes), atom_codes(Atom, Codes), atom_concat(Functor, Atom, Aux), - atom_concat(Aux, '_', Prefix), + atom_concat(Code, Aux, Aux2), + atom_concat(Aux2, '_', Prefix), atom_concat(Prefix, '_dcl', Dcl), atom_concat(Prefix, '_def', Def). -% lgt_construct_predicate_functor(+atom, +atom, +integer, -atom) +% '$lgt_construct_predicate_functor'(+atom, +atom, +integer, -atom) % % constructs the functor used for a compiled predicate -lgt_construct_predicate_functor(EPrefix, Functor, Arity, PPrefix) :- +'$lgt_construct_predicate_functor'(EPrefix, Functor, Arity, PPrefix) :- atom_concat(EPrefix, Functor, Aux), number_codes(Arity, Codes), atom_codes(Atom, Codes), @@ -4901,181 +4931,182 @@ lgt_construct_predicate_functor(EPrefix, Functor, Arity, PPrefix) :- -% lgt_built_in(+callable) +% '$lgt_built_in'(+callable) % % checks if the argument is either a Prolog or Logtalk built-in predicate -lgt_built_in(Pred) :- - lgt_pl_built_in(Pred). +'$lgt_built_in'(Pred) :- + '$lgt_pl_built_in'(Pred). -lgt_built_in(Pred) :- - lgt_lgt_built_in(Pred). +'$lgt_built_in'(Pred) :- + '$lgt_lgt_built_in'(Pred). -% lgt_pl_built_in(+callable) +% '$lgt_pl_built_in'(+callable) % % either host Prolog native built-ins or missing ISO built-ins % that we have defined in the correspondent config file -lgt_pl_built_in(Pred) :- - lgt_predicate_property(Pred, built_in). +'$lgt_pl_built_in'(Pred) :- + '$lgt_predicate_property'(Pred, built_in). -lgt_pl_built_in(Pred) :- - lgt_iso_predicate(Pred). +'$lgt_pl_built_in'(Pred) :- + '$lgt_iso_predicate'(Pred). % logtalk built-in methods % -% lgt_built_in_method(?callable, ?scope) +% '$lgt_built_in_method'(?callable, ?scope) -lgt_built_in_method(parameter(_, _), p). -lgt_built_in_method(self(_), p). -lgt_built_in_method(sender(_), p). -lgt_built_in_method(this(_), p). +'$lgt_built_in_method'(parameter(_, _), p). +'$lgt_built_in_method'(self(_), p). +'$lgt_built_in_method'(sender(_), p). +'$lgt_built_in_method'(this(_), p). -lgt_built_in_method(current_predicate(_), p(p(p))). -lgt_built_in_method(predicate_property(_, _), p(p(p))). +'$lgt_built_in_method'(current_predicate(_), p(p(p))). +'$lgt_built_in_method'(predicate_property(_, _), p(p(p))). -lgt_built_in_method(abolish(_), p(p(p))). -lgt_built_in_method(asserta(_), p(p(p))). -lgt_built_in_method(assertz(_), p(p(p))). -lgt_built_in_method(clause(_, _), p(p(p))). -lgt_built_in_method(retract(_), p(p(p))). -lgt_built_in_method(retractall(_), p(p(p))). +'$lgt_built_in_method'(abolish(_), p(p(p))). +'$lgt_built_in_method'(asserta(_), p(p(p))). +'$lgt_built_in_method'(assertz(_), p(p(p))). +'$lgt_built_in_method'(clause(_, _), p(p(p))). +'$lgt_built_in_method'(retract(_), p(p(p))). +'$lgt_built_in_method'(retractall(_), p(p(p))). -lgt_built_in_method(bagof(_, _, _), p(p(p))). -lgt_built_in_method(findall(_, _, _), p(p(p))). -lgt_built_in_method(forall(_, _), p(p(p))). -lgt_built_in_method(setof(_, _, _), p(p(p))). +'$lgt_built_in_method'(bagof(_, _, _), p(p(p))). +'$lgt_built_in_method'(findall(_, _, _), p(p(p))). +'$lgt_built_in_method'(forall(_, _), p(p(p))). +'$lgt_built_in_method'(setof(_, _, _), p(p(p))). % Logtalk directives % -% lgt_lgt_directive(+atom/+integer) +% '$lgt_lgt_directive'(+atom/+integer) -lgt_lgt_directive(Directive) :- - lgt_lgt_opening_directive(Directive). +'$lgt_lgt_directive'(Directive) :- + '$lgt_lgt_opening_directive'(Directive). -lgt_lgt_directive(Directive) :- - lgt_lgt_closing_directive(Directive). +'$lgt_lgt_directive'(Directive) :- + '$lgt_lgt_closing_directive'(Directive). -lgt_lgt_directive(Directive) :- - lgt_lgt_entity_directive(Directive). +'$lgt_lgt_directive'(Directive) :- + '$lgt_lgt_entity_directive'(Directive). -lgt_lgt_directive(Directive) :- - lgt_lgt_predicate_directive(Directive). +'$lgt_lgt_directive'(Directive) :- + '$lgt_lgt_predicate_directive'(Directive). -lgt_lgt_opening_directive(object/1). -lgt_lgt_opening_directive(object/2). -lgt_lgt_opening_directive(object/3). -lgt_lgt_opening_directive(object/4). +'$lgt_lgt_opening_directive'(object/1). +'$lgt_lgt_opening_directive'(object/2). +'$lgt_lgt_opening_directive'(object/3). +'$lgt_lgt_opening_directive'(object/4). -lgt_lgt_opening_directive(category/1). -lgt_lgt_opening_directive(category/2). +'$lgt_lgt_opening_directive'(category/1). +'$lgt_lgt_opening_directive'(category/2). -lgt_lgt_opening_directive(protocol/1). -lgt_lgt_opening_directive(protocol/2). +'$lgt_lgt_opening_directive'(protocol/1). +'$lgt_lgt_opening_directive'(protocol/2). -lgt_lgt_closing_directive(end_object/0). +'$lgt_lgt_closing_directive'(end_object/0). -lgt_lgt_closing_directive(end_category/0). +'$lgt_lgt_closing_directive'(end_category/0). -lgt_lgt_closing_directive(end_protocol/0). +'$lgt_lgt_closing_directive'(end_protocol/0). -lgt_lgt_entity_directive(calls/N) :- +'$lgt_lgt_entity_directive'(calls/N) :- N >= 1. -lgt_lgt_entity_directive(uses/N) :- +'$lgt_lgt_entity_directive'(uses/N) :- N >= 1. -lgt_lgt_entity_directive((initialization)/1). +'$lgt_lgt_entity_directive'((initialization)/1). -lgt_lgt_entity_directive((dynamic)/N) :- +'$lgt_lgt_entity_directive'((dynamic)/N) :- N =:= 0. -lgt_lgt_entity_directive(op/3). +'$lgt_lgt_entity_directive'(op/3). -lgt_lgt_entity_directive(info/1). -lgt_lgt_entity_directive(info/2). +'$lgt_lgt_entity_directive'(info/1). -lgt_lgt_predicate_directive((dynamic)/N) :- +'$lgt_lgt_predicate_directive'((dynamic)/N) :- N >= 1. -lgt_lgt_predicate_directive(metapredicate/N) :- +'$lgt_lgt_predicate_directive'(metapredicate/N) :- N >= 1. -lgt_lgt_predicate_directive((discontiguous)/N) :- +'$lgt_lgt_predicate_directive'((discontiguous)/N) :- N >= 1. -lgt_lgt_predicate_directive((public)/N) :- +'$lgt_lgt_predicate_directive'((public)/N) :- N >= 1. -lgt_lgt_predicate_directive(protected/N) :- +'$lgt_lgt_predicate_directive'(protected/N) :- N >= 1. -lgt_lgt_predicate_directive(private/N) :- +'$lgt_lgt_predicate_directive'(private/N) :- N >= 1. -lgt_lgt_predicate_directive((mode)/2). +'$lgt_lgt_predicate_directive'((mode)/2). + +'$lgt_lgt_predicate_directive'(info/2). % built-in Prolog metapredicates -lgt_pl_metapredicate(catch(::, *, ::)). +'$lgt_pl_metapredicate'(catch(::, *, ::)). -lgt_pl_metapredicate(bagof(*, ::, *)). -lgt_pl_metapredicate(setof(*, ::, *)). -lgt_pl_metapredicate(findall(*, ::, *)). +'$lgt_pl_metapredicate'(bagof(*, ::, *)). +'$lgt_pl_metapredicate'(setof(*, ::, *)). +'$lgt_pl_metapredicate'(findall(*, ::, *)). -lgt_pl_metapredicate(forall(::, ::)). +'$lgt_pl_metapredicate'(forall(::, ::)). -lgt_pl_metapredicate(call(::)). -lgt_pl_metapredicate(once(::)). +'$lgt_pl_metapredicate'(call(::)). +'$lgt_pl_metapredicate'(once(::)). -lgt_pl_metapredicate(\+ (::)). +'$lgt_pl_metapredicate'(\+ (::)). % utility predicates used during compilation of Logtalk % entities to store and access context information -lgt_context(context(_, _, _, _, _)). +'$lgt_context'(context(_, _, _, _, _)). -lgt_sender(context(Sender, _, _, _, _), Sender). +'$lgt_sender'(context(Sender, _, _, _, _), Sender). -lgt_this(context(_, This, _, _, _), This). +'$lgt_this'(context(_, This, _, _, _), This). -lgt_self(context(_, _, Self, _, _), Self). +'$lgt_self'(context(_, _, Self, _, _), Self). -lgt_prefix(context(_, _, _, Prefix, _), Prefix). +'$lgt_prefix'(context(_, _, _, Prefix, _), Prefix). -lgt_metavars(context(_, _, _, _, Metavars), Metavars). +'$lgt_metavars'(context(_, _, _, _, Metavars), Metavars). -% lgt_convert_to_list(+pi_or_pi_list, -pi_list) +% '$lgt_convert_to_list'(+pi_or_pi_list, -pi_list) -lgt_convert_to_list([[A|B]], [A|B]) :- % predicate indicator list +'$lgt_convert_to_list'([[A|B]], [A|B]) :- % predicate indicator list !. -lgt_convert_to_list([A|B], [A|B]) :- % predicate indicator sequence +'$lgt_convert_to_list'([A|B], [A|B]) :- % predicate indicator sequence !. -lgt_convert_to_list(A, [A]). % single predicate indicator +'$lgt_convert_to_list'(A, [A]). % single predicate indicator -% lgt_valid_pred_ind(@term) +% '$lgt_valid_pred_ind(@term) -lgt_valid_pred_ind(Term) :- +'$lgt_valid_pred_ind'(Term) :- nonvar(Term), Term = Functor/Arity, atom(Functor), @@ -5083,267 +5114,275 @@ lgt_valid_pred_ind(Term) :- Arity >= 0. -% lgt_valid_object_id(@term) +% '$lgt_valid_object_id'(@term) -lgt_valid_object_id(Term) :- +'$lgt_valid_object_id'(Term) :- once((atom(Term); compound(Term))). -% lgt_valid_category_id(@term) +% '$lgt_valid_category_id'(@term) -lgt_valid_category_id(Term) :- +'$lgt_valid_category_id'(Term) :- atom(Term). -% lgt_valid_protocol_id(@term) +% '$lgt_valid_protocol_id'(@term) -lgt_valid_protocol_id(Term) :- +'$lgt_valid_protocol_id'(Term) :- atom(Term). -% lgt_valid_scope(@term) +% '$lgt_valid_scope'(@term) -lgt_valid_scope(Term) :- +'$lgt_valid_scope'(Term) :- nonvar(Term), (Term = (Scope::_) -> nonvar(Scope), - once(lgt_member(Scope, [(public), protected, private])) + once('$lgt_member'(Scope, [(public), protected, private])) ; true). -% lgt_scope_id(+term, -atom, -term) +% '$lgt_scope_id'(+term, -atom, -term) -lgt_scope_id(Scope::Entity, Scope, Entity) :- +'$lgt_scope_id'(Scope::Entity, Scope, Entity) :- !. -lgt_scope_id(Entity, (public), Entity). +'$lgt_scope_id'(Entity, (public), Entity). -% lgt_callable(@term) +% '$lgt_callable'(@term) -lgt_callable(Term) :- +'$lgt_callable'(Term) :- nonvar(Term), functor(Term, Functor, _), atom(Functor). -% lgt_valid_op_priority(@term) +% '$lgt_valid_op_priority'(@term) -lgt_valid_op_priority(Priority) :- +'$lgt_valid_op_priority'(Priority) :- integer(Priority), Priority >= 0, Priority =< 1200. -% lgt_valid_op_specifier(@term) +% '$lgt_valid_op_specifier'(@term) -lgt_valid_op_specifier(Specifier) :- +'$lgt_valid_op_specifier'(Specifier) :- nonvar(Specifier), - once(lgt_member(Specifier, [fx, fy, xfx, xfy, yfx, xf, yf])). + once('$lgt_member'(Specifier, [fx, fy, xfx, xfy, yfx, xf, yf])). -% lgt_valid_op_names(@term) +% '$lgt_valid_op_names'(@term) -lgt_valid_op_names(Operators) :- +'$lgt_valid_op_names'(Operators) :- nonvar(Operators), - lgt_convert_to_list(Operators, List), - forall(lgt_member(Operator, List), atom(Operator)). + '$lgt_convert_to_list'(Operators, List), + forall('$lgt_member'(Operator, List), atom(Operator)). -% lgt_valid_metapred_term(@term) +% '$lgt_valid_metapred_term'(@term) -lgt_valid_metapred_term(Pred) :- +'$lgt_valid_metapred_term'(Pred) :- nonvar(Pred), Pred =.. [_| Args], - forall(lgt_member(Arg, Args), (nonvar(Arg), (Arg = (::); Arg = (*)))). + forall('$lgt_member'(Arg, Args), (nonvar(Arg), (Arg = (::); Arg = (*)))). -% lgt_valid_mode_term(@term) +% '$lgt_valid_mode_term'(@term) -lgt_valid_mode_term(Pred) :- +'$lgt_valid_mode_term'(Pred) :- nonvar(Pred), Pred =.. [_| Args], forall( - lgt_member(Arg, Args), - (nonvar(Arg), functor(Arg, Functor, Arity), Arity =< 1, lgt_member(Functor, [?, +, -, @]))). + '$lgt_member'(Arg, Args), + (nonvar(Arg), functor(Arg, Functor, Arity), Arity =< 1, '$lgt_member'(Functor, [?, +, -, @]))). -% lgt_valid_number_of_solutions(@term) +% '$lgt_valid_number_of_solutions'(@term) -lgt_valid_number_of_solutions(Solutions) :- +'$lgt_valid_number_of_solutions'(Solutions) :- nonvar(Solutions), - once(lgt_member(Solutions, [zero, one, zero_or_one, zero_or_more, one_or_more, error])). + once('$lgt_member'(Solutions, [zero, one, zero_or_one, zero_or_more, one_or_more, error])). -% lgt_valid_info_list(@list) +% '$lgt_valid_info_list'(@list) % % true if the argument is a list of key-value pairs -lgt_valid_info_list([]). +'$lgt_valid_info_list'([]). -lgt_valid_info_list([Head| Tail]) :- +'$lgt_valid_info_list'([Head| Tail]) :- nonvar(Head), Head = (Key is Value), nonvar(Key), nonvar(Value), - lgt_valid_info_list(Tail). + '$lgt_valid_info_list'(Tail). -% lgt_valid_compiler_options(@list) +% '$lgt_valid_compiler_options'(@list) % % true if all compiler options are valid -lgt_valid_compiler_options([]). +'$lgt_valid_compiler_options'([]). -lgt_valid_compiler_options([Option| Options]) :- +'$lgt_valid_compiler_options'([Option| Options]) :- nonvar(Option), - lgt_valid_compiler_option(Option), - lgt_valid_compiler_options(Options). + '$lgt_valid_compiler_option'(Option), + '$lgt_valid_compiler_options'(Options). -% lgt_valid_compiler_option(@nonvar) +% '$lgt_valid_compiler_option'(@nonvar) -lgt_valid_compiler_option(iso_initialization_dir(Option)) :- +'$lgt_valid_compiler_option'(iso_initialization_dir(Option)) :- once((Option == true; Option == false)). -lgt_valid_compiler_option(xml(Option)) :- +'$lgt_valid_compiler_option'(xml(Option)) :- once((Option == on; Option == off)). -lgt_valid_compiler_option(xsl(File)) :- +'$lgt_valid_compiler_option'(xsl(File)) :- atom(File). -lgt_valid_compiler_option(unknown(Option)) :- +'$lgt_valid_compiler_option'(unknown(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(singletons(Option)) :- +'$lgt_valid_compiler_option'(singletons(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(misspelt(Option)) :- +'$lgt_valid_compiler_option'(misspelt(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(lgtredef(Option)) :- +'$lgt_valid_compiler_option'(lgtredef(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(plredef(Option)) :- +'$lgt_valid_compiler_option'(plredef(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(portability(Option)) :- +'$lgt_valid_compiler_option'(portability(Option)) :- once((Option == silent; Option == warning)). -lgt_valid_compiler_option(report(Option)) :- +'$lgt_valid_compiler_option'(report(Option)) :- once((Option == on; Option == off)). -lgt_valid_compiler_option(smart_compilation(Option)) :- +'$lgt_valid_compiler_option'(smart_compilation(Option)) :- once((Option == on; Option == off)). +'$lgt_valid_compiler_option'(named_anonymous_vars(Option)) :- + once((Option == on; Option == off)). + +'$lgt_valid_compiler_option'(code_prefix(Prefix)) :- + atom(Prefix). -% lgt_valid_flag(@nonvar) + +% '$lgt_valid_flag'(@nonvar) % % true if the argument is a valid Logtalk flag -lgt_valid_flag(iso_initialization_dir). -lgt_valid_flag(xml). -lgt_valid_flag(xsl). -lgt_valid_flag(unknown). -lgt_valid_flag(singletons). -lgt_valid_flag(misspelt). -lgt_valid_flag(lgtredef). -lgt_valid_flag(plredef). -lgt_valid_flag(portability). -lgt_valid_flag(report). -lgt_valid_flag(smart_compilation). -lgt_valid_flag(startup_message). -lgt_valid_flag(version). +'$lgt_valid_flag'(iso_initialization_dir). +'$lgt_valid_flag'(xml). +'$lgt_valid_flag'(xsl). +'$lgt_valid_flag'(unknown). +'$lgt_valid_flag'(singletons). +'$lgt_valid_flag'(misspelt). +'$lgt_valid_flag'(lgtredef). +'$lgt_valid_flag'(plredef). +'$lgt_valid_flag'(portability). +'$lgt_valid_flag'(report). +'$lgt_valid_flag'(smart_compilation). +'$lgt_valid_flag'(startup_message). +'$lgt_valid_flag'(version). +'$lgt_valid_flag'(named_anonymous_vars). +'$lgt_valid_flag'(code_prefix). -% lgt_valid_flag(@term, @term) +% '$lgt_valid_flag'(@term, @term) % % true if the argument is a valid Logtalk flag-value pair -lgt_valid_flag(Flag, Value) :- +'$lgt_valid_flag'(Flag, Value) :- atom(Flag), Option =.. [Flag, Value], - lgt_valid_compiler_option(Option). + '$lgt_valid_compiler_option'(Option). -% lgt_read_only_flag(@nonvar) +% '$lgt_read_only_flag'(@nonvar) % % true if the argument is a read only Logtalk flag -lgt_read_only_flag(startup_message). -lgt_read_only_flag(version). +'$lgt_read_only_flag'(startup_message). +'$lgt_read_only_flag'(version). % Logtalk built-in predicates % -% lgt_lgt_built_in(?callable) +% '$lgt_lgt_built_in'(?callable) -lgt_lgt_built_in(::(_, _)). +'$lgt_lgt_built_in'(::(_, _)). -lgt_lgt_built_in(forall(_, _)). -lgt_lgt_built_in(retractall(_)). +'$lgt_lgt_built_in'(forall(_, _)). +'$lgt_lgt_built_in'(retractall(_)). -lgt_lgt_built_in(logtalk_compile(_)). -lgt_lgt_built_in(logtalk_compile(_, _)). -lgt_lgt_built_in(logtalk_load(_)). -lgt_lgt_built_in(logtalk_load(_, _)). +'$lgt_lgt_built_in'(logtalk_compile(_)). +'$lgt_lgt_built_in'(logtalk_compile(_, _)). +'$lgt_lgt_built_in'(logtalk_load(_)). +'$lgt_lgt_built_in'(logtalk_load(_, _)). -lgt_lgt_built_in(logtalk_version(_, _, _)). +'$lgt_lgt_built_in'(logtalk_version(_, _, _)). -lgt_lgt_built_in(protocol_property(_, _)). -lgt_lgt_built_in(category_property(_, _)). -lgt_lgt_built_in(object_property(_, _)). +'$lgt_lgt_built_in'(protocol_property(_, _)). +'$lgt_lgt_built_in'(category_property(_, _)). +'$lgt_lgt_built_in'(object_property(_, _)). -lgt_lgt_built_in(current_protocol(_)). -lgt_lgt_built_in(current_category(_)). -lgt_lgt_built_in(current_object(_)). +'$lgt_lgt_built_in'(current_protocol(_)). +'$lgt_lgt_built_in'(current_category(_)). +'$lgt_lgt_built_in'(current_object(_)). -lgt_lgt_built_in(create_object(_, _, _, _)). -lgt_lgt_built_in(create_category(_, _, _, _)). -lgt_lgt_built_in(create_protocol(_, _, _)). +'$lgt_lgt_built_in'(create_object(_, _, _, _)). +'$lgt_lgt_built_in'(create_category(_, _, _, _)). +'$lgt_lgt_built_in'(create_protocol(_, _, _)). -lgt_lgt_built_in(abolish_object(_)). -lgt_lgt_built_in(abolish_category(_)). -lgt_lgt_built_in(abolish_protocol(_)). +'$lgt_lgt_built_in'(abolish_object(_)). +'$lgt_lgt_built_in'(abolish_category(_)). +'$lgt_lgt_built_in'(abolish_protocol(_)). -lgt_lgt_built_in(implements_protocol(_, _)). -lgt_lgt_built_in(implements_protocol(_, _, _)). -lgt_lgt_built_in(imports_category(_, _)). -lgt_lgt_built_in(imports_category(_, _, _)). -lgt_lgt_built_in(instantiates_class(_, _)). -lgt_lgt_built_in(instantiates_class(_, _, _)). -lgt_lgt_built_in(specializes_class(_, _)). -lgt_lgt_built_in(specializes_class(_, _, _)). -lgt_lgt_built_in(extends_protocol(_, _)). -lgt_lgt_built_in(extends_protocol(_, _, _)). -lgt_lgt_built_in(extends_object(_, _)). -lgt_lgt_built_in(extends_object(_, _, _)). +'$lgt_lgt_built_in'(implements_protocol(_, _)). +'$lgt_lgt_built_in'(implements_protocol(_, _, _)). +'$lgt_lgt_built_in'(imports_category(_, _)). +'$lgt_lgt_built_in'(imports_category(_, _, _)). +'$lgt_lgt_built_in'(instantiates_class(_, _)). +'$lgt_lgt_built_in'(instantiates_class(_, _, _)). +'$lgt_lgt_built_in'(specializes_class(_, _)). +'$lgt_lgt_built_in'(specializes_class(_, _, _)). +'$lgt_lgt_built_in'(extends_protocol(_, _)). +'$lgt_lgt_built_in'(extends_protocol(_, _, _)). +'$lgt_lgt_built_in'(extends_object(_, _)). +'$lgt_lgt_built_in'(extends_object(_, _, _)). -lgt_lgt_built_in(abolish_events(_, _, _, _, _)). -lgt_lgt_built_in(define_events(_, _, _, _, _)). -lgt_lgt_built_in(current_event(_, _, _, _, _)). +'$lgt_lgt_built_in'(abolish_events(_, _, _, _, _)). +'$lgt_lgt_built_in'(define_events(_, _, _, _, _)). +'$lgt_lgt_built_in'(current_event(_, _, _, _, _)). -lgt_lgt_built_in(current_logtalk_flag(_, _)). -lgt_lgt_built_in(set_logtalk_flag(_, _)). +'$lgt_lgt_built_in'(current_logtalk_flag(_, _)). +'$lgt_lgt_built_in'(set_logtalk_flag(_, _)). @@ -5356,122 +5395,122 @@ lgt_lgt_built_in(set_logtalk_flag(_, _)). -% lgt_write_xml_file(+stream) +% '$lgt_write_xml_file'(+stream) % % writes a XML file containing the documentation of a compiled entity -lgt_write_xml_file(Stream) :- - lgt_write_xml_header(Stream), - lgt_write_xml_entity(Stream), - lgt_write_xml_relations(Stream), - lgt_write_xml_predicates(Stream), - lgt_write_xml_footer(Stream). +'$lgt_write_xml_file'(Stream) :- + '$lgt_write_xml_header'(Stream), + '$lgt_write_xml_entity'(Stream), + '$lgt_write_xml_relations'(Stream), + '$lgt_write_xml_predicates'(Stream), + '$lgt_write_xml_footer'(Stream). -lgt_write_xml_header(Stream) :- - lgt_write_xml_open_tag(Stream, '?xml version="1.0"?', []), +'$lgt_write_xml_header'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, '?xml version="1.0"?', []), write(Stream, ''), nl(Stream), - lgt_compiler_option(xsl, XSL), + '$lgt_compiler_option'(xsl, XSL), write(Stream, ''), nl(Stream), - lgt_write_xml_open_tag(Stream, logtalk, []). + '$lgt_write_xml_open_tag'(Stream, logtalk, []). -lgt_write_xml_footer(Stream) :- - lgt_write_xml_close_tag(Stream, logtalk). +'$lgt_write_xml_footer'(Stream) :- + '$lgt_write_xml_close_tag'(Stream, logtalk). -lgt_write_xml_entity(Stream) :- - lgt_entity_(Type, Entity, _, _), - (lgt_entity_comp_mode_((dynamic)) -> Compilation = (dynamic); Compilation = static), - lgt_write_xml_open_tag(Stream, entity, []), - lgt_entity_to_xml_name(Entity, Name), - lgt_write_xml_cdata_element(Stream, name, [], Name), - lgt_write_xml_element(Stream, (type), [], Type), - lgt_write_xml_element(Stream, compilation, [], Compilation), - (lgt_info_(List) -> - (lgt_member(comment is Comment, List) -> - lgt_write_xml_cdata_element(Stream, comment, [], Comment) +'$lgt_write_xml_entity'(Stream) :- + '$lgt_entity_'(Type, Entity, _, _), + ('$lgt_entity_comp_mode_'((dynamic)) -> Compilation = (dynamic); Compilation = static), + '$lgt_write_xml_open_tag'(Stream, entity, []), + '$lgt_entity_to_xml_name'(Entity, Name), + '$lgt_write_xml_cdata_element'(Stream, name, [], Name), + '$lgt_write_xml_element'(Stream, (type), [], Type), + '$lgt_write_xml_element'(Stream, compilation, [], Compilation), + ('$lgt_info_'(List) -> + ('$lgt_member'(comment is Comment, List) -> + '$lgt_write_xml_cdata_element'(Stream, comment, [], Comment) ; true), - (lgt_member(authors is Authors, List) -> - lgt_write_xml_cdata_element(Stream, authors, [], Authors) + ('$lgt_member'(authors is Authors, List) -> + '$lgt_write_xml_cdata_element'(Stream, authors, [], Authors) ; true), - (lgt_member(version is Version, List) -> - lgt_write_xml_element(Stream, version, [], Version) + ('$lgt_member'(version is Version, List) -> + '$lgt_write_xml_element'(Stream, version, [], Version) ; true), - (lgt_member(date is Date, List) -> - lgt_write_xml_element(Stream, date, [], Date) + ('$lgt_member'(date is Date, List) -> + '$lgt_write_xml_element'(Stream, date, [], Date) ; true), forall( - (lgt_member(Key is Value, List), - \+ lgt_member(Key, [comment, authors, version, date, parnames])), - (lgt_write_xml_open_tag(Stream, info, []), - lgt_write_xml_element(Stream, key, [], Key), - lgt_write_xml_cdata_element(Stream, value, [], Value), - lgt_write_xml_close_tag(Stream, info))) + ('$lgt_member'(Key is Value, List), + \+ '$lgt_member'(Key, [comment, authors, version, date, parnames])), + ('$lgt_write_xml_open_tag'(Stream, info, []), + '$lgt_write_xml_element'(Stream, key, [], Key), + '$lgt_write_xml_cdata_element'(Stream, value, [], Value), + '$lgt_write_xml_close_tag'(Stream, info))) ; true), - lgt_write_xml_close_tag(Stream, entity). + '$lgt_write_xml_close_tag'(Stream, entity). -% lgt_entity_to_xml_name(+entity, -nonvar) +% '$lgt_entity_to_xml_name'(+entity, -nonvar) % % instantiates the parameters in a parametric object to % user defined names or to the atom '_' -lgt_entity_to_xml_name(Entity, Name) :- - lgt_info_(List), - lgt_member(parnames is Names, List), +'$lgt_entity_to_xml_name'(Entity, Name) :- + '$lgt_info_'(List), + '$lgt_member'(parnames is Names, List), !, Entity =.. [Functor| Names], Name =.. [Functor| Names]. -lgt_entity_to_xml_name(Entity, Name) :- +'$lgt_entity_to_xml_name'(Entity, Name) :- Entity =.. [Functor| Args], - lgt_vars_to_underscore(Args, Names), + '$lgt_vars_to_underscore'(Args, Names), Name =.. [Functor| Names]. -% lgt_relation_to_xml_name(+entity, +entity, -atom) +% '$lgt_relation_to_xml_name'(+entity, +entity, -atom) % % instantiates the parameters in a related entity taking % in account the parameter sharing with the original entity -lgt_relation_to_xml_name(Entity, Relation, Name) :- - lgt_entity_to_xml_name(Entity, _), +'$lgt_relation_to_xml_name'(Entity, Relation, Name) :- + '$lgt_entity_to_xml_name'(Entity, _), Relation =.. [Functor| Args], - lgt_vars_to_underscore(Args, Names), + '$lgt_vars_to_underscore'(Args, Names), Name =.. [Functor| Names]. -% lgt_vars_to_underscore(+list, -list) +% '$lgt_vars_to_underscore'(+list, -list) % % instantiates the variables in the input list to the atom '_' -lgt_vars_to_underscore([], []). +'$lgt_vars_to_underscore'([], []). -lgt_vars_to_underscore([Arg| Args], [Name| Names]) :- +'$lgt_vars_to_underscore'([Arg| Args], [Name| Names]) :- (var(Arg) -> Name = '_'; Name = Arg), - lgt_vars_to_underscore(Args, Names). + '$lgt_vars_to_underscore'(Args, Names). -% lgt_relation_to_xml_filename(+entity, -atom) +% '$lgt_relation_to_xml_filename'(+entity, -atom) % % needed to build filenames in links to parametric objects -lgt_relation_to_xml_filename(Relation, File) :- +'$lgt_relation_to_xml_filename'(Relation, File) :- atom(Relation) -> File = Relation ; @@ -5482,202 +5521,202 @@ lgt_relation_to_xml_filename(Relation, File) :- -% lgt_write_xml_predicates(+stream) +% '$lgt_write_xml_predicates'(+stream) % % writes the predicate documentation -lgt_write_xml_predicates(Stream) :- - lgt_write_xml_open_tag(Stream, predicates, []), - lgt_write_xml_public_predicates(Stream), - lgt_write_xml_protected_predicates(Stream), - lgt_write_xml_private_predicates(Stream), - lgt_write_xml_close_tag(Stream, predicates). +'$lgt_write_xml_predicates'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, predicates, []), + '$lgt_write_xml_public_predicates'(Stream), + '$lgt_write_xml_protected_predicates'(Stream), + '$lgt_write_xml_private_predicates'(Stream), + '$lgt_write_xml_close_tag'(Stream, predicates). -% lgt_write_xml_public_predicates(+stream) +% '$lgt_write_xml_public_predicates'(+stream) % % writes the documentation of public predicates -lgt_write_xml_public_predicates(Stream) :- - lgt_write_xml_open_tag(Stream, (public), []), - lgt_public_(Functor/Arity), - lgt_write_xml_predicate(Stream, Functor/Arity, (public)), +'$lgt_write_xml_public_predicates'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, (public), []), + '$lgt_public_'(Functor/Arity), + '$lgt_write_xml_predicate'(Stream, Functor/Arity, (public)), fail. -lgt_write_xml_public_predicates(Stream) :- - lgt_write_xml_close_tag(Stream, (public)). +'$lgt_write_xml_public_predicates'(Stream) :- + '$lgt_write_xml_close_tag'(Stream, (public)). -% lgt_write_xml_protected_predicates(+stream) +% '$lgt_write_xml_protected_predicates'(+stream) % % writes the documentation protected predicates -lgt_write_xml_protected_predicates(Stream) :- - lgt_write_xml_open_tag(Stream, protected, []), - lgt_protected_(Functor/Arity), - lgt_write_xml_predicate(Stream, Functor/Arity, protected), +'$lgt_write_xml_protected_predicates'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, protected, []), + '$lgt_protected_'(Functor/Arity), + '$lgt_write_xml_predicate'(Stream, Functor/Arity, protected), fail. -lgt_write_xml_protected_predicates(Stream) :- - lgt_write_xml_close_tag(Stream, protected). +'$lgt_write_xml_protected_predicates'(Stream) :- + '$lgt_write_xml_close_tag'(Stream, protected). -% lgt_write_xml_private_predicates(+stream) +% '$lgt_write_xml_private_predicates'(+stream) % % writes the documentation of private predicates -lgt_write_xml_private_predicates(Stream) :- - lgt_write_xml_open_tag(Stream, private, []), - lgt_private_(Functor/Arity), - lgt_write_xml_predicate(Stream, Functor/Arity, private), +'$lgt_write_xml_private_predicates'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, private, []), + '$lgt_private_'(Functor/Arity), + '$lgt_write_xml_predicate'(Stream, Functor/Arity, private), fail. -lgt_write_xml_private_predicates(Stream) :- - lgt_write_xml_close_tag(Stream, private). +'$lgt_write_xml_private_predicates'(Stream) :- + '$lgt_write_xml_close_tag'(Stream, private). -% lgt_write_xml_predicate(+stream, +atom/+integer, +term) +% '$lgt_write_xml_predicate'(+stream, +atom/+integer, +term) % % writes the documentation of a predicate -lgt_write_xml_predicate(Stream, Functor/Arity, Scope) :- - ((lgt_entity_comp_mode_((dynamic)); lgt_dynamic_(Functor/Arity)) -> +'$lgt_write_xml_predicate'(Stream, Functor/Arity, Scope) :- + (('$lgt_entity_comp_mode_'((dynamic)); '$lgt_dynamic_'(Functor/Arity)) -> Compilation = (dynamic) ; Compilation = static), - lgt_write_xml_open_tag(Stream, predicate, []), - lgt_write_xml_cdata_element(Stream, name, [], Functor/Arity), - lgt_write_xml_element(Stream, scope, [], Scope), - lgt_write_xml_element(Stream, compilation, [], Compilation), + '$lgt_write_xml_open_tag'(Stream, predicate, []), + '$lgt_write_xml_cdata_element'(Stream, name, [], Functor/Arity), + '$lgt_write_xml_element'(Stream, scope, [], Scope), + '$lgt_write_xml_element'(Stream, compilation, [], Compilation), functor(Meta, Functor, Arity), - (lgt_metapredicate_(Meta) -> - lgt_write_xml_cdata_element(Stream, meta, [], Meta) + ('$lgt_metapredicate_'(Meta) -> + '$lgt_write_xml_cdata_element'(Stream, meta, [], Meta) ; true), functor(Template, Functor, Arity), forall( - lgt_mode_(Template, Solutions), - (lgt_write_xml_open_tag(Stream, (mode), []), - lgt_write_xml_cdata_element(Stream, template, [], Template), - lgt_write_xml_element(Stream, solutions, [], Solutions), - lgt_write_xml_close_tag(Stream, (mode)))), - ((lgt_info_(Functor/Arity, List), lgt_member(comment is Comment, List)) -> - lgt_write_xml_cdata_element(Stream, comment, [], Comment) + '$lgt_mode_'(Template, Solutions), + ('$lgt_write_xml_open_tag'(Stream, (mode), []), + '$lgt_write_xml_cdata_element'(Stream, template, [], Template), + '$lgt_write_xml_element'(Stream, solutions, [], Solutions), + '$lgt_write_xml_close_tag'(Stream, (mode)))), + (('$lgt_info_'(Functor/Arity, List), '$lgt_member'(comment is Comment, List)) -> + '$lgt_write_xml_cdata_element'(Stream, comment, [], Comment) ; true), - ((lgt_info_(Functor/Arity, List), lgt_member(argnames is Names, List)) -> + (('$lgt_info_'(Functor/Arity, List), '$lgt_member'(argnames is Names, List)) -> Template =.. [Functor| Names], - lgt_write_xml_cdata_element(Stream, template, [], Template) + '$lgt_write_xml_cdata_element'(Stream, template, [], Template) ; true), forall( - (lgt_info_(Functor/Arity, List), - lgt_member(Key is Value, List), - \+ lgt_member(Key, [comment, argnames])), - (lgt_write_xml_open_tag(Stream, info, []), - lgt_write_xml_element(Stream, key, [], Key), - lgt_write_xml_cdata_element(Stream, value, [], Value), - lgt_write_xml_close_tag(Stream, info))), - lgt_write_xml_close_tag(Stream, predicate). + ('$lgt_info_'(Functor/Arity, List), + '$lgt_member'(Key is Value, List), + \+ '$lgt_member'(Key, [comment, argnames])), + ('$lgt_write_xml_open_tag'(Stream, info, []), + '$lgt_write_xml_element'(Stream, key, [], Key), + '$lgt_write_xml_cdata_element'(Stream, value, [], Value), + '$lgt_write_xml_close_tag'(Stream, info))), + '$lgt_write_xml_close_tag'(Stream, predicate). -lgt_write_xml_relations(Stream) :- - lgt_write_xml_open_tag(Stream, relations, []), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_write_xml_open_tag'(Stream, relations, []), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_implements_protocol_(Entity, Ptc, Scope)), - lgt_write_xml_relation(Stream, Entity, Ptc, implements, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_implements_protocol_'(Entity, Ptc, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Ptc, implements, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_imports_category_(Entity, Ctg, Scope)), - lgt_write_xml_relation(Stream, Entity, Ctg, imports, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_imports_category_'(Entity, Ctg, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Ctg, imports, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_extends_object_(Entity, Parent, Scope)), - lgt_write_xml_relation(Stream, Entity, Parent, extends, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_extends_object_'(Entity, Parent, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Parent, extends, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_instantiates_class_(Entity, Class, Scope)), - lgt_write_xml_relation(Stream, Entity, Class, instantiates, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_instantiates_class_'(Entity, Class, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Class, instantiates, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_specializes_class_(Entity, Superclass, Scope)), - lgt_write_xml_relation(Stream, Entity, Superclass, specializes, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_specializes_class_'(Entity, Superclass, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Superclass, specializes, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_rclause_(lgt_extends_protocol_(Entity, Ptc, Scope)), - lgt_write_xml_relation(Stream, Entity, Ptc, extends, Scope), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_rclause_'('$lgt_extends_protocol_'(Entity, Ptc, Scope)), + '$lgt_write_xml_relation'(Stream, Entity, Ptc, extends, Scope), fail. -lgt_write_xml_relations(Stream) :- - lgt_entity_(_, Entity, _, _), - lgt_uses_(Obj), - lgt_write_xml_relation(Stream, Entity, Obj, uses), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_entity_'(_, Entity, _, _), + '$lgt_uses_'(Obj), + '$lgt_write_xml_relation'(Stream, Entity, Obj, uses), fail. -lgt_write_xml_relations(Stream) :- - lgt_entity_(_, Entity, _, _), - lgt_calls_(Ptc), - lgt_write_xml_relation(Stream, Entity, Ptc, calls), +'$lgt_write_xml_relations'(Stream) :- + '$lgt_entity_'(_, Entity, _, _), + '$lgt_calls_'(Ptc), + '$lgt_write_xml_relation'(Stream, Entity, Ptc, calls), fail. -lgt_write_xml_relations(Stream) :- - lgt_write_xml_close_tag(Stream, relations). +'$lgt_write_xml_relations'(Stream) :- + '$lgt_write_xml_close_tag'(Stream, relations). -lgt_write_xml_relation(Stream, Entity, Relation, Tag, Scope) :- - lgt_relation_to_xml_name(Entity, Relation, Name), - lgt_relation_to_xml_filename(Relation, File), - lgt_write_xml_open_tag(Stream, Tag, []), - lgt_write_xml_cdata_element(Stream, name, [], Name), - lgt_write_xml_element(Stream, scope, [], Scope), - lgt_write_xml_cdata_element(Stream, file, [], File), - lgt_write_xml_close_tag(Stream, Tag). +'$lgt_write_xml_relation'(Stream, Entity, Relation, Tag, Scope) :- + '$lgt_relation_to_xml_name'(Entity, Relation, Name), + '$lgt_relation_to_xml_filename'(Relation, File), + '$lgt_write_xml_open_tag'(Stream, Tag, []), + '$lgt_write_xml_cdata_element'(Stream, name, [], Name), + '$lgt_write_xml_element'(Stream, scope, [], Scope), + '$lgt_write_xml_cdata_element'(Stream, file, [], File), + '$lgt_write_xml_close_tag'(Stream, Tag). -lgt_write_xml_relation(Stream, Entity, Relation, Tag) :- - lgt_relation_to_xml_name(Entity, Relation, Name), - lgt_relation_to_xml_filename(Relation, File), - lgt_write_xml_open_tag(Stream, Tag, []), - lgt_write_xml_cdata_element(Stream, name, [], Name), - lgt_write_xml_cdata_element(Stream, file, [], File), - lgt_write_xml_close_tag(Stream, Tag). +'$lgt_write_xml_relation'(Stream, Entity, Relation, Tag) :- + '$lgt_relation_to_xml_name'(Entity, Relation, Name), + '$lgt_relation_to_xml_filename'(Relation, File), + '$lgt_write_xml_open_tag'(Stream, Tag, []), + '$lgt_write_xml_cdata_element'(Stream, name, [], Name), + '$lgt_write_xml_cdata_element'(Stream, file, [], File), + '$lgt_write_xml_close_tag'(Stream, Tag). -% lgt_write_xml_open_tag(@stream, @atom, @list) +% '$lgt_write_xml_open_tag'(@stream, @atom, @list) % % writes