Logtalk 2.28.2 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1712 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
36a326908c
commit
2d7ccc1278
@ -6,6 +6,27 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@inproceedings{pmoura06,
|
||||||
|
author = "Paulo Moura and Vincent Marchetti",
|
||||||
|
title = "Logtalk Processing of STEP Part 21 Files",
|
||||||
|
crossref = "iclp06",
|
||||||
|
pages = "453--454",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@proceedings{iclp06,
|
||||||
|
title = "International Conference on Logic Programming 2006",
|
||||||
|
booktitle = "International Conference on Logic Programming 2006",
|
||||||
|
series = "Lecture Notes in Computer Science",
|
||||||
|
publisher = "Springer-Verlag",
|
||||||
|
address = "Berlin Heidelberg",
|
||||||
|
editor = "S. Etalle and M. Truszczy\'nski",
|
||||||
|
number = 4079,
|
||||||
|
month = aug,
|
||||||
|
year = 2006
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@phdthesis{pmoura03,
|
@phdthesis{pmoura03,
|
||||||
author = "Paulo Moura",
|
author = "Paulo Moura",
|
||||||
title = "{Logtalk - Design of an Object-Oriented Logic Programming Language}",
|
title = "{Logtalk - Design of an Object-Oriented Logic Programming Language}",
|
62
Logtalk/CUSTOMIZE.txt
Normal file
62
Logtalk/CUSTOMIZE.txt
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
=================================================================
|
||||||
|
Logtalk - Object oriented extension to Prolog
|
||||||
|
Release 2.28.2
|
||||||
|
|
||||||
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
|
||||||
|
This file contains detailed instructions for customizing your Logtalk
|
||||||
|
installation and working environment. Customization is mostly done on
|
||||||
|
a per-user basis by editing files on the Logtalk user folder (whose
|
||||||
|
path is sorted on the LOGTALKUSER environment variable).
|
||||||
|
|
||||||
|
|
||||||
|
1. SETTING LIBRARY PATHS
|
||||||
|
|
||||||
|
In Logtalk, a library is simply a directory containing source files. Library
|
||||||
|
paths can be declared using a dynamic predicate. This allows compiling and
|
||||||
|
loading of libraries and library files to be performed without worries about
|
||||||
|
library paths.
|
||||||
|
|
||||||
|
Inside your Logtalk user folder, you will find a "libpaths" folder containing
|
||||||
|
a sample file which, when loaded, defines the library paths for the Logtalk
|
||||||
|
standard library and for all the supplied examples. This file may need to be
|
||||||
|
edited to match both your Logtalk installation and your Prolog compiler and
|
||||||
|
operating-system requirements. For details, see the file "libpaths/NOTES".
|
||||||
|
|
||||||
|
|
||||||
|
2. CUSTOMIZING PROLOG CONFIGURATION FILES
|
||||||
|
|
||||||
|
Logtalk interfaces with a specific Prolog compiler via a configuration file
|
||||||
|
that can be found on the "configs" folder inside your Logtalk user folder.
|
||||||
|
These configuration files can be customized by changing the values of the
|
||||||
|
default flags that are used by Logtalk when compiling source files. For a
|
||||||
|
full description of these default flags, consult the "Running and debugging
|
||||||
|
Logtalk programs" section of the User Manual. Some of the default flags that
|
||||||
|
you may want to change include: "smart_compilation", "startup_message",
|
||||||
|
"portability", "underscore_vars", "altdirs", and the set of documentation-
|
||||||
|
related flags ("xmldocs", "xslfile", "xmlspec", and "xmlsref"). Be sure to
|
||||||
|
read the "configs/NOTES" file for Prolog specific notes; some Prolog compilers
|
||||||
|
do not support the whole range of compilation flag values.
|
||||||
|
|
||||||
|
|
||||||
|
3. CUSTOMIZING DOCUMENTATION PROCESSING SCRIPTS AND SUPPORTING FILES
|
||||||
|
|
||||||
|
Inside your Logtalk user folder, you will find a "xml" folder containing a
|
||||||
|
set of shell scripts, CSS and XSLT style-sheets, and DTD and XML Schema files
|
||||||
|
for processing the XML documenting files that are automatically generated
|
||||||
|
when you compile source files. You may want to customize the CSS and XSLT
|
||||||
|
files to modify the layout or style of the resulting PDF/(X)HTML files or to
|
||||||
|
write new scripts and transformations to generate other formats. You may also
|
||||||
|
edit the file "custom.ent" in order to specify XML entities for your personal
|
||||||
|
data that can be used on Logtalk documenting directives. For details, see the
|
||||||
|
file "xml/NOTES".
|
||||||
|
|
||||||
|
|
||||||
|
4. ADDING SUPPORT FOR EDITING LOGTALK SOURCE FILES TO TEXT EDITORS
|
||||||
|
|
||||||
|
Inside your Logtalk user folder, you will find a "wenv" folder, containing
|
||||||
|
configuration files for several text editors, which add support for syntax
|
||||||
|
coloring and other editing services of Logtalk source files. For details,
|
||||||
|
see the file "wenv/NOTES".
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -162,41 +162,7 @@ This assumes that your favorite Prolog compilers are supported by the
|
|||||||
the steps described in the "QUICK_START" file.
|
the steps described in the "QUICK_START" file.
|
||||||
|
|
||||||
|
|
||||||
5. SETTING LIBRARY PATHS
|
5. CUSTOMIZING LOGTALK
|
||||||
|
|
||||||
In Logtalk, a library is simply a directory containing source files. Library
|
Please see the file "CUSTOMIZE.txt" for details on how to customize your
|
||||||
paths can be declared using a dynamic predicate. This allows compiling and
|
Logtalk installation and working environment.
|
||||||
loading of libraries and library files to be performed without worries about
|
|
||||||
library paths. Assuming that you have used the "scripts/cplgtdirs.*" shell
|
|
||||||
scripts for making a copy of the user-modifiable Logtalk files, you will find
|
|
||||||
in the "$LOGTALKUSER/libpaths" directory a sample file which, when loaded,
|
|
||||||
defines the library paths for the Logtalk standard library and for all the
|
|
||||||
supplied examples. This file may need to be edited to match your Logtalk
|
|
||||||
installation and your Prolog compiler and operating-system requirements. For
|
|
||||||
more details, see the file "$LOGTALKUSER/libpaths/NOTES".
|
|
||||||
|
|
||||||
|
|
||||||
6. CUSTOMIZING PROLOG CONFIGURATION FILES
|
|
||||||
|
|
||||||
Logtalk interfaces with a specific Prolog compiler via a configuration file
|
|
||||||
that can be found on the "$LOGTALKUSER/configs" directory. These configuration
|
|
||||||
files can be customized by changing the values of the default flags that are
|
|
||||||
used by Logtalk when compiling source files. For a full description of these
|
|
||||||
default flags, consult the "Running and debugging Logtalk programs" section of
|
|
||||||
the User Manual. Some of the default flags that you may want to change are:
|
|
||||||
"smart_compilation", "startup_message", "portability", "underscore_vars",
|
|
||||||
"altdirs", and the set of documentation-related flags ("xmldocs", "xslfile",
|
|
||||||
"xmlspec", and "xmlsref"). Be sure to read the "$LOGTALKUSER/configs/NOTES"
|
|
||||||
file for Prolog specific notes; some Prolog compilers do not support the whole
|
|
||||||
range of compilation flag values.
|
|
||||||
|
|
||||||
|
|
||||||
7. CUSTOMIZING DOCUMENTATION PROCESSING SCRIPTS AND SUPPORTING FILES
|
|
||||||
|
|
||||||
Logtalk provides, in the "$LOGTALKUSER/xml" directory, a set of shell scripts,
|
|
||||||
CSS and XSLT style-sheets, and DTD and XML Schema files for processing the XML
|
|
||||||
documenting files that are automatically generated when you compile source
|
|
||||||
files. You may want to customize these CSS and XSLT files to modify the layout
|
|
||||||
or style of the resulting PDF/(X)HTML files or to write new scripts and
|
|
||||||
transformations to generate other formats. For more details, see the file
|
|
||||||
"$LOGTALKUSER/xml/NOTES".
|
|
214
Logtalk/LICENSE
214
Logtalk/LICENSE
@ -1,214 +0,0 @@
|
|||||||
|
|
||||||
The Artistic License
|
|
||||||
Version 2.0beta5, October 2001
|
|
||||||
|
|
||||||
Copyright (C) 2000, 2001 Larry Wall, Bradley M. Kuhn.
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
This copyright license states the terms under which a given free software
|
|
||||||
Package may be copied, modified and/or redistributed, while the
|
|
||||||
Originator(s) maintain some artistic control over the future development of
|
|
||||||
that Package (at least as much artistic control as can be given under
|
|
||||||
copyright law while still making the Package open source and free software).
|
|
||||||
|
|
||||||
This license is bound by copyright law, and thus it legally applies only to
|
|
||||||
works which the copyright holder has permitted copying, distribution or
|
|
||||||
modification under the terms of the Artistic License, Version 2.0.
|
|
||||||
|
|
||||||
You are reminded that You are always permitted to make arrangements wholly
|
|
||||||
outside of a given copyright license directly with the copyright holder(s)
|
|
||||||
of a given Package. If the terms of this license impede your ability to
|
|
||||||
make full use of the Package, You are encouraged to contact the copyright
|
|
||||||
holder(s) and seek a different licensing arrangement.
|
|
||||||
|
|
||||||
|
|
||||||
Definitions
|
|
||||||
|
|
||||||
"Package" refers to the collection of files distributed by the
|
|
||||||
Originator(s), and derivatives of that collection of files created
|
|
||||||
through textual modification.
|
|
||||||
|
|
||||||
"Standard Version" refers to the Package if it has not been modified, or has
|
|
||||||
been modified only in ways suggested by the
|
|
||||||
Originator(s).
|
|
||||||
|
|
||||||
"Modified Version" refers to the Package, if it has been changed by You via
|
|
||||||
textual modification of the source code, and such changes
|
|
||||||
were not suggested by the Originator(s).
|
|
||||||
|
|
||||||
"Originator" refers to the author(s) and/or copyright holder(s) of the
|
|
||||||
Standard Version of the Package.
|
|
||||||
|
|
||||||
"You" and "Your" refers to any person who would like to copy, distribute, or
|
|
||||||
modify the Package.
|
|
||||||
|
|
||||||
"Distribution Fee" is any fee that You charge for providing a copy of this
|
|
||||||
Package to another party. It does not refer to licensing
|
|
||||||
fees.
|
|
||||||
|
|
||||||
"Freely Available" means that:
|
|
||||||
|
|
||||||
(a) no fee is charged for the right to use the item (though a
|
|
||||||
Distribution Fee may be charged).
|
|
||||||
|
|
||||||
(b) recipients of the item may redistribute it under the same
|
|
||||||
conditions they received it.
|
|
||||||
|
|
||||||
(c) If the item is a binary, object code, bytecode, the complete
|
|
||||||
corresponding machine-readable source code is included with the
|
|
||||||
item.
|
|
||||||
|
|
||||||
|
|
||||||
Permission for Use and Modification Without Redistribution
|
|
||||||
|
|
||||||
(1) You are permitted to use the Standard Version and create and use
|
|
||||||
Modified Versions for any purpose without restriction, provided that
|
|
||||||
you do not redistribute the Modified Version to others outside of your
|
|
||||||
company or organization.
|
|
||||||
|
|
||||||
|
|
||||||
Permissions for Redistribution of the Standard Version
|
|
||||||
|
|
||||||
(2) You may make available verbatim copies of the source code of the
|
|
||||||
Standard Version of this Package in any medium without restriction,
|
|
||||||
either gratis or for a Distribution Fee, provided that you duplicate
|
|
||||||
all of the original copyright notices and associated disclaimers. At
|
|
||||||
Your discretion, such verbatim copies may or may not include compiled
|
|
||||||
bytecode, object code or binary versions of the corresponding source
|
|
||||||
code in the same medium.
|
|
||||||
|
|
||||||
(3) You may apply any bug fixes, portability changes, and other
|
|
||||||
modifications made available from any of the Originator(s). The
|
|
||||||
resulting modified Package will still be considered the Standard
|
|
||||||
Version, and may be copied, modified and redistributed under the terms
|
|
||||||
of the original license of the Standard Version as if it were the
|
|
||||||
Standard Version.
|
|
||||||
|
|
||||||
|
|
||||||
Permissions for Redistribution of Modified Versions of the Package as Source
|
|
||||||
|
|
||||||
(4) You may modify your copy of the source code of this Package in any way
|
|
||||||
and distribute that Modified Version (either gratis or for a
|
|
||||||
Distribution Fee, and with or without a corresponding binary, bytecode
|
|
||||||
or object code version of the Modified Version) provided that You
|
|
||||||
clearly indicate what changes You made to the Package, and provided
|
|
||||||
that You do at least ONE of the following:
|
|
||||||
|
|
||||||
(a) make the Modified Version available to the Originator(s) of the
|
|
||||||
Standard Version, under the exact license of the Standard
|
|
||||||
Version, so that the Originator(s) may include your modifications
|
|
||||||
into the Standard Version (at their discretion).
|
|
||||||
|
|
||||||
(b) modify any installation scripts and procedures so that
|
|
||||||
installation of the Modified Version will never conflict with an
|
|
||||||
installation of the Standard Version, include for each program
|
|
||||||
installed by the Modified Version clear documentation describing
|
|
||||||
how it differs from the Standard Version, and rename your
|
|
||||||
Modified Version so that the name is substantially different from
|
|
||||||
the Standard Version.
|
|
||||||
|
|
||||||
(c) permit and encourage anyone who receives a copy of the Modified
|
|
||||||
Version to make your modifications Freely Available in some
|
|
||||||
specific way.
|
|
||||||
|
|
||||||
If Your Modified Version is in turn derived from a Modified Version
|
|
||||||
made by a third party, then You are still required to ensure that Your
|
|
||||||
Modified Version complies with the requirements of this license.
|
|
||||||
|
|
||||||
|
|
||||||
Permissions for Redistribution of Non-Source Versions of Package
|
|
||||||
|
|
||||||
(5) You may distribute binary, object code, bytecode or other non-source
|
|
||||||
versions of the Standard Version of the Package, provided that you
|
|
||||||
include complete instructions on where to get the source code of the
|
|
||||||
Standard Version. Such instructions must be valid at the time of Your
|
|
||||||
distribution. If these instructions, at any time while You are
|
|
||||||
carrying our such distribution, become invalid, you must provide new
|
|
||||||
instructions on demand or cease further distribution. If You cease
|
|
||||||
distribution within thirty days after You become aware that the
|
|
||||||
instructions are invalid, then You do not forfeit any of Your rights
|
|
||||||
under this license.
|
|
||||||
|
|
||||||
(6) You may distribute binary, object code, bytecode or other non-source
|
|
||||||
versions of a Modified Version provided that You do at least ONE of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
(a) include a copy of the corresponding source code for the Modified
|
|
||||||
Version under the terms indicated in (4).
|
|
||||||
|
|
||||||
(b) ensure that the installation of Your non-source Modified Version
|
|
||||||
does not conflict in any way with an installation of the Standard
|
|
||||||
Version, include for each program installed by the Modified
|
|
||||||
Version clear documentation describing how it differs from the
|
|
||||||
Standard Version, and rename your Modified Version so that the
|
|
||||||
name is substantially different from the Standard Version.
|
|
||||||
|
|
||||||
(c) ensure that the Modified Version includes notification of the
|
|
||||||
changes made from the Standard Version, and offer to provide
|
|
||||||
machine-readable source code (under a license that permits making
|
|
||||||
that source code Freely Available) of the Modified Version via
|
|
||||||
mail order.
|
|
||||||
|
|
||||||
|
|
||||||
Permissions for Inclusion of the Package in Aggregate Works
|
|
||||||
|
|
||||||
(7) You may aggregate this Package (either the Standard Version or
|
|
||||||
Modified Version) with other packages and distribute the resulting
|
|
||||||
aggregation provided that You do not charge a licensing fee for the
|
|
||||||
Package. Distribution Fees are permitted, and licensing fees for
|
|
||||||
other packages in the aggregation are permitted. Your permission to
|
|
||||||
distribute Standard or Modified Versions of the Package is still
|
|
||||||
subject to the other terms set forth in other sections of this
|
|
||||||
license.
|
|
||||||
|
|
||||||
(8) In addition to the permissions given elsewhere by this license, You
|
|
||||||
are also permitted to link Modified and Standard Versions of this
|
|
||||||
Package with other works and distribute the result without
|
|
||||||
restriction, provided You have produced binary program(s) that do not
|
|
||||||
overtly expose the interfaces of the Package. This includes
|
|
||||||
permission to embed the Package in a larger work of your own without
|
|
||||||
exposing a direct interface to the Package. This also includes
|
|
||||||
permission to build stand-alone binary or bytecode versions of your
|
|
||||||
scripts that require the Package, but do not otherwise give the casual
|
|
||||||
user direct access to the Package itself.
|
|
||||||
|
|
||||||
|
|
||||||
Items That are Never Considered Part of a Modified Version Package
|
|
||||||
|
|
||||||
(9) Works (including, but not limited to, subroutines and scripts) that
|
|
||||||
you have linked or aggregated with the Package that merely extend or
|
|
||||||
make use of the Package, but are not intended to cause the Package to
|
|
||||||
operate differently from the Standard Version, do not, by themselves,
|
|
||||||
cause the Package to be a Modified Version. In addition, such works
|
|
||||||
are not considered parts of the Package itself, and are not bound by
|
|
||||||
the terms of the Package's license.
|
|
||||||
|
|
||||||
|
|
||||||
Acceptance of License and Disclaimer of Warranty
|
|
||||||
|
|
||||||
(10) You are not required to accept this License, since you have not signed
|
|
||||||
it. However, nothing else grants you permission to copy, modify or
|
|
||||||
distribute the Standard or Modified Versions of the Package. These
|
|
||||||
actions are prohibited by copyright law if you do not accept this
|
|
||||||
License. Therefore, by copying, modifying or distributing Standard
|
|
||||||
and Modified Versions of the Package, you indicate your acceptance of
|
|
||||||
the license of the Package.
|
|
||||||
|
|
||||||
|
|
||||||
(11) Disclaimer of Warranty:
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT UNLESS REQUIRED BY
|
|
||||||
LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER OR CONTRIBUTOR
|
|
||||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
||||||
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
||||||
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, PROFITS; OR
|
|
||||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
||||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
||||||
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
201
Logtalk/LICENSE.txt
Normal file
201
Logtalk/LICENSE.txt
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
The Artistic License 2.0
|
||||||
|
|
||||||
|
Copyright (c) 2000-2006, The Perl Foundation.
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
This license establishes the terms under which a given free software
|
||||||
|
Package may be copied, modified, distributed, and/or redistributed.
|
||||||
|
The intent is that the Copyright Holder maintains some artistic
|
||||||
|
control over the development of that Package while still keeping the
|
||||||
|
Package available as open source and free software.
|
||||||
|
|
||||||
|
You are always permitted to make arrangements wholly outside of this
|
||||||
|
license directly with the Copyright Holder of a given Package. If the
|
||||||
|
terms of this license do not permit the full use that you propose to
|
||||||
|
make of the Package, you should contact the Copyright Holder and seek
|
||||||
|
a different licensing arrangement.
|
||||||
|
|
||||||
|
Definitions
|
||||||
|
|
||||||
|
"Copyright Holder" means the individual(s) or organization(s)
|
||||||
|
named in the copyright notice for the entire Package.
|
||||||
|
|
||||||
|
"Contributor" means any party that has contributed code or other
|
||||||
|
material to the Package, in accordance with the Copyright Holder's
|
||||||
|
procedures.
|
||||||
|
|
||||||
|
"You" and "your" means any person who would like to copy,
|
||||||
|
distribute, or modify the Package.
|
||||||
|
|
||||||
|
"Package" means the collection of files distributed by the
|
||||||
|
Copyright Holder, and derivatives of that collection and/or of
|
||||||
|
those files. A given Package may consist of either the Standard
|
||||||
|
Version, or a Modified Version.
|
||||||
|
|
||||||
|
"Distribute" means providing a copy of the Package or making it
|
||||||
|
accessible to anyone else, or in the case of a company or
|
||||||
|
organization, to others outside of your company or organization.
|
||||||
|
|
||||||
|
"Distributor Fee" means any fee that you charge for Distributing
|
||||||
|
this Package or providing support for this Package to another
|
||||||
|
party. It does not mean licensing fees.
|
||||||
|
|
||||||
|
"Standard Version" refers to the Package if it has not been
|
||||||
|
modified, or has been modified only in ways explicitly requested
|
||||||
|
by the Copyright Holder.
|
||||||
|
|
||||||
|
"Modified Version" means the Package, if it has been changed, and
|
||||||
|
such changes were not explicitly requested by the Copyright
|
||||||
|
Holder.
|
||||||
|
|
||||||
|
"Original License" means this Artistic License as Distributed with
|
||||||
|
the Standard Version of the Package, in its current version or as
|
||||||
|
it may be modified by The Perl Foundation in the future.
|
||||||
|
|
||||||
|
"Source" form means the source code, documentation source, and
|
||||||
|
configuration files for the Package.
|
||||||
|
|
||||||
|
"Compiled" form means the compiled bytecode, object code, binary,
|
||||||
|
or any other form resulting from mechanical transformation or
|
||||||
|
translation of the Source form.
|
||||||
|
|
||||||
|
|
||||||
|
Permission for Use and Modification Without Distribution
|
||||||
|
|
||||||
|
(1) You are permitted to use the Standard Version and create and use
|
||||||
|
Modified Versions for any purpose without restriction, provided that
|
||||||
|
you do not Distribute the Modified Version.
|
||||||
|
|
||||||
|
|
||||||
|
Permissions for Redistribution of the Standard Version
|
||||||
|
|
||||||
|
(2) You may Distribute verbatim copies of the Source form of the
|
||||||
|
Standard Version of this Package in any medium without restriction,
|
||||||
|
either gratis or for a Distributor Fee, provided that you duplicate
|
||||||
|
all of the original copyright notices and associated disclaimers. At
|
||||||
|
your discretion, such verbatim copies may or may not include a
|
||||||
|
Compiled form of the Package.
|
||||||
|
|
||||||
|
(3) You may apply any bug fixes, portability changes, and other
|
||||||
|
modifications made available from the Copyright Holder. The resulting
|
||||||
|
Package will still be considered the Standard Version, and as such
|
||||||
|
will be subject to the Original License.
|
||||||
|
|
||||||
|
|
||||||
|
Distribution of Modified Versions of the Package as Source
|
||||||
|
|
||||||
|
(4) You may Distribute your Modified Version as Source (either gratis
|
||||||
|
or for a Distributor Fee, and with or without a Compiled form of the
|
||||||
|
Modified Version) provided that you clearly document how it differs
|
||||||
|
from the Standard Version, including, but not limited to, documenting
|
||||||
|
any non-standard features, executables, or modules, and provided that
|
||||||
|
you do at least ONE of the following:
|
||||||
|
|
||||||
|
(a) make the Modified Version available to the Copyright Holder
|
||||||
|
of the Standard Version, under the Original License, so that the
|
||||||
|
Copyright Holder may include your modifications in the Standard
|
||||||
|
Version.
|
||||||
|
|
||||||
|
(b) ensure that installation of your Modified Version does not
|
||||||
|
prevent the user installing or running the Standard Version. In
|
||||||
|
addition, the Modified Version must bear a name that is different
|
||||||
|
from the name of the Standard Version.
|
||||||
|
|
||||||
|
(c) allow anyone who receives a copy of the Modified Version to
|
||||||
|
make the Source form of the Modified Version available to others
|
||||||
|
under
|
||||||
|
|
||||||
|
(i) the Original License or
|
||||||
|
|
||||||
|
(ii) a license that permits the licensee to freely copy,
|
||||||
|
modify and redistribute the Modified Version using the same
|
||||||
|
licensing terms that apply to the copy that the licensee
|
||||||
|
received, and requires that the Source form of the Modified
|
||||||
|
Version, and of any works derived from it, be made freely
|
||||||
|
available in that license fees are prohibited but Distributor
|
||||||
|
Fees are allowed.
|
||||||
|
|
||||||
|
|
||||||
|
Distribution of Compiled Forms of the Standard Version
|
||||||
|
or Modified Versions without the Source
|
||||||
|
|
||||||
|
(5) You may Distribute Compiled forms of the Standard Version without
|
||||||
|
the Source, provided that you include complete instructions on how to
|
||||||
|
get the Source of the Standard Version. Such instructions must be
|
||||||
|
valid at the time of your distribution. If these instructions, at any
|
||||||
|
time while you are carrying out such distribution, become invalid, you
|
||||||
|
must provide new instructions on demand or cease further distribution.
|
||||||
|
If you provide valid instructions or cease distribution within thirty
|
||||||
|
days after you become aware that the instructions are invalid, then
|
||||||
|
you do not forfeit any of your rights under this license.
|
||||||
|
|
||||||
|
(6) You may Distribute a Modified Version in Compiled form without
|
||||||
|
the Source, provided that you comply with Section 4 with respect to
|
||||||
|
the Source of the Modified Version.
|
||||||
|
|
||||||
|
|
||||||
|
Aggregating or Linking the Package
|
||||||
|
|
||||||
|
(7) You may aggregate the Package (either the Standard Version or
|
||||||
|
Modified Version) with other packages and Distribute the resulting
|
||||||
|
aggregation provided that you do not charge a licensing fee for the
|
||||||
|
Package. Distributor Fees are permitted, and licensing fees for other
|
||||||
|
components in the aggregation are permitted. The terms of this license
|
||||||
|
apply to the use and Distribution of the Standard or Modified Versions
|
||||||
|
as included in the aggregation.
|
||||||
|
|
||||||
|
(8) You are permitted to link Modified and Standard Versions with
|
||||||
|
other works, to embed the Package in a larger work of your own, or to
|
||||||
|
build stand-alone binary or bytecode versions of applications that
|
||||||
|
include the Package, and Distribute the result without restriction,
|
||||||
|
provided the result does not expose a direct interface to the Package.
|
||||||
|
|
||||||
|
|
||||||
|
Items That are Not Considered Part of a Modified Version
|
||||||
|
|
||||||
|
(9) Works (including, but not limited to, modules and scripts) that
|
||||||
|
merely extend or make use of the Package, do not, by themselves, cause
|
||||||
|
the Package to be a Modified Version. In addition, such works are not
|
||||||
|
considered parts of the Package itself, and are not subject to the
|
||||||
|
terms of this license.
|
||||||
|
|
||||||
|
|
||||||
|
General Provisions
|
||||||
|
|
||||||
|
(10) Any use, modification, and distribution of the Standard or
|
||||||
|
Modified Versions is governed by this Artistic License. By using,
|
||||||
|
modifying or distributing the Package, you accept this license. Do not
|
||||||
|
use, modify, or distribute the Package, if you do not accept this
|
||||||
|
license.
|
||||||
|
|
||||||
|
(11) If your Modified Version has been derived from a Modified
|
||||||
|
Version made by someone other than you, you are nevertheless required
|
||||||
|
to ensure that your Modified Version complies with the requirements of
|
||||||
|
this license.
|
||||||
|
|
||||||
|
(12) This license does not grant you the right to use any trademark,
|
||||||
|
service mark, tradename, or logo of the Copyright Holder.
|
||||||
|
|
||||||
|
(13) This license includes the non-exclusive, worldwide,
|
||||||
|
free-of-charge patent license to make, have made, use, offer to sell,
|
||||||
|
sell, import and otherwise transfer the Package with respect to any
|
||||||
|
patent claims licensable by the Copyright Holder that are necessarily
|
||||||
|
infringed by the Package. If you institute patent litigation
|
||||||
|
(including a cross-claim or counterclaim) against any party alleging
|
||||||
|
that the Package constitutes direct or contributory patent
|
||||||
|
infringement, then this Artistic License to you shall terminate on the
|
||||||
|
date that such litigation is filed.
|
||||||
|
|
||||||
|
(14) Disclaimer of Warranty:
|
||||||
|
THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
|
||||||
|
IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
|
||||||
|
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
|
||||||
|
LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
|
||||||
|
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -13,11 +13,12 @@ CONTENTS
|
|||||||
3. Registration
|
3. Registration
|
||||||
4. Support
|
4. Support
|
||||||
5. Installation
|
5. Installation
|
||||||
6. Quick start
|
6. Customization
|
||||||
7. Documentation
|
7. Quick start
|
||||||
8. Upgrading
|
8. Documentation
|
||||||
9. Citations
|
9. Upgrading
|
||||||
10. Contributions
|
10. Citations
|
||||||
|
11. Contributions
|
||||||
|
|
||||||
|
|
||||||
1. LICENSE
|
1. LICENSE
|
||||||
@ -33,7 +34,7 @@ stated.
|
|||||||
|
|
||||||
The latest release of the Logtalk package is always available at the URL:
|
The latest release of the Logtalk package is always available at the URL:
|
||||||
|
|
||||||
http://www.logtalk.org/
|
http://logtalk.org/
|
||||||
|
|
||||||
At this address you can also find additional documentation and information
|
At this address you can also find additional documentation and information
|
||||||
about Logtalk.
|
about Logtalk.
|
||||||
@ -58,9 +59,9 @@ platforms (mac, pc, unix,...) (optional)
|
|||||||
Logtalk support is available for registered users via email to
|
Logtalk support is available for registered users via email to
|
||||||
support@logtalk.org.
|
support@logtalk.org.
|
||||||
|
|
||||||
At the URL http://www.logtalk.org/bugs.html you can find a list of known
|
At the URL http://logtalk.org/bugs.html you can find a list of known
|
||||||
problems and download bug fixes. The latest news about Logtalk are
|
problems and download bug fixes. The latest news about Logtalk are
|
||||||
available at the URL http://www.logtalk.org/news.html.
|
available at the URL http://logtalk.org/news.html.
|
||||||
|
|
||||||
There is also a mailing list, "logtalk", used to announce new releases and
|
There is also a mailing list, "logtalk", used to announce new releases and
|
||||||
bug fixes and for discussion between registered Logtalk users, that you
|
bug fixes and for discussion between registered Logtalk users, that you
|
||||||
@ -78,11 +79,9 @@ with just the word "help" in the subject or in the message body.
|
|||||||
|
|
||||||
5. INSTALLATION
|
5. INSTALLATION
|
||||||
|
|
||||||
Installing Logtalk is just a matter of uncompressing/unpacking the
|
Logtalk can be installed either from sources by running a few shell scripts
|
||||||
distribution archive file for your operating system and running a
|
or by using one of the provided installers, depending on your operating
|
||||||
few shell scripts. You may install Logtalk in any directory that
|
system. See the file "INSTALL.txt" for detailed instructions.
|
||||||
you find convenient. See the file INSTALL for detailed instructions
|
|
||||||
on how to customize your working environment.
|
|
||||||
|
|
||||||
See the user manual for a description of the source files organization
|
See the user manual for a description of the source files organization
|
||||||
and for using instructions (to read the user manual open the file
|
and for using instructions (to read the user manual open the file
|
||||||
@ -90,36 +89,43 @@ and for using instructions (to read the user manual open the file
|
|||||||
using four-space tabs.
|
using four-space tabs.
|
||||||
|
|
||||||
|
|
||||||
6. QUICK START
|
6. CUSTOMIZATION
|
||||||
|
|
||||||
The file QUICK_START provides quick instructions for those of you in a hurry
|
The file "CUSTOMIZE.txt" provides detailed instructions for customizing the
|
||||||
to run Logtalk, provided that your favorite Prolog compiler is supported.
|
Logtalk installation and working environment.
|
||||||
|
|
||||||
|
|
||||||
7. DOCUMENTATION
|
7. QUICK START
|
||||||
|
|
||||||
|
The file "QUICK_START.txt" provides quick instructions for those of you in
|
||||||
|
a hurry to run Logtalk, provided that your favorite Prolog compiler is
|
||||||
|
supported.
|
||||||
|
|
||||||
|
|
||||||
|
8. DOCUMENTATION
|
||||||
|
|
||||||
The reference and user manuals and the tutorial are provided in XHTML format
|
The reference and user manuals and the tutorial are provided in XHTML format
|
||||||
and can be found in the "manuals" directory.
|
and can be found in the "manuals" directory.
|
||||||
|
|
||||||
The file RELEASE_NOTES contains descriptions of all Logtalk updates since the
|
The file "RELEASE_NOTES.txt" contains descriptions of all Logtalk updates
|
||||||
first public version. Read it carefully if you have been using a previous
|
since the first public version. Read it carefully if you have been using a
|
||||||
Logtalk version.
|
previous Logtalk version.
|
||||||
|
|
||||||
|
|
||||||
8. UPGRADING
|
9. UPGRADING
|
||||||
|
|
||||||
If you are upgrading from a previous Logtalk version, please check the file
|
If you are upgrading from a previous Logtalk version, please check the file
|
||||||
UPGRADING for instructions on how to upgrade your programs or your custom
|
"UPGRADING.txt" for instructions on how to upgrade your programs or your
|
||||||
configuration files to run under this new version.
|
custom configuration files to run under this new version.
|
||||||
|
|
||||||
|
|
||||||
9. CITATIONS
|
10. CITATIONS
|
||||||
|
|
||||||
If you want to cite Logtalk in your publications, please consult the file
|
If you want to cite Logtalk in your publications, please consult the file
|
||||||
BIBLIOGRAPHY for bibliographic references in BibTeX format.
|
"BIBLIOGRAPHY.bib" for bibliographic references in BibTeX format.
|
||||||
|
|
||||||
|
|
||||||
10. CONTRIBUTIONS
|
11. CONTRIBUTIONS
|
||||||
|
|
||||||
Contributions, constructive criticisms, code, and suggestions are always
|
Contributions, constructive criticisms, code, and suggestions are always
|
||||||
welcome. If you want to contribute to this project, drop me a line to the
|
welcome. If you want to contribute to this project, drop me a line to the
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -10,6 +10,173 @@ RELEASE NOTES
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
||||||
|
2.28.2 - November 6, 2006
|
||||||
|
|
||||||
|
Corrected a compiler bug where unknown entities will not be report when
|
||||||
|
compiling a source file whenever an entity with the same name but of a
|
||||||
|
different type is already known.
|
||||||
|
|
||||||
|
Added a XPCE hook file ("configs/xpcehook.pl") supporting Logtalk message
|
||||||
|
sending goals as XPCE call-back goals. The XPCE library is now loaded by
|
||||||
|
default by the SWI-Prolog integration scripts.
|
||||||
|
|
||||||
|
Added support for generating single PDF files of the User and Reference
|
||||||
|
Manuals. Removed the PDF versions of the individual manual XHTML pages.
|
||||||
|
|
||||||
|
The ECLiPSe config files now require release 5.10#26 or a later version.
|
||||||
|
|
||||||
|
Added support for listing Logtalk entity names (objects, categories, and
|
||||||
|
protocols) in the SubEthaEdit symbols menu.
|
||||||
|
|
||||||
|
Added a Vim dictionary file for Logtalk keyword completion and support
|
||||||
|
for automatic indentation.
|
||||||
|
|
||||||
|
Added basic support for the MacOS X Smultron text editor. Added basic
|
||||||
|
support for the Notepad++, SuperEdi, and ConTEXT Windows text editors.
|
||||||
|
|
||||||
|
|
||||||
|
2.28.1 - October 10, 2006
|
||||||
|
|
||||||
|
Added support for using XML entities using the notation "{entity name}"
|
||||||
|
in info/1 documenting directives for the "author", "copyright", and
|
||||||
|
"license" keywords. The XML entities are defined on a "custom.ent" file.
|
||||||
|
|
||||||
|
Updated Logtalk bibliographic references (in file "BIBLIOGRAPHY.bib").
|
||||||
|
|
||||||
|
Added a "lgt_uninstall.sh" shell script for uninstalling Logtalk on POSIX
|
||||||
|
operating systems.
|
||||||
|
|
||||||
|
Improved RPM install-time messages on the defined Logtalk environment
|
||||||
|
variables.
|
||||||
|
|
||||||
|
Updated the ECLiPSe integration scripts and config files to work with
|
||||||
|
and require version 5.10 (the first open source version of ECLiPSe).
|
||||||
|
|
||||||
|
Corrected a typo on the "logtalk.dtd" file that prevents validation of
|
||||||
|
XML documenting files that use a local reference to the DTD.
|
||||||
|
|
||||||
|
|
||||||
|
2.28.0 - September 28, 2006
|
||||||
|
|
||||||
|
Updated the Logtalk license to the final version of the "The Artistic
|
||||||
|
License 2.0" (see http://www.perlfoundation.org/legal/ for details).
|
||||||
|
|
||||||
|
Added experimental support for multi-threading programming on selected
|
||||||
|
Prolog compilers. Added a new object directive, threaded/0, a new
|
||||||
|
predicate directive, atomic/1, and four new built-in predicates,
|
||||||
|
threaded_call/1-2 and threaded_exit/1-2. Added a new set of examples,
|
||||||
|
"threads". Thanks to Paulo Nunes for helping developing and testing
|
||||||
|
these new features.
|
||||||
|
|
||||||
|
Expanded support for meta-predicates by allowing the declaration of meta-
|
||||||
|
arguments as closures instead of goals.
|
||||||
|
|
||||||
|
Added the generalized call/N predicate as a built-in method. This built-in
|
||||||
|
method must be used in the implementation of meta-predicates which work
|
||||||
|
with closures instead of goals.
|
||||||
|
|
||||||
|
The metapredicate/1 directive should be considered deprecated. Use the
|
||||||
|
meta_predicate/1 directive instead.
|
||||||
|
|
||||||
|
Updated the Logtalk compiler to generate an error whenever a non-variable
|
||||||
|
meta-argument is found in a clause head of a user-defined meta-predicate.
|
||||||
|
|
||||||
|
Improved compilation of meta-predicate meta-arguments. Corrected a bug
|
||||||
|
in the compilation of user meta-predicates that allowed illegal calls
|
||||||
|
to non-public predicates on the caller object to be made from the object
|
||||||
|
defining the meta-predicates. Thanks to Rémy Haemmerlé and François
|
||||||
|
Fages for reporting the problem.
|
||||||
|
|
||||||
|
Improved performance for non-cached messages, notably when running with
|
||||||
|
YAP, GNU Prolog, and SWI-Prolog on all operating systems and with SICStus
|
||||||
|
Prolog 4.0 on POSIX operating systems.
|
||||||
|
|
||||||
|
Updated the Logtalk compiler to generate an error whenever a predicate
|
||||||
|
directive appears in a source file after predicate clauses that call the
|
||||||
|
predicate specified in the directive.
|
||||||
|
|
||||||
|
Added support for "copyright" and "license" keys to the info/1 entity
|
||||||
|
documenting directive.
|
||||||
|
|
||||||
|
Improved compiler error messages to also report source file line number
|
||||||
|
for selected Prolog compilers.
|
||||||
|
|
||||||
|
Added PDF versions of all the manual XHTML pages. Added links to all the
|
||||||
|
manual XHTML pages to the corresponding PDF versions.
|
||||||
|
|
||||||
|
Corrected a bug (introduced in version 2.27.0) in the built-in predicates
|
||||||
|
abolish_object/1, abolish_protocol/1, and abolish_category/1 that resulted
|
||||||
|
in some clauses not being retracted when an object is abolished (thanks to
|
||||||
|
Neng-Fa Zhou for the bug report).
|
||||||
|
|
||||||
|
Corrected a bug (introduced in version 2.27.1) in the processing of the
|
||||||
|
term_expansion/2 predicate.
|
||||||
|
|
||||||
|
Corrected a bug in the compilation of redefined built-in predicates with
|
||||||
|
no clauses.
|
||||||
|
|
||||||
|
Added an experimental config file for CxProlog 0.93.1.
|
||||||
|
|
||||||
|
Updated the SWI-Prolog config and hook files in order to support the
|
||||||
|
edit/1 and make/0 development predicates.
|
||||||
|
|
||||||
|
Changed the Logtalk - SWI-Prolog integration scripts to load the hook
|
||||||
|
file "swihook.pl" after the other files in order to avoid some possible
|
||||||
|
errors at startup.
|
||||||
|
|
||||||
|
Updated the config file for the forthcoming SICStus Prolog 4.0 version
|
||||||
|
to work in the current beta version. Modified the "make_sicstuslgt.*"
|
||||||
|
shell scripts to work with both SICStus Prolog 3.12 and 4.0 versions.
|
||||||
|
|
||||||
|
Updated the config file for YAP to workaround a problem on the Windows
|
||||||
|
version where testing for directory existence fails if the path ends with
|
||||||
|
a slash (or a double backslash); this problem prevents the use of library
|
||||||
|
notation to load source files (problem already fixed in the current YAP
|
||||||
|
CVS version).
|
||||||
|
|
||||||
|
Updated the config file for B-Prolog to match (and require) the new 6.9
|
||||||
|
version; added integration shell scripts (for both Windows and POSIX
|
||||||
|
systems).
|
||||||
|
|
||||||
|
Updated the config files and the integration scripts for ECLiPSe in order
|
||||||
|
to workaround bugs on the predicates abolish/1 and canonical_path_name/2.
|
||||||
|
Modified the "make_eclipselgt.js" script to work with both ECLiPSe 5.8
|
||||||
|
and 5.9 versions.
|
||||||
|
|
||||||
|
Dropped support for versions of XSB older than 3.0. Added support for
|
||||||
|
smart compilation of source files to the XSB config file.
|
||||||
|
|
||||||
|
Updated the config file for IF/Prolog 5.1 by adding a missing definition
|
||||||
|
for predicate retractall/1 and avoiding some harmless singleton warnings.
|
||||||
|
|
||||||
|
Add a ".txt" extension to all "NOTES" and "SCRIPT" files.
|
||||||
|
|
||||||
|
Extended "dcgs", "parametric", and "metainterpreters" examples.
|
||||||
|
|
||||||
|
Added Inno Setup GUI Windows installer script.
|
||||||
|
|
||||||
|
Update all the JScript scripts to check if a compatible version of WSH
|
||||||
|
is installed and to workaround some problems with spaces in file paths.
|
||||||
|
|
||||||
|
Updated the "lgt_install.js" JScript script to copy the scripts/*.bat and
|
||||||
|
the xml/*.bat batch scripts to the system's Windows directory instead of
|
||||||
|
modifying the PATH environment variable.
|
||||||
|
|
||||||
|
Updated the "cplgtdirs.*" shell scripts to make a backup copy of any
|
||||||
|
previous LOGTALKUSER directory.
|
||||||
|
|
||||||
|
Added post-install scripts to the LINUX RPM "logtalk.spec" file for
|
||||||
|
setting the environment variable LOGTALKHOME for all users, defining
|
||||||
|
a default value for the environment variable LOGTALKUSER, and running
|
||||||
|
the Prolog integration scripts.
|
||||||
|
|
||||||
|
Split the installation and customization instructions in two files,
|
||||||
|
"INSTALL.txt" and "CUSTOMIZE.txt".
|
||||||
|
|
||||||
|
Added shell scripts for converting the manual XHTML pages into PDF files
|
||||||
|
using CSSToXSLFO.
|
||||||
|
|
||||||
|
|
||||||
2.27.1 - March 27, 2006
|
2.27.1 - March 27, 2006
|
||||||
|
|
||||||
Allow calls to the built-in method parameter/2 with the first argument
|
Allow calls to the built-in method parameter/2 with the first argument
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -19,6 +19,10 @@ translation examples.
|
|||||||
Upgrading from a previous Logtalk 2.x versions
|
Upgrading from a previous Logtalk 2.x versions
|
||||||
==============================================
|
==============================================
|
||||||
|
|
||||||
|
Changes in the Logtalk compiler between releases may render Prolog config
|
||||||
|
files from older versions incompatible with new ones. You may need to update
|
||||||
|
your local Logtalk user files by running e.g. the "cplgtdirs" shell script.
|
||||||
|
|
||||||
If your Logtalk programs depend on some of the example files, it is
|
If your Logtalk programs depend on some of the example files, it is
|
||||||
advisable that you check your code against the new version before
|
advisable that you check your code against the new version before
|
||||||
throwing away the older release.
|
throwing away the older release.
|
||||||
@ -128,3 +132,13 @@ declaration linking clauses, resulting in small performance improvements and
|
|||||||
in space savings for the Prolog code generated when compiling Logtalk entities.
|
in space savings for the Prolog code generated when compiling Logtalk entities.
|
||||||
Recompilation of all objects, protocols, and categories is necessary in order
|
Recompilation of all objects, protocols, and categories is necessary in order
|
||||||
to take advantage of this optimizations.
|
to take advantage of this optimizations.
|
||||||
|
|
||||||
|
Logtalk 2.28.0 changes representation of meta-predicates, implying the
|
||||||
|
recompilation of all objects, protocols, and categories that define them.
|
||||||
|
In addition, in order to close some security holes where meta-predicates
|
||||||
|
could be used to bypass predicate scope declarations, meta-predicates that
|
||||||
|
use closures must be re-implemented to use the new call/N Logtalk built-in
|
||||||
|
predicate. The directive metapredicate/1 is now deprecated, the directive
|
||||||
|
meta_predicate/1 should be used instead. There are also changes to the
|
||||||
|
config files that render the Logtalk runtime imcompatible with the config
|
||||||
|
files of previous versions.
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -27,7 +27,9 @@ code or from known Prolog text books and are copyrighted by the respective
|
|||||||
authors.
|
authors.
|
||||||
|
|
||||||
These are programming examples, meaning that you should study the source
|
These are programming examples, meaning that you should study the source
|
||||||
files to fully understand them.
|
files to fully understand them. However, note that some examples purpose
|
||||||
|
is to illustrate general principles rather than being adequate, efficient
|
||||||
|
solutions for deployment code.
|
||||||
|
|
||||||
All examples are formatted using four spaces tabs.
|
All examples are formatted using four spaces tabs.
|
||||||
|
|
||||||
@ -109,10 +111,11 @@ lpa
|
|||||||
examples adopted from the LPA Prolog++ system
|
examples adopted from the LPA Prolog++ system
|
||||||
|
|
||||||
metapredicates
|
metapredicates
|
||||||
example of using metapredicates in Logtalk objects
|
example of using meta-predicates in Logtalk objects
|
||||||
|
|
||||||
metainterpreters
|
metainterpreters
|
||||||
some examples of simple metainterpreters
|
some examples of simple meta-interpreters defined as categories which
|
||||||
|
may be imported by "database" objects
|
||||||
|
|
||||||
mi
|
mi
|
||||||
multi-inheritance examples
|
multi-inheritance examples
|
||||||
@ -177,5 +180,8 @@ symdiff
|
|||||||
example of using parametric objects to implement symbolic expression
|
example of using parametric objects to implement symbolic expression
|
||||||
differentiation and simplification
|
differentiation and simplification
|
||||||
|
|
||||||
|
threads
|
||||||
|
several simple examples of multi-threading programming
|
||||||
|
|
||||||
viewpoints
|
viewpoints
|
||||||
example on how to implement property and value sharing with prototypes
|
example on how to implement property and value sharing with prototypes
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -20,6 +20,13 @@ Result = -9
|
|||||||
yes
|
yes
|
||||||
|
|
||||||
|
|
||||||
|
% Recognize MAC addresses:
|
||||||
|
|
||||||
|
| ?- macaddr::valid("00:1e:4a:ef:72:8b").
|
||||||
|
|
||||||
|
yes
|
||||||
|
|
||||||
|
|
||||||
% solve a cellphone keypad encoded enigma:
|
% solve a cellphone keypad encoded enigma:
|
||||||
|
|
||||||
| ?- enigma::solve("4 96853 5683 86 4283 346637 9484 968 8664448", Message).
|
| ?- enigma::solve("4 96853 5683 86 4283 346637 9484 968 8664448", Message).
|
17
Logtalk/examples/dcgs/macaddr.lgt
Normal file
17
Logtalk/examples/dcgs/macaddr.lgt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
:- object(macaddr).
|
||||||
|
|
||||||
|
:- public(valid/1).
|
||||||
|
|
||||||
|
valid(Address) :-
|
||||||
|
phrase(mac, Address).
|
||||||
|
|
||||||
|
mac --> digits, ":", digits, ":", digits, ":", digits, ":", digits, ":", digits.
|
||||||
|
|
||||||
|
digits --> digit, digit.
|
||||||
|
|
||||||
|
digit --> [C], {0'0 =< C, C =< 0'9}.
|
||||||
|
digit --> [C], {0'a =< C, C =< 0'f}.
|
||||||
|
digit --> [C], {0'A =< C, C =< 0'F}.
|
||||||
|
|
||||||
|
:- end_object.
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
2
Logtalk/examples/lpa/timetables/NOTES → Logtalk/examples/lpa/timetables/NOTES.txt
Normal file → Executable file
2
Logtalk/examples/lpa/timetables/NOTES → Logtalk/examples/lpa/timetables/NOTES.txt
Normal file → Executable file
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
2
Logtalk/examples/lpa/timetables/SCRIPT → Logtalk/examples/lpa/timetables/SCRIPT.txt
Normal file → Executable file
2
Logtalk/examples/lpa/timetables/SCRIPT → Logtalk/examples/lpa/timetables/SCRIPT.txt
Normal file → Executable file
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -9,7 +9,7 @@ Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|||||||
To load this example and for sample queries, please see the SCRIPT file.
|
To load this example and for sample queries, please see the SCRIPT file.
|
||||||
|
|
||||||
This example contains simple meta-interpreters for pure Prolog encapsulated
|
This example contains simple meta-interpreters for pure Prolog encapsulated
|
||||||
in Logtalk objects:
|
in Logtalk categories:
|
||||||
|
|
||||||
solver
|
solver
|
||||||
simple meta-interpreter for pure Prolog
|
simple meta-interpreter for pure Prolog
|
||||||
@ -21,3 +21,6 @@ in Logtalk objects:
|
|||||||
tracer
|
tracer
|
||||||
simple meta-interpreter for pure Prolog that traces proof
|
simple meta-interpreter for pure Prolog that traces proof
|
||||||
construction
|
construction
|
||||||
|
|
||||||
|
To use a meta-interpreter with an object, simply import the corresponding
|
||||||
|
category.
|
@ -1,113 +0,0 @@
|
|||||||
=================================================================
|
|
||||||
Logtalk - Object oriented extension to Prolog
|
|
||||||
Release 2.27.1
|
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|
||||||
=================================================================
|
|
||||||
|
|
||||||
|
|
||||||
% start by loading the example:
|
|
||||||
|
|
||||||
| ?- logtalk_load(metainterpreters(loader)).
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
% solver - a simple meta-interpreter for pure Prolog:
|
|
||||||
|
|
||||||
| ?- solver::assertz(member_of(H, [H| _])).
|
|
||||||
|
|
||||||
H = _G178
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- solver::assertz((member_of(H, [_| T]) :- member_of(H, T))).
|
|
||||||
|
|
||||||
H = _G181
|
|
||||||
T = _G179
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- solver::solve(member_of(2, [1,2,3])).
|
|
||||||
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- solver::solve(member_of(X, [1,2,3])).
|
|
||||||
|
|
||||||
X = 1 ;
|
|
||||||
X = 2 ;
|
|
||||||
X = 3
|
|
||||||
yes
|
|
||||||
|
|
||||||
|
|
||||||
% proof_tree - a simple meta-interpreter for pure Prolog that
|
|
||||||
% construct a proof tree:
|
|
||||||
|
|
||||||
| ?- proof_tree::assertz(member_of(H, [H| _])).
|
|
||||||
|
|
||||||
H = _G178
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- proof_tree::assertz((member_of(H, [_| T]) :- member_of(H, T))).
|
|
||||||
|
|
||||||
H = _G181
|
|
||||||
T = _G179
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- proof_tree::solve(member_of(2, [1,2,3]), Tree).
|
|
||||||
|
|
||||||
Tree = member_of(2, [1, 2, 3]):- (member_of(2, [2, 3]):-true)
|
|
||||||
yes
|
|
||||||
|
|
||||||
|
|
||||||
% tracer - a simple meta-interpreter for tracing goal proofs
|
|
||||||
% using pure Prolog:
|
|
||||||
|
|
||||||
|
|
||||||
| ?- tracer::assertz(member_of(H, [H| _])).
|
|
||||||
|
|
||||||
H = _G178
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- tracer::assertz((member_of(H, [_| T]) :- member_of(H, T))).
|
|
||||||
|
|
||||||
H = _G181
|
|
||||||
T = _G179
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- tracer::trace(member_of(3, [1,2,3])).
|
|
||||||
|
|
||||||
1 call: member_of(3, [1, 2, 3])
|
|
||||||
2 call: member_of(3, [2, 3])
|
|
||||||
3 call: member_of(3, [3])
|
|
||||||
3 exit: member_of(3, [3])
|
|
||||||
2 exit: member_of(3, [2, 3])
|
|
||||||
1 exit: member_of(3, [1, 2, 3])
|
|
||||||
yes
|
|
||||||
|
|
||||||
| ?- tracer::trace(member_of(X, [1,2,3])).
|
|
||||||
|
|
||||||
1 call: member_of(_G187, [1, 2, 3])
|
|
||||||
1 exit: member_of(1, [1, 2, 3])
|
|
||||||
|
|
||||||
X = 1 ;
|
|
||||||
1 redo: member_of(1, [1, 2, 3])
|
|
||||||
2 call: member_of(_G187, [2, 3])
|
|
||||||
2 exit: member_of(2, [2, 3])
|
|
||||||
1 exit: member_of(2, [1, 2, 3])
|
|
||||||
|
|
||||||
X = 2 ;
|
|
||||||
1 redo: member_of(2, [1, 2, 3])
|
|
||||||
2 redo: member_of(2, [2, 3])
|
|
||||||
3 call: member_of(_G187, [3])
|
|
||||||
3 exit: member_of(3, [3])
|
|
||||||
2 exit: member_of(3, [2, 3])
|
|
||||||
1 exit: member_of(3, [1, 2, 3])
|
|
||||||
|
|
||||||
X = 3 ;
|
|
||||||
1 redo: member_of(3, [1, 2, 3])
|
|
||||||
2 redo: member_of(3, [2, 3])
|
|
||||||
3 redo: member_of(3, [3])
|
|
||||||
4 call: member_of(_G187, [])
|
|
||||||
4 fail: member_of(_G187, [])
|
|
||||||
3 fail: member_of(_G187, [3])
|
|
||||||
2 fail: member_of(_G187, [2, 3])
|
|
||||||
1 fail: member_of(_G187, [1, 2, 3])
|
|
||||||
no
|
|
100
Logtalk/examples/metainterpreters/SCRIPT.txt
Normal file
100
Logtalk/examples/metainterpreters/SCRIPT.txt
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
=================================================================
|
||||||
|
Logtalk - Object oriented extension to Prolog
|
||||||
|
Release 2.28.2
|
||||||
|
|
||||||
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
|
||||||
|
% start by loading the example:
|
||||||
|
|
||||||
|
| ?- logtalk_load(metainterpreters(loader)).
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
|
% direct call of p/1:
|
||||||
|
|
||||||
|
| ?- ?- database::p(X).
|
||||||
|
|
||||||
|
X = 1 ;
|
||||||
|
X = 2
|
||||||
|
yes
|
||||||
|
|
||||||
|
|
||||||
|
% solver - a simple meta-interpreter for pure Prolog:
|
||||||
|
|
||||||
|
| ?- database::solve(p(X)).
|
||||||
|
|
||||||
|
X = 1 ;
|
||||||
|
X = 2
|
||||||
|
yes
|
||||||
|
|
||||||
|
| ?- database::proof_tree(p(X), Tree).
|
||||||
|
|
||||||
|
X = 1
|
||||||
|
Tree = p(1):- (q(1, a):- (s(1):-true), (t(1, a):-true)), (r(a):-true) ;
|
||||||
|
X = 2
|
||||||
|
Tree = p(2):- (q(2, b):- (s(2):-true), (t(2, b):-true)), (r(b):-true)
|
||||||
|
yes
|
||||||
|
|
||||||
|
|
||||||
|
% tracer - a simple meta-interpreter for tracing goal proofs using pure Prolog:
|
||||||
|
|
||||||
|
| ?- database::trace(p(X)).
|
||||||
|
1 call: p(_G180)
|
||||||
|
2 call: q(_G180, _G316)
|
||||||
|
3 call: s(_G180)
|
||||||
|
3 exit: s(1)
|
||||||
|
3 call: t(1, _G316)
|
||||||
|
3 exit: t(1, a)
|
||||||
|
2 exit: q(1, a)
|
||||||
|
2 call: r(a)
|
||||||
|
2 exit: r(a)
|
||||||
|
1 exit: p(1)
|
||||||
|
|
||||||
|
X = 1 ;
|
||||||
|
1 redo: p(1)
|
||||||
|
2 redo: r(a)
|
||||||
|
2 fail: r(a)
|
||||||
|
2 redo: q(1, a)
|
||||||
|
3 redo: t(1, a)
|
||||||
|
3 fail: t(1, _G316)
|
||||||
|
3 redo: s(1)
|
||||||
|
3 exit: s(2)
|
||||||
|
3 call: t(2, _G316)
|
||||||
|
3 exit: t(2, b)
|
||||||
|
2 exit: q(2, b)
|
||||||
|
2 call: r(b)
|
||||||
|
2 exit: r(b)
|
||||||
|
1 exit: p(2)
|
||||||
|
|
||||||
|
X = 2 ;
|
||||||
|
1 redo: p(2)
|
||||||
|
2 redo: r(b)
|
||||||
|
2 fail: r(b)
|
||||||
|
2 redo: q(2, b)
|
||||||
|
3 redo: t(2, b)
|
||||||
|
3 fail: t(2, _G316)
|
||||||
|
3 redo: s(2)
|
||||||
|
3 exit: s(3)
|
||||||
|
3 call: t(3, _G316)
|
||||||
|
3 fail: t(3, _G316)
|
||||||
|
3 redo: s(3)
|
||||||
|
3 fail: s(_G180)
|
||||||
|
2 fail: q(_G180, _G316)
|
||||||
|
1 fail: p(_G180)
|
||||||
|
|
||||||
|
no
|
||||||
|
|
||||||
|
|
||||||
|
% another example: expert system rules:
|
||||||
|
|
||||||
|
| rules::prove(weather(Wheather)).
|
||||||
|
|
||||||
|
Wheather = raining
|
||||||
|
yes
|
||||||
|
|
||||||
|
| ?- rules::prove(goto(Where)).
|
||||||
|
|
||||||
|
Where = cinema
|
||||||
|
yes
|
23
Logtalk/examples/metainterpreters/database.lgt
Normal file
23
Logtalk/examples/metainterpreters/database.lgt
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
:- object(database,
|
||||||
|
imports(solver, proof_tree, tracer)).
|
||||||
|
|
||||||
|
:- public(p/1).
|
||||||
|
:- private(q/2, r/1, s/1, t/2).
|
||||||
|
:- dynamic(p/1, q/2, r/1, s/1, t/2).
|
||||||
|
|
||||||
|
p(X) :- q(X, Y), r(Y).
|
||||||
|
|
||||||
|
q(X, Y) :- s(X), t(X, Y).
|
||||||
|
|
||||||
|
r(a).
|
||||||
|
r(b).
|
||||||
|
|
||||||
|
s(1).
|
||||||
|
s(2).
|
||||||
|
s(3).
|
||||||
|
|
||||||
|
t(1, a).
|
||||||
|
t(2, b).
|
||||||
|
|
||||||
|
:- end_object.
|
48
Logtalk/examples/metainterpreters/rules.lgt
Normal file
48
Logtalk/examples/metainterpreters/rules.lgt
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
:- category(engine).
|
||||||
|
|
||||||
|
:- public(prove/1).
|
||||||
|
|
||||||
|
:- public(if/1).
|
||||||
|
:- dynamic(if/1).
|
||||||
|
|
||||||
|
:- op(200, fx, if).
|
||||||
|
:- op(100, xfx, then).
|
||||||
|
|
||||||
|
prove(true) :-
|
||||||
|
!.
|
||||||
|
|
||||||
|
prove([]) :-
|
||||||
|
!.
|
||||||
|
prove([Cond| Conds]) :-
|
||||||
|
!,
|
||||||
|
prove(Cond),
|
||||||
|
prove(Conds).
|
||||||
|
|
||||||
|
prove(Fact) :-
|
||||||
|
::clause(Fact, true).
|
||||||
|
prove(Conclusion) :-
|
||||||
|
::clause(if Conds then Conclusion, true),
|
||||||
|
prove(Conds).
|
||||||
|
|
||||||
|
:- end_category.
|
||||||
|
|
||||||
|
|
||||||
|
:- object(rules,
|
||||||
|
imports(engine)).
|
||||||
|
|
||||||
|
:- public([weather/1, weekday/1, time/1, goto/1]).
|
||||||
|
:- dynamic([weather/1, weekday/1, time/1, goto/1]).
|
||||||
|
|
||||||
|
:- op(200, fx, if).
|
||||||
|
:- op(100, xfx, then).
|
||||||
|
|
||||||
|
if [weather(sunny), weekday(weekend), time(day)] then goto(beach).
|
||||||
|
if [weather(raining), weekday(weekend), time(night)] then goto(cinema).
|
||||||
|
if [weekday(workday), time(day)] then goto(work).
|
||||||
|
|
||||||
|
weather(raining).
|
||||||
|
weekday(weekend).
|
||||||
|
time(night).
|
||||||
|
|
||||||
|
:- end_object.
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -8,7 +8,7 @@ Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|||||||
|
|
||||||
To load this example and for sample queries, please see the SCRIPT file.
|
To load this example and for sample queries, please see the SCRIPT file.
|
||||||
|
|
||||||
This example shows the use of metapredicates in Logtalk. Metapredicates are
|
This example shows the use of meta-predicates in Logtalk. Meta-predicates are
|
||||||
predicates whose head contains arguments that will be called as goals in the
|
predicates whose head contains arguments that will be called as goals in the
|
||||||
body of the predicate definition.
|
body of the predicate definition.
|
||||||
|
|
||||||
@ -20,5 +20,5 @@ This example defines two objects:
|
|||||||
of the elements being sorted
|
of the elements being sorted
|
||||||
|
|
||||||
tracer
|
tracer
|
||||||
this object implements a metapredicate that is used by sort(_) to
|
this object implements a meta-predicate that is used by sort(_) to
|
||||||
trace the sorting algorithm steps
|
trace the sorting algorithm steps
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,12 +0,0 @@
|
|||||||
=================================================================
|
|
||||||
Logtalk - Object oriented extension to Prolog
|
|
||||||
Release 2.27.1
|
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|
||||||
=================================================================
|
|
||||||
|
|
||||||
|
|
||||||
To load this example and for sample queries, please see the SCRIPT file.
|
|
||||||
|
|
||||||
This folder contains three examples of parametric objects, the first two
|
|
||||||
dealing with time and date values and the third one representing rectangles.
|
|
12
Logtalk/examples/parametric/NOTES.txt
Normal file
12
Logtalk/examples/parametric/NOTES.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
=================================================================
|
||||||
|
Logtalk - Object oriented extension to Prolog
|
||||||
|
Release 2.28.2
|
||||||
|
|
||||||
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
|
||||||
|
To load this example and for sample queries, please see the SCRIPT file.
|
||||||
|
|
||||||
|
This folder contains some examples of parametric objects, dealing with
|
||||||
|
lists, time and date values, and rectangles.
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -12,6 +12,30 @@ Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|||||||
...
|
...
|
||||||
|
|
||||||
|
|
||||||
|
% some queries using the list parametric object:
|
||||||
|
|
||||||
|
| ?- [1, 2, 3]::member(X).
|
||||||
|
|
||||||
|
X = 1 ;
|
||||||
|
X = 2 ;
|
||||||
|
X = 3 ;
|
||||||
|
no
|
||||||
|
|
||||||
|
| ?- [1, 2, 3]::last(X).
|
||||||
|
|
||||||
|
X = 3
|
||||||
|
yes
|
||||||
|
|
||||||
|
| ?- [1, 2, 3]::nextto(2, Y).
|
||||||
|
|
||||||
|
Y = 3
|
||||||
|
yes
|
||||||
|
|
||||||
|
| ?- []::member(X)
|
||||||
|
|
||||||
|
no
|
||||||
|
|
||||||
|
|
||||||
% some queries using the time and date parametric objects:
|
% some queries using the time and date parametric objects:
|
||||||
|
|
||||||
| ?- date(Year, Month, Day)::today.
|
| ?- date(Year, Month, Day)::today.
|
||||||
@ -19,14 +43,12 @@ Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|||||||
Year = 2000
|
Year = 2000
|
||||||
Month = 8
|
Month = 8
|
||||||
Day = 15
|
Day = 15
|
||||||
|
yes
|
||||||
Yes
|
|
||||||
|
|
||||||
|
|
||||||
| ?- date(Year, _, _)::(today, \+ leap_year).
|
| ?- date(Year, _, _)::(today, \+ leap_year).
|
||||||
|
|
||||||
Year = 2002
|
Year = 2002
|
||||||
|
|
||||||
yes
|
yes
|
||||||
|
|
||||||
|
|
||||||
@ -35,8 +57,7 @@ yes
|
|||||||
Hours = 13
|
Hours = 13
|
||||||
Mins = 52
|
Mins = 52
|
||||||
Secs = 42
|
Secs = 42
|
||||||
|
yes
|
||||||
Yes
|
|
||||||
|
|
||||||
|
|
||||||
| ?- R = rectangle(W, H, X, Y), R::init, R::move(3, 4, NR), NR::position(X2, Y2).
|
| ?- R = rectangle(W, H, X, Y), R::init, R::move(3, 4, NR), NR::position(X2, Y2).
|
||||||
@ -49,5 +70,4 @@ Y = 0
|
|||||||
NR = rectangle(2, 1, 3, 4)
|
NR = rectangle(2, 1, 3, 4)
|
||||||
X2 = 3
|
X2 = 3
|
||||||
Y2 = 4
|
Y2 = 4
|
||||||
|
yes
|
||||||
Yes
|
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
@ -1,6 +1,6 @@
|
|||||||
=================================================================
|
=================================================================
|
||||||
Logtalk - Object oriented extension to Prolog
|
Logtalk - Object oriented extension to Prolog
|
||||||
Release 2.27.1
|
Release 2.28.2
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
||||||
=================================================================
|
=================================================================
|
||||||
@ -9,6 +9,9 @@ Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|||||||
This directory contains two versions, one prototype-based and the
|
This directory contains two versions, one prototype-based and the
|
||||||
other one class-based, of a very simple geometric shapes hierarchy.
|
other one class-based, of a very simple geometric shapes hierarchy.
|
||||||
|
|
||||||
|
The aim of this example is to compare the pros and cons of using
|
||||||
|
either prototypes or classes for defining object hierarchies.
|
||||||
|
|
||||||
ph
|
ph
|
||||||
prototype-based version
|
prototype-based version
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
=================================================================
|
|
||||||
Logtalk - Object oriented extension to Prolog
|
|
||||||
Release 2.27.1
|
|
||||||
|
|
||||||
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|
||||||
=================================================================
|
|
||||||
|
|
||||||
|
|
||||||
To load this example and for sample queries, please see the SCRIPT file.
|
|
||||||
|
|
||||||
You will need to load the following files in the library directory:
|
|
||||||
events_loader, types_loader, and hierarchies_loader. Alternatively,
|
|
||||||
you may load the library all_loader file to load all library entities.
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user