Logtalk 2.29.1 files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1744 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura 2006-12-28 13:03:34 +00:00
parent 7316eb490c
commit d79dd807e6
301 changed files with 6700 additions and 998 deletions

View File

@ -2,7 +2,7 @@
@misc{logtalkweb,
author = "Paulo Moura",
title = "Logtalk web site",
howpublished = "\url{http://www.logtalk.org/}"
howpublished = "\url{http://logtalk.org/}"
}
@ -33,7 +33,7 @@
school = "Department of Informatics, University of Beira Interior, Portugal",
month = sep,
year = 2003,
howpublished = "\url{http://www.logtalk.org/papers/thesis.pdf}"
howpublished = "\url{http://logtalk.org/papers/thesis.pdf}"
}
@ -42,7 +42,7 @@
Title = "{Category-Based Composition in Object-Oriented Languages}",
month = nov,
year = 2000,
howpublished = "\url{http://www.logtalk.org/papers/categories_ecoop.pdf}",
howpublished = "\url{http://logtalk.org/papers/categories_ecoop.pdf}",
annote = "Submitted to ECOOP 2001"
}
@ -54,7 +54,7 @@
number = "DMI 2000/1",
month = jul,
year = 2000,
howpublished = "\url{http://www.logtalk.org/files/trdmi20001a4.pdf.gz}"
howpublished = "\url{http://logtalk.org/files/trdmi20001a4.pdf.gz}"
}
@ -63,7 +63,7 @@
Title = "{Category-Based Composition in Object-Oriented Languages}",
month = apr,
year = 2000,
howpublished = "\url{http://www.logtalk.org/papers/categories_oopsla.pdf}",
howpublished = "\url{http://logtalk.org/papers/categories_oopsla.pdf}",
annote = "Submitted to OOPSLA 2000"
}

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -9,7 +9,8 @@ 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).
path is stored on the LOGTALKUSER environment variable; the folder itself
can be created by running the "cplgtdirs" shell command).
1. SETTING LIBRARY PATHS

View File

