doc changes
This commit is contained in:
parent
dce3e7a1bc
commit
c440ab239b
@ -367,7 +367,7 @@ SUBGROUPING = YES
|
|||||||
# SEPARATE_MEMBER_PAGES.
|
# SEPARATE_MEMBER_PAGES.
|
||||||
# The default value is: NO.
|
# The default value is: NO.
|
||||||
|
|
||||||
INLINE_GROUPED_CLASSES = NO
|
INLINE_GROUPED_CLASSES = YES
|
||||||
|
|
||||||
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
|
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
|
||||||
# with only public data fields or simple typedef fields will be shown inline in
|
# with only public data fields or simple typedef fields will be shown inline in
|
||||||
@ -551,7 +551,7 @@ SORT_MEMBER_DOCS = YES
|
|||||||
# this will also influence the order of the classes in the class list.
|
# this will also influence the order of the classes in the class list.
|
||||||
# The default value is: NO.
|
# The default value is: NO.
|
||||||
|
|
||||||
SORT_BRIEF_DOCS = NO
|
SORT_BRIEF_DOCS = YES
|
||||||
|
|
||||||
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
|
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
|
||||||
# (brief and detailed) documentation of class members so that constructors and
|
# (brief and detailed) documentation of class members so that constructors and
|
||||||
@ -563,7 +563,7 @@ SORT_BRIEF_DOCS = NO
|
|||||||
# detailed member documentation.
|
# detailed member documentation.
|
||||||
# The default value is: NO.
|
# The default value is: NO.
|
||||||
|
|
||||||
SORT_MEMBERS_CTORS_1ST = NO
|
SORT_MEMBERS_CTORS_1ST = yes
|
||||||
|
|
||||||
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
|
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
|
||||||
# of group names into alphabetical order. If set to NO the group names will
|
# of group names into alphabetical order. If set to NO the group names will
|
||||||
@ -655,7 +655,7 @@ SHOW_FILES = YES
|
|||||||
# Folder Tree View (if specified).
|
# Folder Tree View (if specified).
|
||||||
# The default value is: YES.
|
# The default value is: YES.
|
||||||
|
|
||||||
SHOW_NAMESPACES = NO
|
SHOW_NAMESPACES = YES
|
||||||
|
|
||||||
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
|
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
|
||||||
# doxygen should invoke to get the current version for each file (typically from
|
# doxygen should invoke to get the current version for each file (typically from
|
||||||
@ -771,7 +771,6 @@ WARN_LOGFILE =
|
|||||||
|
|
||||||
INPUT = foreigns.yap docs/yap.md pl swi C H include os packages library CXX OPTYap
|
INPUT = foreigns.yap docs/yap.md pl swi C H include os packages library CXX OPTYap
|
||||||
|
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||||
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
|
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
|
||||||
@ -1602,7 +1601,7 @@ MAKEINDEX_CMD_NAME = makeindex
|
|||||||
# The default value is: NO.
|
# The default value is: NO.
|
||||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||||
|
|
||||||
COMPACT_LATEX = NO
|
COMPACT_LATEX = YES
|
||||||
|
|
||||||
# The PAPER_TYPE tag can be used to set the paper type that is used by the
|
# The PAPER_TYPE tag can be used to set the paper type that is used by the
|
||||||
# printer.
|
# printer.
|
||||||
@ -1723,7 +1722,9 @@ GENERATE_RTF = NO
|
|||||||
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
|
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
|
||||||
# it.
|
# it.
|
||||||
# The default directory is: rtf.
|
# The default directory is: rtf.
|
||||||
# This tag requires that the tag GENERATE_RTF is set to YES.
|
# This tag requires that the tag GENERATE_RTb
|
||||||
|
|
||||||
|
F is set to YES.
|
||||||
|
|
||||||
RTF_OUTPUT = rtf
|
RTF_OUTPUT = rtf
|
||||||
|
|
@ -252,7 +252,7 @@ You can also use the CUDD interface package in YAP. You will need to
|
|||||||
|
|
||||||
2. If a Mac user, there is a ports package.
|
2. If a Mac user, there is a ports package.
|
||||||
|
|
||||||
3 Otherwise, you can obtain the version at . This version compiles under WIN32.
|
3. Otherwise, you can obtain the version at . This version compiles under WIN32.
|
||||||
|
|
||||||
Last, when you configure YAP you need to add the options --with-cidd --enable-bddlib. Binary distributed versions already have the interface.
|
Last, when you configure YAP you need to add the options --with-cidd --enable-bddlib. Binary distributed versions already have the interface.
|
||||||
|
|
||||||
@ -291,8 +291,10 @@ Instead of probabilities every fact has a t( ) prefix. The t stands for tunable
|
|||||||
~~~~
|
~~~~
|
||||||
t(0.5)::heads(_).
|
t(0.5)::heads(_).
|
||||||
~~~~
|
~~~~
|
||||||
|
*/
|
||||||
|
|
||||||
### ProbLog Predicates
|
/** @defgroup ProbLogPredicates ProbLog Predicates
|
||||||
|
@ingroup ProbLog1
|
||||||
|
|
||||||
This chapter describes the predicates defined by ProbLog for evaluating the probability of queries.
|
This chapter describes the predicates defined by ProbLog for evaluating the probability of queries.
|
||||||
|
|
||||||
@ -347,8 +349,12 @@ This predicate returns the lower and upper bound of the probability of achieving
|
|||||||
This predicate returns the lower bound of the probability of achieving the goal G obtained by cutting the sld tree at the given probability for each branch.
|
This predicate returns the lower bound of the probability of achieving the goal G obtained by cutting the sld tree at the given probability for each branch.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
### ProbLog Parameter Learning Predicates
|
@defgroup ProbLogParameterLearning ProbLog Parameter Learning Predicates
|
||||||
|
@ingroup ProbLog1
|
||||||
|
@{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -371,7 +377,7 @@ Test examples are ignored during learning but are used afterwards to check the p
|
|||||||
* @pred do_learning(+N).
|
* @pred do_learning(+N).
|
||||||
*
|
*
|
||||||
Starts the learning algorithm with N iterations.
|
Starts the learning algorithm with N iterations.
|
||||||
paragraph{}
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -381,7 +387,15 @@ The output is created in the output subfolder of the current folder where YAP wa
|
|||||||
|
|
||||||
Starts the learning algorithm. The learning will stop after N iterations or if the difference of the Mean Squared Error (MSE) between two iterations gets smaller than Epsilon - depending on what happens first.
|
Starts the learning algorithm. The learning will stop after N iterations or if the difference of the Mean Squared Error (MSE) between two iterations gets smaller than Epsilon - depending on what happens first.
|
||||||
|
|
||||||
### Miscelaneous
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
|
|
||||||
|
/** @defgroup ProbLogMiscellaneous ProbLog Miscellaneous Predicates
|
||||||
|
@ingroup ProbLog1
|
||||||
|
@{
|
||||||
|
|
||||||
|
|
||||||
Both the learning and the inference module have various parameters, or flags, that can be adjusted by the user.
|
Both the learning and the inference module have various parameters, or flags, that can be adjusted by the user.
|
||||||
The following predicates are defined by ProbLog to access and set these flags.
|
The following predicates are defined by ProbLog to access and set these flags.
|
||||||
@ -395,11 +409,9 @@ This predicate lists all the flags name, value, domain and description.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/** @pred problog_flag(+Name, -Value)
|
||||||
* @pred problog_flag(+Name, -Value)
|
|
||||||
*
|
|
||||||
This predicate gives the value of the flag with the specified name. The supported flags are:
|
|
||||||
|
|
||||||
|
This predicate gives the value of the flag with the specified name. The supported flags are:
|
||||||
|
|
||||||
+ use_db_trie
|
+ use_db_trie
|
||||||
|
|
||||||
@ -461,7 +473,7 @@ The possible values for this flag are true or false.
|
|||||||
Flag that sets the representation of the ancestor list.
|
Flag that sets the representation of the ancestor list.
|
||||||
The possible values for this flag are list or integer
|
The possible values for this flag are list or integer
|
||||||
|
|
||||||
+ max\cccccccccccc_depth
|
+ max_depth
|
||||||
|
|
||||||
Sets the maximum proof depth.
|
Sets the maximum proof depth.
|
||||||
The possible values for this flag are any integer.
|
The possible values for this flag are any integer.
|
||||||
@ -478,8 +490,7 @@ The possible values for this flag are any integer greater than zero.
|
|||||||
|
|
||||||
+ min_mc_samples
|
+ min_mc_samples
|
||||||
|
|
||||||
Flag related to Monte Carlo Sampling that sets the minimum number of samples before convergence.
|
Flag related to Monte Carlo Sampling that sets the minimum number of samples before convergence. The possible values for this flag are any integer greater than or equal to zero.
|
||||||
The possible values for this flag are any integer greater than or equal to zero.
|
|
||||||
|
|
||||||
+ max_mc_samples
|
+ max_mc_samples
|
||||||
|
|
||||||
@ -591,6 +602,8 @@ The possible values for this flag are true or false.
|
|||||||
Flag telling the location of the output files directory.
|
Flag telling the location of the output files directory.
|
||||||
The possible values for this flag are any valid directory name.
|
The possible values for this flag are any valid directory name.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
/** @pred set_problog_flag(+Name, +Value)
|
/** @pred set_problog_flag(+Name, +Value)
|
||||||
|
|
||||||
the predicate sets the value of the given flag. The supported flags are the ones listed in above
|
the predicate sets the value of the given flag. The supported flags are the ones listed in above
|
||||||
@ -601,7 +614,7 @@ the predicate sets the value of the given flag. The supported flags are the ones
|
|||||||
the predicate sets the value of the given flag. The supported flags are the ones listed in above
|
the predicate sets the value of the given flag. The supported flags are the ones listed in above
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @pred learning_flag(+Name, -Value)}
|
/** @pred learning_flag(+Name, -Value)
|
||||||
|
|
||||||
This predicate gives the value of the learning flag with the specified name. The supported flags are:
|
This predicate gives the value of the learning flag with the specified name. The supported flags are:
|
||||||
|
|
||||||
|
@ -146,10 +146,11 @@ statistics from the MYDDAS system;
|
|||||||
This option is only available in MySQL. It enables the option to interact with the MySQL server in
|
This option is only available in MySQL. It enables the option to interact with the MySQL server in
|
||||||
two different ways. As if we were on the MySQL Client Shell, and as if
|
two different ways. As if we were on the MySQL Client Shell, and as if
|
||||||
we were using Datalog.
|
we were using Datalog.
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
/** @defgroup MYDDAS_Architecture MYDDAS Architecture
|
/** @defgroup MYDDAS_Architecture MYDDAS Architecture
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
@ -202,15 +203,18 @@ FROM 'phonebook' A
|
|||||||
WHERE A.Name = 'John Doe';
|
WHERE A.Name = 'John Doe';
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup View_Level_Interface View Level Interface
|
/** @defgroup View_Level_Interface View Level Interface
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
@pred db view(+,+,+).
|
@pred db view(+,+,+).
|
||||||
|
|
||||||
|
|
||||||
@ -302,16 +306,17 @@ FROM Edge A WHERE A.attr1 = 10;
|
|||||||
To know how to use db `view/3`, please refer to Draxler's Prolog to
|
To know how to use db `view/3`, please refer to Draxler's Prolog to
|
||||||
SQL Compiler Manual.
|
SQL Compiler Manual.
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
/** @defgroup Accessing_Tables_in_Data_Sources_Using_SQL Accessing Tables in Data Sources Using SQL
|
/** @defgroup Accessing_Tables_in_Data_Sources_Using_SQL Accessing Tables in Data Sources Using SQL
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
@pred db_sql(+,+,?).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_sql(+,+,?).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -336,12 +341,17 @@ Example:
|
|||||||
LA = ['D','John Doe',123456789] ?
|
LA = ['D','John Doe',123456789] ?
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@section Insertion_of_Rows Insertion of Rows
|
*/
|
||||||
|
|
||||||
@pred db_assert(+,+).
|
%% @}
|
||||||
|
|
||||||
|
/** @defgroup Insertion_of_Rows Insertion of Rows
|
||||||
|
@ingroup MYDDAS
|
||||||
|
@{
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @pred db_assert(+,+).
|
||||||
@pred db_assert(+).
|
@pred db_assert(+).
|
||||||
|
|
||||||
|
|
||||||
@ -385,10 +395,9 @@ yes
|
|||||||
Would insert the row: `A,null value,31` into the relation
|
Would insert the row: `A,null value,31` into the relation
|
||||||
`Hello World`, assuming that the second row allows null values.
|
`Hello World`, assuming that the second row allows null values.
|
||||||
|
|
||||||
@pred db insert(+,+,+).
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @pred db insert(+,+,+).
|
||||||
@pred db insert(+,+).
|
@pred db insert(+,+).
|
||||||
|
|
||||||
|
|
||||||
@ -412,15 +421,17 @@ yes
|
|||||||
yes
|
yes
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
/** @defgroup Types_of_Attributes Types of AttributesL
|
/** @defgroup Types_of_Attributes Types of AttributesL
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
@pred db_get_attributes_types(+,+,?).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_get_attributes_types(+,+,?).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -448,20 +459,18 @@ yes
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
where <tt>Hello World</tt> is the name of the relation and <tt>myddas</tt> is the
|
where <tt>Hello World</tt> is the name of the relation and <tt>myddas</tt> is the
|
||||||
connection identifier.
|
connection identifier.
|
||||||
|
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup Number_of_Fields Number of Fields
|
/** @defgroup Number_of_Fields Number of Fields
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
@pred db_number_of_fields(+,?).
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @pred db_number_of_fields(+,?).
|
||||||
@pred db_number_of_fields(+,+,?).
|
@pred db_number_of_fields(+,+,?).
|
||||||
|
|
||||||
|
|
||||||
@ -486,18 +495,18 @@ where `Hello World` is the name of the
|
|||||||
relation and `myddas` is the connection identifier.
|
relation and `myddas` is the connection identifier.
|
||||||
|
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup Describing_a_Relation Describing a Relation
|
/** @defgroup Describing_a_Relation Describing a Relation
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
@pred db_datalog_describe(+,+).
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @pred db_datalog_describe(+,+).
|
||||||
@pred db_datalog_describe(+).
|
@pred db_datalog_describe(+).
|
||||||
|
|
||||||
|
|
||||||
@ -518,7 +527,9 @@ command, the same way as `DESCRIBE` in the MySQL prompt would.
|
|||||||
yes
|
yes
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@pred db_describe(+,+).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_describe(+,+).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -538,15 +549,17 @@ no
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
%% @}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup Enumerating_Relations Enumeration Relations Describing_a_Relation Describing a Relation
|
/** @defgroup Enumerating_Relations Enumeration Relations Describing_a_Relation Describing a Relation
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
@pred db_datalog_show_tables(+).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_datalog_show_tables(+).
|
||||||
@pred db_datalog_show_tables
|
@pred db_datalog_show_tables
|
||||||
|
|
||||||
|
|
||||||
@ -565,7 +578,9 @@ it does not returns any value, but instead prints to the screen the result of th
|
|||||||
yes
|
yes
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@pred db_show_tables(+, ?).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_show_tables(+, ?).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -584,19 +599,19 @@ Table = table('Hello World') ? ;
|
|||||||
no
|
no
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%%@}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup The_MYDDAS_MySQL_Top_Level The MYDDAS MySQL Top Level
|
/** @defgroup The_MYDDAS_MySQL_Top_Level The MYDDAS MySQL Top Level
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
@pred db_top_level(+,+,+,+,+).
|
@pred db_top_level(+,+,+,+,+).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pred db_top_level(+,+,+,+).
|
@pred db_top_level(+,+,+,+).
|
||||||
|
|
||||||
|
|
||||||
@ -644,18 +659,19 @@ Bye
|
|||||||
yes
|
yes
|
||||||
?-
|
?-
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@}
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%%@}
|
||||||
|
|
||||||
|
|
||||||
/** @defgroup Other_MYDDAS_Properties Other MYDDAS Properties
|
/** @defgroup Other_MYDDAS_Properties Other MYDDAS Properties
|
||||||
@ingroup MYDDAS
|
@ingroup MYDDAS
|
||||||
@{
|
@{
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
@pred db_verbose(+).
|
@pred db_verbose(+).
|
||||||
@pred db_top_level(+,+,+,+).
|
|
||||||
|
|
||||||
|
|
||||||
When we ask a question to YAP, using a predicate asserted by
|
When we ask a question to YAP, using a predicate asserted by
|
||||||
@ -670,8 +686,16 @@ yes
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
If we want to
|
If we want to
|
||||||
disable this feature, we must call the `db_verbose/1` predicate with the value 0.
|
disable this feature, we must call the `db_verbose/1` predicate with the value 0.
|
||||||
|
\
|
||||||
|
*/
|
||||||
|
|
||||||
@pred db_module(?).
|
/**
|
||||||
|
@pred db_top_level(+,+,+,+).
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @pred db_module(?).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -707,11 +731,9 @@ yes
|
|||||||
?-
|
?-
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@pred db_my_result_set(?).
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @pred db_my_result_set(?).
|
||||||
|
|
||||||
The MySQL C API permits two modes for transferring the data generated by
|
The MySQL C API permits two modes for transferring the data generated by
|
||||||
a query to the client, in our case YAP. The first mode, and the default
|
a query to the client, in our case YAP. The first mode, and the default
|
||||||
@ -736,7 +758,9 @@ After this command, all
|
|||||||
of the database predicates will use use result by default. We can change
|
of the database predicates will use use result by default. We can change
|
||||||
this by doing again `db_my_result_set(store_result)`.
|
this by doing again `db_my_result_set(store_result)`.
|
||||||
|
|
||||||
@pred db_my_sql_mode(+Conn,?SQL_Mode).
|
*/
|
||||||
|
|
||||||
|
/** @pred db_my_sql_mode(+Conn,?SQL_Mode).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -758,6 +782,8 @@ You can see the available SQL Modes at the MySQL homepage at
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
%% @}
|
||||||
|
|
||||||
#ifdef MYDDAS_TOP_LEVEL
|
#ifdef MYDDAS_TOP_LEVEL
|
||||||
:- use_module(myddas_top_level,[
|
:- use_module(myddas_top_level,[
|
||||||
db_top_level/4,
|
db_top_level/4,
|
||||||
|
71
pl/boot.yap
71
pl/boot.yap
@ -24,25 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/** @pred :_P_ , :_Q_ is iso
|
|
||||||
|
|
||||||
|
|
||||||
Conjunction of goals (and).
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
p(X) :- q(X), r(X).
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
should be read as "p( _X_) if q( _X_) and r( _X_)".
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @pred :_P_ ; :_Q_ is iso
|
/** @pred :_P_ ; :_Q_ is iso
|
||||||
|
|
||||||
|
|
||||||
Disjunction of goals (or).
|
Disjunction of goals (or).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@ -56,7 +39,7 @@ should be read as "p( _X_) if q( _X_) or r( _X_)".
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** @pred \+ :_P_ is iso
|
/** @pred \+ :_P_ is iso
|
||||||
|
Negation by failure.
|
||||||
|
|
||||||
Goal _P_ is not provable. The execution of this predicate fails if
|
Goal _P_ is not provable. The execution of this predicate fails if
|
||||||
and only if the goal _P_ finitely succeeds. It is not a true logical
|
and only if the goal _P_ finitely succeeds. It is not a true logical
|
||||||
@ -65,12 +48,19 @@ negation, which is impossible in standard Prolog, but
|
|||||||
|
|
||||||
This predicate might be defined as:
|
This predicate might be defined as:
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
\+(P) :- P, !, fail.
|
\+(P) :- P, !, fail.
|
||||||
\+(_).
|
\+(_).
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
if _P_ did not include "cuts".
|
if _P_ did not include "cuts".
|
||||||
|
|
||||||
|
If _P_ includes cuts, the cuts are defined to be scoped by _P_: they canno cut over the calling prredicate.
|
||||||
|
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
go(P).
|
||||||
|
:- \+ P, !, fail.
|
||||||
|
\+(_).
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -89,7 +79,7 @@ versions of YAP. Uses of not/1 should be replaced by
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** @pred :_P_ -> :_Q_ is iso
|
/** @pred :_Condition__ -> :_Action_ is iso
|
||||||
|
|
||||||
|
|
||||||
Read as "if-then-else" or "commit". This operator is similar to the
|
Read as "if-then-else" or "commit". This operator is similar to the
|
||||||
@ -137,13 +127,18 @@ arguments.
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @pred :_Condition_ *-> :_Action_
|
/** @pred :_Condition_ *-> :_Action_ is iso
|
||||||
|
|
||||||
This construct implements the so-called <em>soft-cut</em>. The control is
|
This construct implements the so-called <em>soft-cut</em>. The control is
|
||||||
defined as follows: If _Condition_ succeeds at least once, the
|
defined as follows:
|
||||||
semantics is the same as ( _Condition_, _Action_). If
|
+ If _Condition_ succeeds at least once, the
|
||||||
|
semantics is the same as ( _Condition_, _Action_).
|
||||||
|
|
||||||
|
+ If
|
||||||
_Condition_ does not succeed, the semantics is that of (\\+
|
_Condition_ does not succeed, the semantics is that of (\\+
|
||||||
_Condition_, _Else_). In other words, If _Condition_
|
_Condition_, _Else_).
|
||||||
|
|
||||||
|
In other words, if _Condition_
|
||||||
succeeds at least once, simply behave as the conjunction of
|
succeeds at least once, simply behave as the conjunction of
|
||||||
_Condition_ and _Action_, otherwise execute _Else_.
|
_Condition_ and _Action_, otherwise execute _Else_.
|
||||||
|
|
||||||
@ -219,11 +214,7 @@ private(_).
|
|||||||
%
|
%
|
||||||
% boootstrap predicates.
|
% boootstrap predicates.
|
||||||
%
|
%
|
||||||
:- system_module( '$_boot', [(*->)/2,
|
:- system_module( '$_boot', [
|
||||||
(',')/2,
|
|
||||||
(->)/2,
|
|
||||||
(;)/2,
|
|
||||||
(\+)/1,
|
|
||||||
bootstrap/1,
|
bootstrap/1,
|
||||||
call/1,
|
call/1,
|
||||||
catch/3,
|
catch/3,
|
||||||
@ -234,8 +225,7 @@ private(_).
|
|||||||
(not)/1,
|
(not)/1,
|
||||||
repeat/0,
|
repeat/0,
|
||||||
throw/1,
|
throw/1,
|
||||||
true/0,
|
true/0], ['$$compile'/4,
|
||||||
('|')/2], ['$$compile'/4,
|
|
||||||
'$call'/4,
|
'$call'/4,
|
||||||
'$catch'/3,
|
'$catch'/3,
|
||||||
'$check_callable'/2,
|
'$check_callable'/2,
|
||||||
@ -299,8 +289,9 @@ private(_).
|
|||||||
%
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
/** @pred true is iso
|
|
||||||
|
|
||||||
|
/** @pred true is iso
|
||||||
|
Succeed.
|
||||||
|
|
||||||
Succeeds once.
|
Succeeds once.
|
||||||
|
|
||||||
@ -1137,6 +1128,19 @@ incore(G) :- '$execute'(G).
|
|||||||
'$stop_creeping'.
|
'$stop_creeping'.
|
||||||
|
|
||||||
|
|
||||||
|
/** @pred :_P_ , :_Q_ is iso, meta
|
||||||
|
Conjunction of goals (and).
|
||||||
|
|
||||||
|
The conjunction is a fundamental construct of Prolog. Example:
|
||||||
|
|
||||||
|
~~~~~~~
|
||||||
|
p(X) :- q(X), r(X).
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
should be read as `p( _X_) if q( _X_) and r( _X_).
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
','(X,Y) :-
|
','(X,Y) :-
|
||||||
yap_hacks:env_choice_point(CP),
|
yap_hacks:env_choice_point(CP),
|
||||||
'$current_module'(M),
|
'$current_module'(M),
|
||||||
@ -1576,4 +1580,3 @@ log_event( String, Args ) :-
|
|||||||
/**
|
/**
|
||||||
@}
|
@}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1506,6 +1506,17 @@ import_module(Mod, ImportModule) :-
|
|||||||
import_module(Mod, EM) :-
|
import_module(Mod, EM) :-
|
||||||
'$do_error'(type_error(atom,Mod),import_module(Mod, EM)).
|
'$do_error'(type_error(atom,Mod),import_module(Mod, EM)).
|
||||||
|
|
||||||
|
|
||||||
|
/** add_import_module( + _Module_, + _ImportModule_ , +_Pos_) is det
|
||||||
|
Add all exports in _ImportModule_ as available to _Module_.
|
||||||
|
|
||||||
|
|
||||||
|
All exported predicates from _ExportModule_ are made available to the
|
||||||
|
source module _ImportModule_. If _Position_ is bound to `start` the
|
||||||
|
module _ImportModule_ is tried first, if _Position_ is bound to `end`,
|
||||||
|
the module is consulted last.
|
||||||
|
|
||||||
|
*/
|
||||||
add_import_module(Mod, ImportModule, Pos) :-
|
add_import_module(Mod, ImportModule, Pos) :-
|
||||||
var(Mod),
|
var(Mod),
|
||||||
'$do_error'(instantiation_error,add_import_module(Mod, ImportModule, Pos)).
|
'$do_error'(instantiation_error,add_import_module(Mod, ImportModule, Pos)).
|
||||||
@ -1526,6 +1537,14 @@ add_import_module(Mod, ImportModule, Pos) :-
|
|||||||
add_import_module(Mod, ImportModule, Pos) :-
|
add_import_module(Mod, ImportModule, Pos) :-
|
||||||
'$do_error'(domain_error(start_end,Pos),add_import_module(Mod, ImportModule, Pos)).
|
'$do_error'(domain_error(start_end,Pos),add_import_module(Mod, ImportModule, Pos)).
|
||||||
|
|
||||||
|
/** delete_import_module( + _ExportModule_, + _ImportModule_ ) is det
|
||||||
|
Exports in _ImportModule_ are no longer available to _Module_.
|
||||||
|
|
||||||
|
|
||||||
|
All exported predicates from _ExportModule_ are discarded from the
|
||||||
|
ones used vy the source module _ImportModule_.
|
||||||
|
|
||||||
|
*/
|
||||||
delete_import_module(Mod, ImportModule) :-
|
delete_import_module(Mod, ImportModule) :-
|
||||||
var(Mod),
|
var(Mod),
|
||||||
'$do_error'(instantiation_error,delete_import_module(Mod, ImportModule)).
|
'$do_error'(instantiation_error,delete_import_module(Mod, ImportModule)).
|
||||||
@ -1548,6 +1567,21 @@ delete_import_module(Mod, ImportModule) :-
|
|||||||
'$set_source_module'(Source0, SourceF) :-
|
'$set_source_module'(Source0, SourceF) :-
|
||||||
current_module(Source0, SourceF).
|
current_module(Source0, SourceF).
|
||||||
|
|
||||||
|
/** module_property( + _Module_, ? _Property_ ) is nondet
|
||||||
|
Enumerate non-deterministically the main properties of _Module_ .
|
||||||
|
|
||||||
|
Reports the following properties of _Module_:
|
||||||
|
|
||||||
|
+ `class`( ?_Class_ ): whether it is a `system`, `library`, or `user` module.
|
||||||
|
|
||||||
|
+ `line_count`(?_Ls_): number of lines in source file.
|
||||||
|
|
||||||
|
+ `file`(?_F_): source file for _Module_.
|
||||||
|
|
||||||
|
+ `exports`(-Es): list of all predicate symbols and
|
||||||
|
operator symbols exported or re-exported by this module.
|
||||||
|
|
||||||
|
*/
|
||||||
module_property(Mod, class(L)) :-
|
module_property(Mod, class(L)) :-
|
||||||
'$module_class'(Mod, L).
|
'$module_class'(Mod, L).
|
||||||
module_property(Mod, line_count(L)) :-
|
module_property(Mod, line_count(L)) :-
|
||||||
|
Reference in New Issue
Block a user