@ -1,16 +1,17 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
This file contains detailed instructions for installing and configuring
Logtalk. You should also consult the "scripts/NOTES" file for a description
of a set of shell scripts that might be used for Logtalk installation on
some operating-systems and for easy Logtalk integration with popular
Prolog compilers.
The recommended way of installing Logtalk is to use, whenever possible, one
of the provided installers. This file contains detailed instructions for
manual installation and configuration of Logtalk. You should also consult
the "scripts/NOTES" file for a description of a set of shell scripts that
might be used for Logtalk installation on some operating-systems and for
easy Logtalk integration with popular Prolog compilers.
Note that the broad compatibility of Logtalk, both with Prolog compilers and
operating-systems, together with all the possible user scenarios, means that

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,32 +10,36 @@ Quick start
===========
1. Install Logtalk by following the instructions on the "INSTALL" file.
Depending on your operating-system, working environment, and favorite
Prolog compiler, you may already have a script or a shortcut installed
for easily running Logtalk with your favorite Prolog compiler. If so,
skip the instructions below for starting up Logtalk.
1. Install Logtalk by using either the installer provided for your
operating-system (when available) or by following the instructions
on the "INSTALL" file. Depending on your operating-system, working
environment, and favorite Prolog compiler, you may already have a
script or a shortcut installed for easily running Logtalk with your
favorite Prolog compiler. If so, skip the instructions below for
starting up Logtalk.
2. Open the "manuals/index.html" file with a web browser.
3. Select the "Tutorial" link. This will provide you with a basic understanding
of the main Logtalk concepts.
3. Select the "Tutorial" link. This will provide you with a basic
understanding of the main Logtalk concepts.
4. Go back to the "index.html" file and select the "User Manual" link and then
the Installing and running Logtalk links. This will provide you with a basic
understanding of how to start Logtalk and compile and load Logtalk code.
4. Go back to the "index.html" file and select the "User Manual"
link and then the Installing and running Logtalk links. This will
provide you with a basic understanding of how to start Logtalk and
compile and load Logtalk code.
Assuming that Logtalk supports your Prolog compiler:
1. Read the "NOTES" file in the "configs" sub-directory to check if any patch
or workaround is needed for your compiler.
1. Read the "NOTES" file in the "configs" sub-directory to check if
any patch or workaround is needed for your compiler.
2. Start your Prolog compiler.
3. Change the current working directory of your Prolog session to the Logtalk
installation directory. If you don't know which predicate to use, check the
"configs/NOTES" file or your Prolog compiler reference manual.
3. Change the current working directory of your Prolog session to the
Logtalk installation directory. If you don't know which predicate to
use, check the "configs/NOTES" file or your Prolog compiler reference
manual.
4. Compile and load the config file for your Prolog compiler.
@ -75,18 +79,18 @@ them on your Prolog interpreter top-level.
Ready to start writing your own programs?
1. Read the User Manual sections on "Programming in Logtalk" and "Running and
debugging Logtalk programs".
1. Read the User Manual sections on "Programming in Logtalk" and "Running
and debugging Logtalk programs".
2. Take a look at the "wenv" sub-directory. There you will find syntax
configuration files for popular text editors that enable syntax coloring
and other goodies when editing Logtalk source files.
3. Create a sub-directory with a suitable name to hold all the files of your
application. You may want to add the directory path to the libpaths.pl file
mentioned above in order to easily load your application.
3. Create a sub-directory with a suitable name to hold all the files of
your application. You may want to add the directory path to the libpaths.pl
file mentioned above in order to easily load your application.
4. Copy to this sub-directory a loader file from one of the example directories
and modify it to load your own source files.
4. Copy to this sub-directory a loader file from one of the example
directories and modify it to load your own source files.
5. Have fun!

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -81,7 +81,8 @@ with just the word "help" in the subject or in the message body.
Logtalk can be installed either from sources by running a few shell scripts
or by using one of the provided installers, depending on your operating
system. See the file "INSTALL.txt" for detailed instructions.
system. For manual installation, see the file "INSTALL.txt" for detailed
instructions.
See the user manual for a description of the source files organization
and for using instructions (to read the user manual open the file

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,6 +10,102 @@ RELEASE NOTES
=============
2.29.1 - December 28, 2006
Added a Logtalk version of John Fletcher's Prolog XML parser (see the
folder "contributions/xml_parser").
Added shell scripts for helping building the distribution files of a
new Logtalk release. Updated the MacOS X installer package to set
default values for the Logtalk environment variables. Corrected a bug
in the logtalk.spec file where the default value for the LOGTALKUSER
environment variable only worked for the user doing the RPM installation.
Corrected a bug in the reporting of the line number where a compilation
error (or warning) occurred. Extended support for reporting warning and
error line numbers to Quintus Prolog, Ciao Prolog, Qu-Prolog, and
ECLiPSe.
Corrected a bug when using partial lists with the predicates nth0/3-4
and nth1/3-4 provided by the "list" library object.
Improved "philosophers" multi-threading programming example.
2.29.0 - December 18, 2006
Added a new built-in, empty object named "logtalk", which can play the
role of both a class and a prototype. It may be used to define class
hierarchies without forcing the use of metaclasses or reflective
designs.
Added a built-in protocol named "monitoring" with declarations for
the before/3 and after/3 public event handler predicates. Updated
the Logtalk compiler to print a warning when defining an event handler
with no reference to the "monitoring" protocol.
The default value of the compiler flag events/1 is now off. As most
applications do not use events, this setting ensures the best possible
message processing performance for those applications.
Removed the experimental threaded_call/2 and threaded_exit/2 thread
predicates, replaced by new threaded_once/1, threaded_ignore/1,
threaded_race/1, threaded_peek/1, and threaded_discard/1 predicates.
Renamed predicate directive atomic/1 to synchronized/1. Added new
entity directive synchronized/0. Added support for new "synchronized"
and "threaded" entity properties.
Corrected a bug when using threaded calls as initialization goals
within threaded objects.
Corrected an elusive bug in the Logtalk compiler where a source file
may not be properly closed when it contains a syntax error (thanks
to Robert Shiplett for the bug report).
Corrected a bug in the implementation of the built-in methods retract/1
and retractall/1 that could result in unexpected exceptions. Updated
the built-in method assertz/1 to always use the lookup cache.
Corrected a bug in the compilation of empty classes that are not
instances of a metaclass.
Corrected a bug in the built-in method predicate_property/2 where some
predicate properties may not be returned when enumerating properties
using backtracking.
Modified the SWI-Prolog config file and integration scripts to set
the flag "iso" to "true". Corrected an elusive bug in the definition
of predicate '$lgt_directory_exists'/1 that resulted in "library not
found" errors when loading Logtalk source files from within the
SWI-Prolog initialization file (thanks to Robert Shiplett for the bug
report).
Updated the K-Prolog config file to workaround a problem when using
library notation due to failure to check directory existence with the
provided "libpaths.pl" file.
Added a RELAX NG file describing the structure of the XML documenting
files generated by Logtalk.
Corrected a bug in the Logtalk DTD file (missing "copyright" tag
declaration).
Corrected a bug in the lgt2*.js scripts where the "custom.ent" file
was not being copied when generating (X)HTML and PDF files.
Added a new multi-threading example, "philosophers", illustrating a
possible implementation of the "dining philosophers" problem.
Improved the "metapredicates" example in order to illustrate the use
of closures instead of goals as meta-arguments.
Added a reference to the "e" Windows text editor, which supports
the MacOS X TextMate 1.x text editor syntax configuration files.
Updated the manuals index pages in order to workaround browsers bugs
with parsing of empty "span" tags (e.g. Internet Explorer and Opera).
2.28.2 - November 6, 2006
Corrected a compiler bug where unknown entities will not be report when

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -140,5 +140,15 @@ 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
config files that render the Logtalk runtime incompatible with the config
files of previous versions.
Logtalk 2.29.0 makes some incompatible changes to the experimental support
for multi-threading programming that may imply updating any application that
uses the multi-threading predicates. The default value of the compiler flag
events/1 is now off. Applications using event-driven programming must either
turn this flag on or compile source files with the events(on) option. The
library protocol "event_handlersp" is now deprecated; new code should use
instead the built-in "monitoring" protocol. The new support for "threaded"
and "synchronized" entity properties implies implying recompilation of all
objects and categories.

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -18,3 +18,9 @@ iso8601.lgt
one of the documentation helper scripts to transform the
resulting XML file into (X)HTML or PDF documentation. Your
feedback is appreciated.
xml_parser
Contributed by: John Fletcher
This folder contains a Logtalk version of John Fletcher's
Prolog XML parser (http://www.zen37763.zen.co.uk/xml.pl.html).

View File

@ -0,0 +1,19 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
This folder contains a Logtalk version of John Fletcher's Prolog XML
parser:
http://www.zen37763.zen.co.uk/xml.pl.html
To load this XML parser and for sample queries, please see the SCRIPT
file.
For a detailed description of this XML parser, please see the comments
in the "xml.lgt" source file or convert the automatically generated
documentation to HTML or PDF.

View File

@ -0,0 +1,34 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the necessary library support files (if not
% already loaded):
| ?- logtalk_load(library(types_loader)).
...
% now you are ready for loading the XML parser:
| ?- logtalk_load(xml_parser(loader)).
...
% let's try some examples (the goals generate XML files named qi.xml):
| ?- logtalk_load(xml_parser(examples)).
...
| ?- test(q1).
...
| ?- test(q2).
...
| ?- test(q12).
...

View File

@ -0,0 +1,36 @@
<bib>
<book year="1994">
<title>TCP/IP Illustrated</title>
<author><last>Stevens</last><first>W.</first></author>
<publisher>Addison-Wesley</publisher>
<price> 65.95</price>
</book>
<book year="1992">
<title>Advanced Programming in the Unix environment</title>
<author><last>Stevens</last><first>W.</first></author>
<publisher>Addison-Wesley</publisher>
<price>65.95</price>
</book>
<book year="2000">
<title>Data on the Web</title>
<author><last>Abiteboul</last><first>Serge</first></author>
<author><last>Buneman</last><first>Peter</first></author>
<author><last>Suciu</last><first>Dan</first></author>
<publisher>Morgan Kaufmann Publishers</publisher>
<price>39.95</price>
</book>
<book year="1999">
<title>The Economics of Technology and Content for Digital TV</title>
<editor>
<last>Gerbarg</last><first>Darcy</first>
<affiliation>CITI</affiliation>
</editor>
<publisher>Kluwer Academic Publishers</publisher>
<price>129.95</price>
</book>
</bib>

View File

@ -0,0 +1,15 @@
<chapter>
<title>Data Model</title>
<section>
<title>Syntax For Data Model</title>
</section>
<section>
<title>XML</title>
<section>
<title>Basic Syntax</title>
</section>
<section>
<title>XML and Semistructured Data</title>
</section>
</section>
</chapter>

View File

@ -0,0 +1,387 @@
/* Using xml.pl to solve XML Query Cases - An Example
*
* The following is a complete example to illustrate how the module can be used;
* it exercises both the input and output parsing modes of xml::parse/[2,3], and
* illustrates the use of xml::subterm/2 to access the nodes of a "document value
* model". It's written for Quintus Prolog, but should port to other Prologs
* easily.
*
* The entry-point of the program is the test/1 predicate.
*
* test( +QueryId ) executes a Prolog implementation of a Query from Use Case
* "XMP": Experiences and Exemplars, in the W3C's XML Query Use Cases, which
* "contains several example queries that illustrate requirements gathered from
* the database and document communities".
* <http://www.w3.org/TR/2002/WD-xmlquery-use-cases-20021115/#xmp>
*
* QueryId is one of q1…q12 selecting which of the 12 use cases is executed.
* The XML output is written to the file [QueryId].xml in the current directory.
*
* xml::pp/1 is used to display the resulting "document value model"
% data-structures on the user output (stdout) stream.
*/
test( Query ) :-
xml_query( Query, ResultElement ),
% Parse output XML into the Output chars
xml::parse( Codes, xml([], [ResultElement]) ),
atom_concat( Query, '.xml', OutputFile ),
% Write OutputFile from the Output list of chars
open( OutputFile, write, Output ),
put_codes( Codes, Output ),
close( Output ),
% Pretty print OutputXML
write( 'Output XML' ), nl,
xml::pp( xml([], [ResultElement]) ).
/* xml_query( +QueryNo, ?OutputXML ) when OutputXML is an XML Document Value Model
* produced by running an example taken, identified by QueryNo from the XML Query
* "XMP" use case.
*/
% Q1: List books published by Addison-Wesley after 1991, including their year and
% title.
xml_query( q1, element(bib, [], Books) ) :-
element_name( Title, title ),
element_name( Publisher, publisher ),
input_document( 'bib.xml', Bibliography ),
findall(
element(book, [year=Year], [Title]),
(
xml::subterm( Bibliography, element(book, Attributes, Content) ),
xml::subterm( Content, Publisher ),
xml::subterm( Publisher, Text ),
text_value( Text, "Addison-Wesley" ),
list::member( year=Year, Attributes ),
number_codes( YearNo, Year ),
YearNo > 1991,
xml::subterm( Content, Title )
),
Books
).
% Q2: Create a flat list of all the title-author pairs, with each pair enclosed
% in a "result" element.
xml_query( q2, element(results, [], Results) ) :-
element_name( Title, title ),
element_name( Author, author ),
element_name( Book, book ),
input_document( 'bib.xml', Bibliography ),
findall(
element(result, [], [Title,Author]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
xml::subterm( Book, Author )
),
Results
).
% Q3: For each book in the bibliography, list the title and authors, grouped
% inside a "result" element.
xml_query( q3, element(results, [], Results) ) :-
element_name( Title, title ),
element_name( Author, author ),
element_name( Book, book ),
input_document( 'bib.xml', Bibliography ),
findall(
element(result, [], [Title|Authors]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
findall( Author, xml::subterm(Book, Author), Authors )
),
Results
).
% Q4: For each author in the bibliography, list the author's name and the titles
% of all books by that author, grouped inside a "result" element.
xml_query( q4, element(results, [], Results) ) :-
element_name( Title, title ),
element_name( Author, author ),
element_name( Book, book ),
input_document( 'bib.xml', Bibliography ),
findall( Author, xml::subterm(Bibliography, Author), AuthorBag ),
sort( AuthorBag, Authors ),
findall(
element(result, [], [Author|Titles]),
(
list::member( Author, Authors ),
findall( Title, (
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Author ),
xml::subterm( Book, Title )
),
Titles
)
),
Results
).
% Q5: For each book found at both bn.com and amazon.com, list the title of the
% book and its price from each source.
xml_query( q5, element('books-with-prices', [], BooksWithPrices) ) :-
element_name( Title, title ),
element_name( Book, book ),
element_name( Review, entry ),
input_document( 'bib.xml', Bibliography ),
input_document( 'reviews.xml', Reviews ),
findall(
element('book-with-prices', [], [
Title,
element('price-bn',[], BNPrice ),
element('price-amazon',[], AmazonPrice )
] ),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
xml::subterm( Reviews, Review ),
xml::subterm( Review, Title ),
xml::subterm( Book, element(price,_, BNPrice) ),
xml::subterm( Review, element(price,_, AmazonPrice) )
),
BooksWithPrices
).
% Q6: For each book that has at least one author, list the title and first two
% authors, and an empty "et-al" element if the book has additional authors.
xml_query( q6, element(bib, [], Results) ) :-
element_name( Title, title ),
element_name( Author, author ),
element_name( Book, book ),
input_document( 'bib.xml', Bibliography ),
findall(
element(book, [], [Title,FirstAuthor|Authors]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
findall( Author, xml::subterm(Book, Author), [FirstAuthor|Others] ),
other_authors( Others, Authors )
),
Results
).
% Q7: List the titles and years of all books published by Addison-Wesley after
% 1991, in alphabetic order.
xml_query( q7, element(bib, [], Books) ) :-
element_name( Title, title ),
element_name( Publisher, publisher ),
input_document( 'bib.xml', Bibliography ),
findall(
Title-element(book, [year=Year], [Title]),
(
xml::subterm( Bibliography, element(book, Attributes, Book) ),
xml::subterm( Book, Publisher ),
xml::subterm( Publisher, Text ),
text_value( Text, "Addison-Wesley" ),
list::member( year=Year, Attributes ),
number_codes( YearNo, Year ),
YearNo > 1991,
xml::subterm( Book, Title )
),
TitleBooks
),
keysort( TitleBooks, TitleBookSet ),
range( TitleBookSet, Books ).
% Q8: Find books in which the name of some element ends with the string "or" and
% the same element contains the string "Suciu" somewhere in its content. For each
% such book, return the title and the qualifying element.
xml_query( q8, element(bib, [], Books) ) :-
element_name( Title, title ),
element_name( Book, book ),
element_name( QualifyingElement, QualifyingName ),
list::append( "Suciu", _Back, Suffix ),
input_document( 'bib.xml', Bibliography ),
findall(
element(book, [], [Title,QualifyingElement]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, QualifyingElement ),
atom_codes( QualifyingName, QNChars ),
list::append( _QNPrefix, "or", QNChars ),
xml::subterm( QualifyingElement, TextItem ),
text_value( TextItem, TextValue ),
list::append( _Prefix, Suffix, TextValue ),
xml::subterm( Book, Title )
),
Books
).
% Q9: In the document "books.xml", find all section or chapter titles that
% contain the word "XML", regardless of the level of nesting.
xml_query( q9, element(results, [], Titles) ) :-
element_name( Title, title ),
list::append( "XML", _Back, Suffix ),
input_document( 'books.xml', Books ),
findall(
Title,
(
xml::subterm( Books, Title ),
xml::subterm( Title, TextItem ),
text_value( TextItem, TextValue ),
list::append( _Prefix, Suffix, TextValue )
),
Titles
).
% Q10: In the document "prices.xml", find the minimum price for each book, in the
% form of a "minprice" element with the book title as its title attribute.
xml_query( q10, element(results, [], MinPrices) ) :-
element_name( Title, title ),
element_name( Price, price ),
input_document( 'prices.xml', Prices ),
findall( Title, xml::subterm(Prices, Title), TitleBag ),
sort( TitleBag, TitleSet ),
element_name( Book, book ),
findall(
element(minprice, [title=TitleString], [MinPrice]),
(
list::member( Title, TitleSet ),
xml::subterm( Title, TitleText ),
text_value( TitleText, TitleString ),
findall( PriceValue-Price, (
xml::subterm( Prices, Book ),
xml::subterm( Book, Title ),
xml::subterm( Book, Price ),
xml::subterm( Price, Text ),
text_value( Text, PriceChars ),
number_codes( PriceValue, PriceChars )
),
PriceValues
),
minimum( PriceValues, PriceValue-MinPrice )
),
MinPrices
).
% Q11: For each book with an author, return the book with its title and authors.
% For each book with an editor, return a reference with the book title and the
% editor's affiliation.
xml_query( q11, element(bib, [], Results) ) :-
element_name( Title, title ),
element_name( Author, author ),
element_name( Book, book ),
element_name( Editor, editor ),
element_name( Affiliation, affiliation ),
input_document( 'bib.xml', Bibliography ),
findall(
element(book, [], [Title,FirstAuthor|Authors]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
findall( Author, xml::subterm(Book, Author), [FirstAuthor|Authors] )
),
Books
),
findall(
element(reference, [], [Title,Affiliation]),
(
xml::subterm( Bibliography, Book ),
xml::subterm( Book, Title ),
xml::subterm( Book, Editor ),
xml::subterm( Editor, Affiliation )
),
References
),
list::append( Books, References, Results ).
% Q12: Find pairs of books that have different titles but the same set of authors
% (possibly in a different order).
xml_query( q12, element(bib, [], Pairs) ) :-
element_name( Author, author ),
element_name( Book1, book ),
element_name( Book2, book ),
element_name( Title1, title ),
element_name( Title2, title ),
input_document( 'bib.xml', Bibliography ),
findall(
element('book-pair', [], [Title1,Title2]),
(
xml::subterm( Bibliography, Book1 ),
findall( Author, xml::subterm(Book1, Author), AuthorBag1 ),
sort( AuthorBag1, AuthorSet ),
xml::subterm( Bibliography, Book2 ),
Book2 @< Book1,
findall( Author, xml::subterm(Book2, Author), AuthorBag2 ),
sort( AuthorBag2, AuthorSet ),
xml::subterm( Book1, Title1 ),
xml::subterm( Book2, Title2 )
),
Pairs
).
% Auxilliary Predicates
other_authors( [], [] ).
other_authors( [Author|Authors], [Author|EtAl] ) :-
et_al( Authors, EtAl ).
et_al( [], [] ).
et_al( [_|_], [element('et-al',[],[])] ).
text_value( [pcdata(Text)], Text ).
text_value( [cdata(Text)], Text ).
element_name( element(Name, _Attributes, _Content), Name ).
/* range( +Pairs, ?Range ) when Pairs is a list of key-datum pairs and Range
* is the list of data.
*/
range( [], [] ).
range( [_Key-Datum|Pairs], [Datum|Data] ) :-
range( Pairs, Data ).
/* minimum( +List, ?Min ) is true if Min is the least member of List in the
* standard order.
*/
minimum( [H|T], Min ):-
minimum1( T, H, Min ).
minimum1( [], Min, Min ).
minimum1( [H|T], Min0, Min ) :-
compare( Relation, H, Min0 ),
minimum2( Relation, H, Min0, T, Min ).
minimum2( '=', Min0, Min0, T, Min ) :-
minimum1( T, Min0, Min ).
minimum2( '<', Min0, _Min1, T, Min ) :-
minimum1( T, Min0, Min ).
minimum2( '>', _Min0, Min1, T, Min ) :-
minimum1( T, Min1, Min ).
/* input_document( +File, ?XML ) reads File and parses the input into the
* "Document Value Model" XML.
*/
input_document( File, XML ) :-
% Read InputFile as a list of chars
open( File, read, Input ),
get_codes( Input, Codes ),
close( Input ),
% Parse the Input chars into the term XML
xml::parse( Codes, XML ).
put_codes( [], _ ).
put_codes( [Code|Codes], Output ) :-
put_code( Output, Code ),
put_codes( Codes, Output ).
get_codes( Input, [Code|Codes] ) :-
\+ at_end_of_stream( Input ),
get_code( Input, Code ),
get_codes( Input, Codes ).
get_codes( _, [] ).

View File

@ -0,0 +1,13 @@
:- initialization(
logtalk_load(xml)).
/*
If you intend to use the FOP XSL:FO processor for generating PDF documenting
files, comment the directive above and uncomment the directive below
:- initialization(
logtalk_load(
xml,
[xmlsref(standalone)])).
*/

View File

@ -0,0 +1,32 @@
<prices>
<book>
<title>Advanced Programming in the Unix environment</title>
<source>www.amazon.com</source>
<price>65.95</price>
</book>
<book>
<title>Advanced Programming in the Unix environment</title>
<source>www.bn.com</source>
<price>65.95</price>
</book>
<book>
<title>TCP/IP Illustrated</title>
<source>www.amazon.com</source>
<price>65.95</price>
</book>
<book>
<title>TCP/IP Illustrated</title>
<source>www.bn.com</source>
<price>65.95</price>
</book>
<book>
<title>Data on the Web</title>
<source>www.amazon.com</source>
<price>34.95</price>
</book>
<book>
<title>Data on the Web</title>
<source>www.bn.com</source>
<price>39.95</price>
</book>
</prices>

View File

@ -0,0 +1,25 @@
<reviews>
<entry>
<title>Data on the Web</title>
<price>34.95</price>
<review>
A very good discussion of semi-structured database
systems and XML.
</review>
</entry>
<entry>
<title>Advanced Programming in the Unix environment</title>
<price>65.95</price>
<review>
A clear and detailed discussion of UNIX programming.
</review>
</entry>
<entry>
<title>TCP/IP Illustrated</title>
<price>65.95</price>
<review>
One of the best books on TCP/IP.
</review>
</entry>
</reviews>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -107,11 +107,11 @@
:- object(stack_monitor,
implements(event_handlersp)).
implements(monitoring)).
:- info([
version is 1.0,
date is 1998/3/23,
version is 1.1,
date is 2006/12/14,
author is 'Paulo Moura',
comment is 'Monitor for brick movements printing an ascii representation of each brick position.']).

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -112,22 +112,22 @@ yes
% parsing URLs:
| ?- url::parse("http://www.logtalk.org", Components).
| ?- url::parse("http://logtalk.org", Components).
Components = [protocol(http), address([www, logtalk, org]), path([]), file('')]
yes
| ?- url::parse("http://www.logtalk.org/", Components).
| ?- url::parse("http://logtalk.org/", Components).
Components = [protocol(http), address([www, logtalk, org]), path(['']), file('')]
yes
| ?- url::parse("http://www.logtalk.org/cvs", Components).
| ?- url::parse("http://logtalk.org/cvs", Components).
Components = [protocol(http), address([www, logtalk, org]), path([cvs]), file('')]
yes
| ?- url::parse("http://www.logtalk.org/cvs.html", Components).
| ?- url::parse("http://logtalk.org/cvs.html", Components).
Components = [protocol(http), address([www, logtalk, org]), path([]), file('cvs.html')]
yes

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -25,7 +25,7 @@
% singleton variables in predicate clause
predicate(A) :-
write(C).
:- end_object.

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -89,7 +89,7 @@ no
% another example: expert system rules:
| rules::prove(weather(Wheather)).
| ?- rules::prove(weather(Wheather)).
Wheather = raining
yes

View File

@ -34,6 +34,8 @@
:- public([weather/1, weekday/1, time/1, goto/1]).
:- dynamic([weather/1, weekday/1, time/1, goto/1]).
:- dynamic(if/1).
:- op(200, fx, if).
:- op(100, xfx, then).

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -59,3 +59,30 @@ exit: sort([4,9],[4,9])
Sorted = [1,2,3,4,9] ?
yes
% call the meta-predicate apply/2 directly:
| ?- meta::test_this.
1, meta
yes
% send an apply/2 message to self:
| ?- desc::test_self.
2, desc
yes
% send an apply/2 message from another object:
| ?- test::test_obj.
3, test
yes

View File

@ -0,0 +1,56 @@
/* Logtalk meta-predicates accept not only goals but also closures
as meta-arguments as illustrated in this example
*/
:- object(meta).
% the meta_predicate/1 directive below changes the interpretation of meta-calls on apply/2
% clauses; the integer argument ("1") implies that the first argument is a closure that will
% be used to construct a goal by appending exactly one additional argument
:- public(apply/2).
:- mode(apply(+callable, ?term), zero_or_more).
:- meta_predicate(apply(1, *)).
apply(Closure, Arg) :- % the Logtalk compiler verifies that any closure which is a
call(Closure, Arg). % meta-argument is used within a call/N method that honors the
% meta-predicate directive (in this case, apply(1, *) => call/2)
:- public(test_this/0). % simple predicate for testing calls to a local meta-predicate
test_this :-
apply(foo(X), Y),
write((X, Y)), nl.
foo(1, meta).
:- end_object.
:- object(desc,
extends(meta)).
:- public(test_self/0). % simple predicate for testing calls to a meta-predicate
% defined in an ancestor object
test_self :-
::apply(foo(X), Y),
write((X, Y)), nl.
foo(2, desc).
:- end_object.
:- object(test).
:- public(test_obj/0). % simple predicate for testing calls to a meta-predicate
% defined in another object
test_obj :-
meta::apply(foo(X), Y),
write((X, Y)), nl.
foo(3, test).
:- end_object.

View File

@ -1,13 +1,15 @@
:- initialization(
logtalk_load(
[metapredicates])).
logtalk_load([
closures,
metapredicates])).
/*
If you intend to use the FOP XSL:FO processor for generating PDF documenting
files, comment the directive above and uncomment the directive below
:- initialization(
logtalk_load(
[metapredicates], [xmlsref(standalone)])).
logtalk_load([
closures,
metapredicates], [xmlsref(standalone)])).
*/

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,13 +1,13 @@
:- object(message_counter,
implements(event_handlersp),
implements(monitoring),
imports(monitor)).
:- info([
version is 1.0,
version is 1.1,
author is 'Paulo Moura',
date is 1998/3/23,
date is 2006/12/14,
comment is 'Message counter monitor.']).

View File

@ -1,13 +1,13 @@
:- object(stop_watch,
implements(event_handlersp),
implements(monitoring),
imports(monitor)).
:- info([
version is 1.0,
version is 1.1,
author is 'Paulo Moura',
date is 1998/3/23,
date is 2006/12/14,
comment is 'Message executing time monitor.']).

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,4 +1,7 @@
% we use a parametric object in order to give an interpretation to an
% object proxy arguments and to encapsulate relevant predicates:
:- object(circle(_Radius, _Color)).
:- public([

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.2
Release 2.29.1
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

Some files were not shown because too many files have changed in this diff Show More