================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.8

Copyright (c) 1998-2007 Paulo Moura.  All Rights Reserved.
================================================================


RELEASE NOTES
=============


2.30.8 - November 9, 2007

	Fixed bug in the compilation of synchronized predicates that breaks 
	Logtalk on single-threaded Prolog compilers.


2.30.7 - November 5, 2007

	Updated the multi-threading built-in predicates threaded_notify/1 and 
	threaded_wait/1 to accept lists of notifications.

	Added a new read-only compiler flag, "context_switching_calls", allowing 
	context switching calls to be disabled (they are enabled by default).

	Updated the B-Prolog config file to recognize eager_consume/1 directives.
	Updated the XSB config file to recognize use_subsumptive_tabling/1,
	use_variant_tabling/1, index/1, thread_private/1, and thread_shared/1 
	directives.
	Updated the YAP config file to recognize thread_local/1 directives.
	Updated the SICStus Prolog config files to recognize volatile/1 directives.
	Updated the SWI-Prolog config file to recognize thread_local/1, index/1, 
	and hash/1 directives.

	Changed the backup directory names generated by the "cplgtdirs.*" shell 
	scripts to not include whitespace characters.

	Updated the "xsbmtlgt.sh" integration script to start XSB-MT using the 
	new command-line option "--shared_predicates" (requires current XSB CVS 
	version). Updated the Windows GUI installer to support running Logtalk 
	with XSB-MT.

	Added a multi-threading example, "barriers", of barrier synchronization.

	Updated the "functions" example sample queries for compatibility with the 
	ISO Prolog standard regarding representation of float numbers.

	Added a workaround for a parsing bug in XSB while compiling the "sicstus" 
	example.


2.30.6 - October 21, 2007

	Replaced calls to the proprietary current_thread/2 predicate in the 
	Logtalk runtime by calls to the thread_property/2 predicate as per 
	the ISO DTR on multi-threading predicates. Added a goal_expansion/2 
	clause to the SWI-Prolog config file to automatically switch between 
	the current_thread/2 and thread_property/2 predicates depending on 
	availability.

	Changed handling of the encoding/1 directive by the Logtalk compiler in 
	order to improve compatibility with YAP and SICStus Prolog. Removed from 
	the config files the now obsolete '$lgt_set_stream_encoding'/2 predicate 
	definition. Renamed the compiler option "supports_encoding_dir" to 
	"encoding_directive" and changed its possible values to "unsupported", 
	"full" (used in both Logtalk source files and compiler generated Prolog 
	files), and "source" (used only in Logtalk source files).

	Renamed compiler option "underscore_vars" to "underscore_variables".
	Renamed compiler option "supports_break_predicate" to "break_predicate".

	Improved the performance of recursive predicate definitions synchronized 
	by mutexes. Explicitly create all mutexes used by an entity at load time 
	for compatibility with XSB. Several changes to multi-threading support in 
	order to improve compatibility with current and forthcoming versions of 
	YAP, SWI-Prolog, and XSB.

	Updated the Logtalk compiler for compatibility with both logical and 
	immediate update semantics when compiling synchronized predicates.

	Updated the meta-predicate compilation sanity checks to verify the 
	existence of the minimum number of normal arguments in a clause head 
	required by the closure of maximum arity.

	Added a workaround for the lack of built-in support for character 
	unbuffered input when using the Logtalk built-in debugger to the config 
	files of ALS Prolog, B-Prolog, Ciao, CxProlog, IF/Prolog, JIProlog, 
	Prolog II+, SICStus Prolog, XSB, and YAP. Thanks to Parker Jones for the 
	bug report.

	Updated the YAP config file to auto-detect working Unicode support when 
	setting the "encoding_directive" compiler option.

	Updated the XSB config file to auto-detect multi-threading support
	when setting the "threads" compiler option. Added an integration script 
	(xsbmtlgt.sh) and supporting files for the multi-threaded version of XSB 
	(requires current development version, available from the XSB CVS server).

	Added a MacPorts portfile for building MacOS X installer packages.

	Added a BOM to the "babel.lgt" UTF-8 file in the "encodings" example in 
	order to improve compatibility with SICStus Prolog.

	Updated the library object "random" by replacing the synchronized/0 
	directive by a synchronized/1 directive listing only the predicates 
	that modify the random number seed.

	Added syntax coloring support for the GtkSourceView 2.x text widget 
	(used e.g. on the Gnome's Gedit text editor and on the MonoDevelop IDE).
	Removed syntax coloring for the obsolete atomic/1 predicate directive 
	from the support files of Source-highlight, Emacs, SubEthaEdit, jEdit, 
	and Kate. Optimized the regular expressions used in most syntax coloring 
	configuration files of supported text editors.


2.30.5 - September 19, 2007

	Added new multi-threading built-in predicates threaded_call/2, 
	threaded_once/2, threaded_exit/2, and threaded_peek/2. These new 
	predicates support the use of threaded call identifier tags in order to 
	link specific threaded_call/2 and threaded_once/2 calls to specific 
	threaded_exit/2 and threaded_peek/2 calls. Extended the "nondet" example 
	in order to illustrate the new functionality.

	Changed the implementation of the built-in predicate threaded_exit/1 in 
	order to avoid blocking when its argument is subsumed by the argument of 
	the corresponding threaded_call/1 call instead of being a variant.

	Updated the Logtalk compiler to encapsulate resource errors inside 
	error/2 exception terms (as specified in the ISO Prolog core standard).

	Corrected a bug in the library object "lgtunit" (wrong arity on two 
	failed_test/2 predicate calls).

	Corrected two problems with the "testing" example: a wrong call on the 
	object "dyn_tests" and a missing entry in the "libpaths.pl" file. Removed 
	two pointless dynamic predicate directives in the "buffer" example.

	Improved documentation of multi-threading programming and predicate 
	properties. Corrected the reference manual page describing the threaded/0 
	directive.

	Simplified installation scripts by moving shared distribution cleaning 
	code into the "cleandist.sh" script. Updated the "install.sh" script to 
	set the installation prefix to "/usr" on Debian systems. Updated the 
	Linux RPM spec file in order to clean the building directory after the 
	package creation.


2.30.4 - August 22, 2007

	Allow the argument of {}/1 calls to be a variable at compile time.

	Updated the Qu-Prolog config file to match and require version 8.1 and 
	added a "qplgt" integration script.

	Updated the XSB config file to match and require version 3.1 and to 
	take advantage of the compiler option optimize/1 when loading Logtalk 
	generated Prolog intermediate files.

	Added a new library object, "lgtunit", providing preliminary support for 
	writing and running unit tests. Added a new example, "testing", defining 
	sample unit tests.

	Added a new multi-threading example, "threads/tak", implementing the 
	Takeuchi function (recursive arithmetic).

	Updated the "threads/philosophers" example to use notifications instead 
	of a dynamic predicate for representing chopstick availability. Added an 
	alternative implementation using a parametric object. Improved example 
	documentation.

	Updated the "benchmarks" example to allow comparisons between calls to 
	imported category predicates and calls to local object predicates.

	Updated Emacs support in order to fix problems with the syntax-coloring 
	of some Logtalk built-in predicates and applied a patch contributed by 
	Nicolas Pelletier to workaround a compatibility problem with XEmacs.

	Updated jEdit support in order to fix a problem with the syntax-coloring 
	of the :/1 control construct.


2.30.3 - July 9, 2007

	Updated the multi-threading built-in predicate threaded/1 to support 
	both conjunctions of goals (akin to and-parallelism) and disjunctions 
	of goals (akin to or-parallelism) as an argument.

	Removed the experimental threaded_race/1 multi-threading built-in 
	predicate (its or-parallelism functionality is subsumed by the updated 
	threaded/1 predicate).

	Corrected a bug in the implementation of the multi-threading built-in 
	predicate threaded_exit/1 when there are more than one thread running 
	the same non-deterministic goal (the fix ensures that all alternative 
	solutions per threaded_exit/1 call come from the same computing thread). 
	Thanks to Paul Crocker for the suggested bug fix solution.

	Updated the sample queries in the "threads/buffer"/SCRIPT.txt" file to 
	match the updated entities in the example.

	Updated the "threads/functions" example to use the new version of the 
	threaded/1 multi-threading built-in predicate.


2.30.2 - June 24, 2007

	Updated the Logtalk compiler to throw a compilation error when duplicated 
	or conflicting predicate scope directives are found.

	Updated the Logtalk compiler to correct a cosmetic glitch when reporting 
	compilation errors.

	Updated the Logtalk compiler to check for mismatches between the argument 
	of this/1 calls and the parametric object identifier.

	Corrected a bug in the implementation of the multi-threading built-in 
	predicate threaded_ignore/1.

	Revamped the "threads/buffer" example to support setting the buffer 
	maximum number of items.

	Added a new DCG example, "dcgs/morse.lgt", for parsing messages in Morse 
	code.

	Extended the "parametric" example to illustrate a solution for dealing 
	with inheritance when defining "setter" predicates/methods that return 
	updated object identifiers.


2.30.1 - June 12, 2007

	Added a new, experimental control construct, :/1, for calling imported 
	category predicates without using message sending mechanisms.

	Added preliminary support for static binding when calling imported 
	category using the new :/1 control construct for categories compiled 
	and loaded using the compiler option "reload(skip)".

	Added a new control construct, <</2, which allows proving a goal within 
	the context of a specified object. Useful for debugging and for writing 
	object unit tests.

	Improved multi-threading support in order to make the built-in predicate 
	threaded_exit/1 generate an exception instead of blocking indefinitely 
	waiting for a reply from a non-existing thread.

	Updated the Logtalk compiler to generate an error when compiling from a 
	source file new definitions for built-in entities.

	Updated the Logtalk compiler to generate simpler clauses for the book-
	keeping table of local predicate definitions for parametric entities.

	Updated the config files for ECLiPSe, Ciao Prolog, SICStus Prolog, 
	SWI-Prolog, and YAP to use the renamed hook predicates introduced in 
	Logtalk 2.30.0 for parsing Prolog proprietary directives.

	Updated the "benchmarks" example to compare the performance of calls to 
	imported category predicates when using a message to "self" and a direct 
	call.


2.30.0 - May 28, 2007

	Added preliminary support for static binding when sending messages to 
	objects compiled and loaded using the compiler option "reload(skip)".

	Allow non-instantiated arguments at compile time for the multi-threading 
	built-in predicate threaded/1.

	Simplified and optimized the implementation of Logtalk multi-threading 
	support. Use a single dispatcher thread for all objects instead of each 
	object running its own dispatcher in order to minimize the number of 
	created threads (which can be problematic on 32 bits systems). Updated 
	the built-in predicate threaded/1 to make it deterministic and opaque to 
	cuts (similar to once/1).

	Updated the Logtalk built-in database methods to always interpret rules 
	whose body is the control construct true/0 as facts. Corrected a bug when 
	compiling dynamic predicates that would prevent using of the clause/2 
	built-in database method. Corrected a bug when using the Logtalk built-in 
	database method clause/2 with entities compiled in debug mode. Improved 
	predicate lookup caching when asserting and retracting dynamic facts.

	Improved detection and reporting of entity existence errors.

	Added a quit option, "q", to the Logtalk built-in debugger. Modified 
	the debugger behavior to automatically switch to trace mode when a spy 
	point is found.

	Added two new compiler options, "xmldir" and "tmpdir", allowing per 
	project definition of directories for storing XML documenting files 
	and for storing intermediate compilation files (e.g. Prolog files).
	Removed the config file predicate '$lgt_alt_directory'/2.
	Older config files are incompatible with this new Logtalk version.

	Added a shortcut to the Logtalk built-in predicate logtalk_load/1, {}/1,
	to all config files (defined there in order to be easy to comment it out 
	in case of conflict with some Prolog native feature or lack of compliance
	with the ISO Prolog standard regarding the definition of the {}/1 syntax.

	Allow the compiler flag "misspelt" to be set to "error".

	Updated the Logtalk compiler to not try to clean-up the dynamic predicates
	of redefined entities when reloading source files. Most Prolog compilers 
	already behave as expected when reloading the intermediate Prolog files 
	generated by the Logtalk compiler. For those Prolog compilers that do not 
	replace old definitions for dynamic predicates with the new ones, it is 
	not possible for Logtalk to implement a workaround that would work 
	correctly in all cases. Consult the "configs/NOTES.txt" file for more 
	information.

	Corrected a bug that prevents abolishing a dynamic entity loaded from a 
	source file. Thanks to Victor Noel for the bug report.

	Renamed the '$lgt_copy_pl_directive'/1 and '$lgt_rewrite_pl_directive'/2 
	config files predicates to '$lgt_rewrite_and_copy_pl_directive'/2 and 
	'$lgt_rewrite_and_recompile_pl_directive'/2. 

	Updated the config file for B-Prolog to match (and require) the new 7.0 
	version; updated and simplified the corresponding integration scripts.

	Updated the XSB POSIX integration script to automatically detect if we 
	are running the XSB stable version of the XSB CVS version.

	Added basic support for tabling to the config files of B-Prolog, XSB, 
	and YAP. Added a simple example of using tabling directives within 
	objects.

	Updated the SWI-Prolog and YAP config files to automatically detect if 
	the Prolog systems have been compiled with multi-threading support and 
	to set the Logtalk compiler flag "threads" accordingly.

	Corrected a bug when running Logtalk with SWI-Prolog that prevented the 
	use of alternative compilation directories (i.e. turning on the "altdirs" 
	compiler flag). Corrected a bug when running Logtalk with SWI-Prolog that 
	can prevent make/0 from recompiling and reloading modified Logtalk source 
	files. Updated the SWI-Prolog integration script, "swilgt.sh", to more 
	reliably detect the compiler executable name.

	Added a "configs/swi_set_logtalk_context.pl" file defining a useful but 
	fragile hack implementing a set_logtalk_context/1 built-in predicate for 
	switching the Logtalk top-level execution context to objects other than 
	the default pseudo-object "user" (you may use it as a debugging tool).

	Updated the CxProlog config file to use the new built-in predicates in 
	version 0.95. Added a shell script, "cxlgt.sh", for easy integration of 
	Logtalk with CxProlog on POSIX systems (with the help of Artur Miguel 
	Dias, CxProlog author).

	Updated the Ciao, K-Prolog, and ECLiPSe config files to set the default 
	value for the compiler flag "underscore_vars" to "dont_care" in order to 
	avoid spurious warnings with some of the provided examples.

	Added a config file and integration scripts for the current XSB CVS 
	version (3.0.1+), which supports some features needed by Logtalk not 
	present in the current stable version (namely, expansion of environment 
	variables).

	Added predicates depth/2 and variant/2 to the library object "term".

	Much improved "benchmarks" example, updated to allow running tests in 
	three different scenarios: event support on, event support off, and 
	using static binding. Moreover, metacalls are no longer used to run 
	the benchmark goals, resulting in more meaningful and accurate results.

	Removed all the "make_*lgt.*" and "makeall_lgt.*" shell scripts, replaced 
	by pre-made integration scripts that can be found on the new "integration"
	directory. Removed the "lgt_install.js" script. Renamed the POSIX install 
	and uninstall scripts to, respectively, "install.sh" and "uninstall.sh".
	Updated the integration, uninstall, and user-setup POSIX shell scripts 
	to use "$prefix/share/logtalk" as the default installation directory to 
	better comply with the Filesystem Hierarchy Standard 2.3 for UNIX-like 
	operating systems.

	Updated the integration scripts to automatically call the "cplgtdirs" 
	script when the Logtalk user directory cannot be located.

	Updated the integration, documentation, uninstall, and user-setup POSIX 
	shell scripts to try to locate the Logtalk installation directory and the 
	Logtalk user directory when the environment variables LOGTALKHOME and 
	LOGTALKUSER are not set.

	Updated the "install.sh" POSIX shell script to better clean and sanitize 
	the file permissions on the installation directory.

	Updated the "build_release.sh" POSIX shell script to also build a Debian 
	binary installer package (experimental).

	The Windows GUI installer no longer spans command-line shells running 
	JScript scripts to build the Prolog integration shortcuts. This hopefully 
	solves issues with security software silently blocking and breaking the 
	Logtalk installation.

	Added basic syntax coloring support for the GNU Nano 2.x text editor.


2.29.5 - March 28, 2007

	Added a new built-in predicate, threaded/1, for proving each goal in 
	a conjunction in its own thread, simplifying common multi-threading 
	tasks that previously required sequences of calls to the built-in 
	predicates threaded_call/1 and threaded_exit/1.

	Simplified and optimized the implementation of Logtalk multi-threading 
	support.

	Simplified implementation of the database built-in methods. Simplified 
	caching of dynamic predicate lookups. Improved performance of the 
	built-in methods retract/1 and retractall/1.

	Simplified the code generated when compiling entities in debugging mode.

	Corrected a bug in the built-in debugger when processing actions at a 
	port that implies reading a port action again (e.g. print exception term,
	print debugging status, and help options). Allow the debugger command 
	"skip" to work as the command "creep" in ports other than "call" and 
	"redo". Added a new debugger command, "ignore". Suspend debugging when 
	using the "break" debugger command.

	Generate a compilation error instead of just printing a warning when 
	compiling calls to the multi-threading built-in predicates within an 
	object with no threaded/0 directive present.

	Corrected a bug when compiling entities containing synchronization 
	directives on single-threaded Prolog configurations.

	Improving reporting of working directory when loading or compiling source 
	files by expanding any environment variables occurring in the path.

	Added a new compiler option, "reload", for defining the Logtalk behavior 
	when reloading source files. Valid values are "always" (default value; 
	defined in the config files) and "skip".

	Updated the programming examples to use the new "reload" compiler option 
	when loading library entities. Simplified loading of example source files 
	(by updating the utility loader files to automatically load all required 
	library files).

	Updated GNU Prolog config file to take advantage of some built-in list 
	predicates (requires version 1.2.14 or later); changed the compiler flag 
	"underscore_vars" value to "dont_care" to avoid spurious warnings with 
	some examples.

	Added a config file for B-Prolog 7.0b1.

	Updated the POSIX integration shell scripts to pass along any command 
	line options to the corresponding Prolog compiler and to prevent some 
	problems with paths containing spaces.

	Much improved syntax coloring and code completion support for the jEdit 
	text editor.

	Updated the "threads/primes" example to use the new "threaded/1" built-in 
	predicate. Updated the "threads/birthdays" example to better illustrate 
	the use of the built-in multi-threading predicates. Added a new 
	multi-threading example, "msort", implementing single-threaded and 
	multi-threaded versions of the merge sort algorithm.

	Expanded the "operators" example to illustrate a simple solution for 
	making operators local to source files (but global to all entities 
	defined within the source files).


2.29.4 - February 19, 2007

	Added a new library category, "listing", defining listing/0 and 
	listing/1 methods for helping in debugging tasks.

	Added two new experimental multi-threading predicates, threaded_wait/1 
	and threaded_notify/1, which allows suspension of a thread's goal until  
	a notification is received. Added two new examples, "threads/buffer" and 
	"threads/blackboard", illustrating the use of these predicates.

	Simplified and changed implementation of the threaded built-in 
	predicates in order to ensure that the threaded/0 directive is only 
	required on objects calling these predicates.

	Only print a warning for a missing threaded/0 directive for objects.

	Corrected a ordering bug on the entity initialization goal that 
	prevented using an object initialization goal that make use of 
	the object thread. 

	Corrected a bug when asserting rules into an object's database that	
	resulted in only the first asserted rule being visible when calling 
	the predicate through message sending. Thanks to Parker Jones for 
	the bug report.

	Corrected a bug when compiling dynamic entities (defined in source 
	files using the dynamic/0 directive) where declared predicates would 
	be wrongly compiled as static instead of dynamic.

	Updated the "make_xsblgt.sh" integration script again to fix an 
	additional problem resulting from the lack of support in XSB for 
	using environment variables in file paths.

	Added minimal support for using Exuberant Ctags with Logtalk.

	Added auto indent support to the jEdit text editor.

	Added support for listing public predicates in the "Functions" window 
	of the SuperEdi text editor.

	Converted TextMate code snippets from the old Property List format 
	to XML in order to provide compatibility with the "e" Windows text
	editor.

	New example: 99 bottles of beer on the wall! Sing along!


2.29.3 - January 15, 2007

	Corrected a bug in the Logtalk compiler optimizer code which was 
	discarding some declaration and definition catchall clauses needed 
	by the Logtalk built-in database methods when there is no initial 
	declaration and definition for the referenced dynamic predicates.
	Thanks to Parker Jones for the bug report.

	Corrected a bug in the compilation of empty, standalone protocols 
	and categories.

	Updated the "make_xsblgt.sh" integration script to workaround 
	the lack of support in XSB for using environment variables in 
	the argument of the reconsult/1 predicate.

	Corrected a bug in the "potions.lgt" example puzzle that prevented 
	its solution of being found.


2.29.2 - January 10, 2007

	Silently compile synchronized predicates as normal predicates on 
	single-threaded Prolog compilers.

	When using the threaded_race/1 predicate, competing threads are 
	now created detached.

	Corrected a bug that resulted in a loading error when reloading 
	source files defining threaded objects.

	Corrected a bug in the implementation of the built-in predicate 
	threaded_peek/1 that prevented alternative solutions from being 
	retrieved using the built-in predicate threaded_exit/1. Removed 
	the built-in predicate threaded_discard/1.

	The library object "random" is now a synchronized object. Updated 
	the "philosophers" multi-threading example accordingly.

	Dropped loading of broken "cleanup" library from the YAP config file 
	(the call_cleanup/2 predicate, required for Logtalk multi-threading, 
	is now available as a built-in predicate in the YAP CVS version).


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 
	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

	Allow calls to the built-in method parameter/2 with the first argument 
	not instantiated at compile time. Detect and report as a compilation 
	error parameter/2 indexes that are out of range.

	Optimized generation of predicate definition and declaration linking 
	clauses, resulting in small lookup performance improvements and in space 
	savings for the Prolog code generated when compiling Logtalk entities.

	Many minor code and documentation improvements to the Logtalk compiler.

	Added an object version of the tokenizer described in the Michael 
	Covington's paper "Tokenization using DCG Rules" to the "dcgs" example.

	Improved integration code for Qu-Prolog and Logtalk ("configs/qphook.ql").

	Improved library hierarchy methods that return lists of objects in order 
	to avoid duplicated elements (library objects "proto_hierarchy.lgt" and 
	"class_hierarchy.lgt"). Added new methods extension/1 and extensions/1 to 
	the library object "proto_hierarchy.lgt".

	Documented the concept of "parametric object proxy". Added a new example, 
	"proxies", illustrating the use of parametric object proxies.

	Added support for code completion and for listing entity names on the 
	symbol pop-up menu to the MacOS X TextMate text editor.

	Updated the "cplgtdirs.*" scripts to also create an alias/shortcut to the 
	"wenv" directory.

	Renamed the alternative compilation and documentation directory names on 
	all config files to be compatible across operating-systems. Removed unused
	predicate '$lgt_reverse'/2 from all config files.

	Updated HTML manuals "print.css" CSS file for compatibility with the 
	latest version of CSSToXSLFO.


2.27.0 - February 9, 2006

	Improved performance for local calls to the built-in methods phrase/2-3.
	Allow the built-in methods phrase/2-3 to accept both partial and proper 
	lists of terminals.

	Improved grammar rule translator. Report calls to undefined non-terminals 
	when translating grammar rules.

	Added support for declaring grammar rule non-terminal aliases using the 
	alias/3 directive.

	Added a new predicate property, non_terminal/1, for predicates resulting 
	from the compilation of grammar rule non-terminals.

	Improved support for the built-in method expand_term/2 in order to allow 
	bypassing of the default Logtalk grammar rule translator by defining 
	clauses for the term_expansion/2 predicate. Added a "term_expansionp" 
	protocol to the Logtalk library. Added a new example, "expansion", 
	illustrating the use of the term_expansion/2 predicate.

	Added a new compiler flag, hook/1, allowing the specification of a 
	compiler hook that is called for which term read from a source file.
	Added a simple example, "hooks", of using the Logtalk compiler hook 
	to expand author abbreviations in info/1 directives into full names 
	and email addresses.

	Added support for XSB 3.x to the runtime error handler. Updated the XSB 
	3.x config file with declarations for multi-threading meta-predicates.
	
	Removed a few choice-points when checking validity of entity directives.

	Added two new objects, list(Type) and set(Type), to the standard library 
	supporting the validation of lists and ordered sets whose elements are 
	restricted to a single type.

	Added a new DCG example for solving enigmas encoded using a cellphone 
	keypad.

	Added a missing library dependency to the "puzzles" example SCRIPT file.

	Removed the experimental "systemp.lgt" protocol from the list of files 
	loaded by the "library/all_loader.lgt" loader utility files to avoid 
	compilation errors on some Prolog systems.

	Corrected a bug that prevented dynamic creation of categories using the 
	built-in predicate create_category/4.

	Corrected a bug in the reporting of singleton variables, which failed to 
	write an accurate message for facts and grammar rules.

	Corrected a bug in passing the correct calling context ("this") when 
	processing meta-calls in objects.

	Corrected a bug in scope checking with local calls to reflection and 
	database methods.

	Corrected a bug in checking the validity of the arguments of the op/3 
	directive appearing inside entities.

	Added predicates for testing if a term is a partial list or a proper list 
	to all config files.

	Added a definition for missing open/4 ISO Prolog predicate to the config 
	file of Bin Prolog.

	Added a workaround for a B-Prolog bug to this compiler config file.


2.26.2 - December 20, 2005

	Improved error-checking for the Logtalk compiler and for the grammar rule 
	translator.

	Small performance improvements for message sending and for the built-in 
	database methods.

	Corrected a bug on the implementation of the built-in methods phrase/2-3 
	for negated grammar rule bodies (thanks to Mats Carlsson for pointing the 
	error).

	Removed the read-only compiler flag "iso_initialization_dir".

	Corrected a compilation bug on the "metapredicates" example source file.
	Corrected several bugs on the performance monitor of the "searching" 
	example.

	Switched off default generation of XML documenting files for the "symdiff" 
	example in order to avoid file names compatibility problems on Windows.

	Updated compatibility notes on B-Prolog 6.8 and Qu-Prolog 7.0. Added a 
	config file for the forthcoming SICStus Prolog 4.0 version (based only 
	on publicly available information). Updated the config file for Amzi! 
	Prolog to solve issues with predicate properties and to ensure that file 
	system utility predicates are loaded.

	Added a config file for the current XSB CVS version and the corresponding 
	integration shell scripts (for both Windows and POSIX systems). Modified 
	the "cplgtdirs.*" shell scripts in order to make either links or copies of
	the config files and the "libpaths.pl" file with the required ".P" file 
	name extension.

	Improved integration scripts documentation and help screens.

	Added a predicate for checking directory existence to the config files.


2.26.1 - November 28, 2005

	Added a CSS style-sheet to the Logtalk XHTML documentation that can be 
	used with CSSToXSLFO to generate nicely formatted PDF files suitable for 
	printing with running headers and page numbers.

	Updated the Logtalk XHTML documentation for compliance with the XHTML 1.1 
	standard.

	Updated the "lgtxhtml.xsl" XSLT file in order to generate XHTML 1.1 files.

	Added a new, generic "lgtpdf.xsl" XSLT file. Redefined the "lgtpdfa4.xsl" 
	and "lgtpdfus.xsl" files to import the "lgtpdf.xsl" file.

	Added support for the Lunasil XSL-FO processor to the "lgt2pdf.*" shell 
	scripts.

	Updated the "lgt2pdf.sh", "lgt2xml.sh", and "lgt2html.sh" shell scripts 
	in order to write a warning message when the current directory does not 
	contain any XML documenting file.

	Added a definition for missing open/4 ISO Prolog predicate to the config 
	files of Open Prolog, LPA Prolog compilers, and MasterProlog.


2.26.0 - November 7, 2005

	Added support for defining predicate aliases when using uses/2 directives
	(using the format Predicate::Alias).

	Added Prolog modules migration code allowing modules to be compiled as 
	objects and allowing messages to be sent to modules. Added a new "modules"
	example.

	Added a "Prolog Integration and Migration Guide" to the Logtalk 
	documentation.

	Added support for syntax coloring of common Prolog module directives to 
	the configuration files of the supported text editors.

	Added support for using library aliases on the second argument of the 
	logtalk_library_path/2 predicate (using the format alias(path)).

	Added support for ignoring, copying as-is, or rewriting proprietary Prolog
	directives. The action to be taken is defined on a per-directive basis on 
	the config files.

	Updated the config files of CIAO, ECLiPSe, SWI-Prolog, and YAP to define 
	actions for some proprietary directives in order to allow some or most of 
	the module libraries distributed with these compilers to be compiled as 
	objects.

	Renamed some XML documentation-related compiler flags to more meaningful 
	names: "xml" -> "xmldocs", "xsl" -> "xslfile", and "doctype" -> "xmlsref".
	No changes to the other flags or flag valid values.

	Updated documenting scripts to use system-wide resources from LOGTALKHOME
	and user-modifiable resources from LOGTALKUSER.

	Updated "cplgtdirs.*" shell scripts to create links to the documenting 
	scripts and to the DTD and XML Schema specifications instead of making 
	local copies. Updated the "cplgtdirs.js" Windows JScript script to create
	a link to the Logtalk manuals.

	Changed generation of predicate compiled functors to add an underscore 
	between the original predicate functor and arity (further minimizing the 
	chance of name conflicts).

	Improved compilation warning messages (separately handling plural and 
	singular forms).

	Improved documentation of Windows JScript installation and integration 
	scripts.

	Corrected a bug on the Logtalk built-in debugger on the processing of the
	abort option at a leashed port (option was ignored instead of aborting the
	debugging session).

	Added an option to choose between a "verbose" or "compact" listing of the 
	default compilation flags at Logtalk startup (defined on the config files).

	Improved CIAO integration scripts in order to suppress some (harmless) 
	warnings which are generated at first run.

	Updated SWI-Prolog hook file ("swihook.pl") in order to support Logtalk 
	library notation when loading Logtalk files using the SWI-Prolog consult/1 
	predicate.

	Corrected a bug on the implementation of the built-in method abolish/1 
	that prevented abolishing of dynamic predicates with arity zero.

	Corrected a bug on the "gplgt" shell script generated by the make_gplgt.sh
	shell script where the value of the LOGTALKHOME environment variable would
	not be retrieved at runtime.

	Removed config file for older versions of XSB (up to 2.6). Renamed the 
	config file for XSB 2.7.1 to simply "xsb.config".

	Consolidated the source files of the "birds", "errors", "lpa", "lo", 
	"metainterpreters", "poem", "relations", "roots", and "symdiff" examples 
	into single source files. Updated the "searching" example to take advantage
	of the uses/2 directive.

	Removed outdated documenting shell scripts from the "xml" directory.

	Corrected a bug when compiling a source file where the generated Prolog 
	file might not be properly closed when a compilation error occurs.


2.25.3 - September 12, 2005

	Consolidated the source files of the examples "bricks", "dynpred", "mi", 
	"parametric", "points", "polygons", "reflection", "shapes", "sicstus", 
	and "viewpoints" into single source files.

	Improved documentation on most example source files. Improved "parametric"
	example by adding a new parametric objects and by illustrating alternative
	ways of accessing object parameters.

	Updated several config files with declarations for some more non-standard 
	Prolog meta-predicates.

	Corrected some omissions and typos on the B-Prolog - Logtalk integration 
	instructions.

	Small performance optimization for messages and super-calls with not yet
	cached method lookups.


2.25.2 - August 11, 2005

	Updated Logtalk installation and Prolog integration scripts in order to 
	detect a wrongly defined LOGTALKHOME environment variable.

	Corrected a bug on the lgt_install.sh and make*lgt.sh shell scripts where 
	the wrong variable was being referenced when testing the existence of the 
	installation directory prefix.

	Corrected a bug on the makeall_lgt.sh shell script that failed to properly
	detect unsuccessful completion of individual Prolog integration scripts. 


2.25.1 - August 8, 2005

	Added support for using the "source-highlight" package (version 2.0 or 
	later) by Lorenzo Bettini with Logtalk source files.

	Several optimizations to the syntax coloring configuration files of most 
	of the supported text editors. Added support for code folding to the Vim, 
	Kate, and TextMate text editors.

	Updated the SWI-Prolog shell integration script (make_swilgt.sh) to use 
	either "swipl" or "pl" as the name of the Prolog executable, depending 
	on the host operating system.

	Modified the way entity prefixes are generated for compiled code in order 
	to further minimize possible conflicts resulting from the same prefix being
	used for different entities (bug report and fix by Brian Hulley). Changes 
	to the prefix format are also reflected on the names of the automatically 
	generated XML documenting files.

	Updated the lgt2html.* and lgt2xml.* documenting scripts in order to index 
	parametric objects using the notation <entity>/<number of parameters>.

	Corrected a bug on the lgtxml.xsl XSLT file where links to related files 
	pointed to .html files instead of .xml files.

	Updated the lgt_install.sh and the make_*lgt.sh shell scripts to check and
	report invalid installation directory prefixes.

	Added a new state-space search problem, "salt3.lgt", contributed by Paula 
	Marisa Sampaio, to the "searching" example.


2.25.0 - May 23, 2005

	Logtalk compiler is now source file-based instead of entity-based. Thus, 
	a source file may now contain any number of entities, without the need of 
	using source metafiles. Therefore, this version drops support for source 
	metafiles and the .mlgt file name extension.

	The experimental encoding/1 directive, when used, must be the first term 
	on a source file.  Added an entry to the reference manual describing the 
	directive. Improved "encodings" example.

	Added a new method, debugging/1, to the "debugger" pseudo-object for 
	querying the system about entities compiled in debug mode.

	Improved source file and entity compilation and loading reporting. In 
	particular, when using library notation for source files, the Logtalk 
	compiler now prints the library path containing the source files being 
	compiled or loaded.

	Added new shell scripts, makeall_lgt.*, which run all the make_*lgt.* 
	shell scripts in sequence.

	Simplified compiler reporting of singleton variables in directives and 
	clauses.

	Added an adaption of the "timetables" LPA Prolog++ example.

	Updated B-Prolog config file for the new 6.7 #2 version. Dropped support 
	for older versions of B-Prolog.


2.24.0 - April 22, 2005

	Added experimental support for a encoding/1 directive for declaring the 
	text character encoding of a source file. This directive is fully based 
	on a directive with the same name and with similar semantics found on 
	recent development versions of SWI-Prolog. For now, this directive only 
	works with SWI-Prolog as most Prolog compilers lack support for dealing 
	with different text encodings. Added new flag "supports_encoding_dir". 
	Added a new example, "encodings", of using the new encoding/1 directive.

	When a source file contains an encoding/1 directive, the XML documenting 
	files will use the same encoding. When no encoding/1 directive is present,
	the XML documenting files will assume UTF-8 encoding.

	Added new info/1 documenting directive key, "parameters", allowing the 
	declaration of both parameter names and parameter descriptions. Added new 
	info/1 documenting directive key, "remarks", allowing general remarks 
	about an entity to be stated. Added new info/2 documenting directive key, 
	"arguments", allowing declaration of both predicate argument names and 
	predicate argument descriptions. Added new info/2 documenting directive
	key, "examples", allowing the representation of predicate call examples.

	Much improved and accurate reporting of non-portable predicate calls when 
	using the "portability" flag.

	Added a new directory to the Logtalk distribution, "contributions", which 
	will be used for user-contributed code. On this release, it contains an 
	implementation of the ISO 8601 standard by Daniel L. Dudley, providing a 
	library of useful date predicates.

	Added new lgt2xml.* shell scripts for generating (X)HTML indexes of XML 
	documenting files.

	Rewritten the lgtxhtml.xsl, lgthtml.xsl, lgtxml.xsl XSLT scripts in order 
	to make it easier to define alternative CSS files for the generated HTML 
	files. Rewritten the lgtpdfa4.xsl and lgtpdfus.xsl XSLT scripts in order 
	to improve appearance of the generated PDF files.

	Improved the documentation of the "benchmarks" example and added new 
	predicates for running batches of benchmark tests and for generating 
	lists of known size for the benchmark tests of static code.

	Corrected a bug in the lgt2html.*, lgt2pdf.*, and cplgtdirs.sh shell 
	scripts which resulted in failed transformations whenever the LOGTALKHOME 
	and LOGTALKUSER environment variables or the output directory contained 
	spaces or accented characters.

	Added workaround for Prolog compilers that define operators other than 
	','/2 that cannot be redefined (such as new B-Prolog 6.7).

	Added a Logtalk "clip" file for the TextPad Windows text editor.

	Renamed directory "misc" to the more meaningful name "scripts".

	Corrected a bug in the implementation of the built-in database methods 
	asserta/1 and assertz/1 when asserting facts on objects compiled in debug 
	mode.

	Corrected a bug in the method leash/1 of the built-in pseudo-object 
	"debugger", which failed to accept an empty list as a valid argument.

	Corrected a bug in the header of the automatically generated XML 
	documenting files when using the XML Schema specification (logtalk.xsd), 
	which could prevented validation when the compiler flag "doctype" is set 
	to "web".

	Corrected a compilation bug where Prolog clauses written outside entities 
	on source metafiles would have their order reversed. Simplified splitting 
	of source metafiles.

	Corrected a compilation bug where Prolog clauses written before an entity 
	opening directive would not be copied to the generated Prolog file.

	Corrected a bug on the "roots" example in the object "class" which failed 
	to properly test the validity of new object identifiers.

	Corrected a bug in the syntax coloring file for the Vim text editor, which
	resulted in an error message when opening a Logtalk source file for the 
	first time.


2.23.1 - March 7, 2005

	Simplified message sending compilation, improving performance of both 
	entity compilation and runtime top-level message sending.

	Simplified implementation and improved performance of the built-in method 
	current_predicate/2.

	Updated the runtime error handler for top-level ::/2 calls to recognize 
	non-existing predicate exceptions thrown by XSB, SICStus Prolog, CIAO, 
	B-Prolog, and recent development versions of SWI-Prolog. Rewritten the 
	::/2 predicate in order to minimize the overhead of the catch/3 calls 
	associated with the runtime error handler, thus improving performance.

	Expanded the benchmarks example to test performance of the built-in 
	database methods.

	Lookup caches are now cleaned before loading a redefined entity in order 
	to avoid potential problems with entity initialization goals containing 
	message sending calls (previous versions cleaned the caches only after 
	entity loading).

	When reloading an object, its tables of dynamic predicate declarations 
	and dynamic predicate definitions are now reseted.

	Corrected a compatibility problem with the "birds" example due to the use 
	of an operator not available in some Prolog compilers.


2.23.0 - February 21, 2005

	Optimized the code generated for local calls to the built-in predicates 
	asserta/1, assertz/1, retract/1, and retractall/1, when the argument is 
	a dynamic predicate declared by a scope directive in the object making 
	the calls.

	Added caching of predicate compiled forms for dynamic facts when used 
	with the database built-in methods clause/2, asserta/1, assertz/1, 
	retract/1, and retractall/1, resulting in a significant performance 
	improvement when using an object's dynamic database. Improved performance 
	of the database built-in methods abolish/1, asserta/1, assertz/1, clause/2, 
	retract/1, and retractall/1 when the cache is not used.

	Corrected a bug on the implementation of the built-in methods asserta/1 
	and assertz/1 that prevented asserting of rules.

	Corrected a bug on the implementation of built-in methods retractall/1, 
	retract/1, and clause/2 that allowed access to local dynamic predicates 
	from outside the container object.

	Added a runtime error handler for top-level ::/2 calls which tries to deal
	with exceptions thrown by calling non-existing predicates by translating 
	Logtalk generated internal predicate names to user names.

	Print the total number of warnings after a call to the Logtalk built-in 
	predicates logtalk_compile/1-2 and logtalk_load/1-2.


2.22.5 - February 9, 2005

	Added scripts for easy integration of Logtalk with K-Prolog. Updated the 
	K-Prolog config file, correcting a show-stopper bug and enabling support 
	for using the "library" notation for loading source files.

	Updated JIProlog config file in order to allow smart compilation of source
	files.

	Changed format of preprocessor and runtime dynamic predicates that deal 
	with predicate indicators for better performance.

	Simplified implementation of Logtalk built-in methods asserta/1 and 
	assertz/1.

	Corrected a performance bug with calls to built-in predicates from objects
	and categories.

	Corrected spurious backtracking occurring on some calls to the built-in 
	predicate define_events/5.

	Updated shell script "misc/cplgtdirs.sh" to prevent copy of Logtalk files 
	when the destination directory already exists (thus avoiding overriding 
	any user-modified files when upgrading Logtalk).

	Added syntax coloring for the predicate logtalk_library_path/2 to the 
	supported text editors. Updated the syntax coloring file for the TextMate 
	text editor, adding some missing ISO Prolog predicates.

	Improved printing of lists of unknown referenced entities, misspelt calls,
	and singleton variables when compiling source files. Simplified handling 
	of references to unknown entities.

	Added workaround for Prolog compilers with broken read_term/3 singletons/1
	option.

	Updated the Logtalk compiler/runtime and the documentation to always 
	use the expression "compiler flag" instead of "compiler option" for 
	consistency. Other minor documentation improvements.

	Corrected a bug with the abolishing of dynamic entities where the clauses 
	corresponding to the alias/3 directive are not being abolished.

	Added new predicates '$lgt_call'/9 and '$lgt_once'/9 to all config files.

	Simplified and improved performance of compilation of directives containing
	predicate indicators.


2.22.4 - January 12, 2005

	Simplified method lookup cache tables, resulting in a small message 
	sending performance speedup. Improved method lookup caching for 
	parametric objects. Added support for caching method lookups for 
	parametric objects whose parameters contain cyclic terms.

	Added a new category, "assignvars", to the Logtalk standard library, 
	containing an adaptation of the implementation of logical assignable 
	variables developed by Nobukuni Kino. Added a new example, "assignvars",
	illustrating some possible uses of assignable variables in the context 
	of parametric objects.

	Simplified compilation of op/3 directives: there is no longer need to 
	repeat the directives both before and inside an entity in order to make 
	the operators global and also use them in the compilation process.

	Simplified installation instructions.

	Corrected a compiler bug in the code that checks and prints a warning 
	when redefined parametric objects.

	Corrected a bug in the built-in predicate abolish_category/1, which 
	failed to delete import relation clauses between the category being 
	abolished and other categories.


2.22.3 - December 30, 2004

	Added a configuration file for XSB 2.7.

	Corrected a bug where the use of alternative compilation directories 
	would fail the first time the logtalk_compile/1-2 or logtalk_load/1-2 
	predicates are used for a given file or library.

	Corrected a bug in the built-in methods asserta/1 and assertz/1 when 
	asserting facts into an object being debugged, which resulted in wrong 
	execution context information being printed when tracing calls to 
	the asserted facts.

	Corrected a bug in the built-in methods asserta/1 and assertz/1 when 
	asserting rules into an object being debugged, which resulted in rule 
	bodies compiled with no information being printed for the rule head 
	when tracing calls to the asserted rules.

	Corrected a bug in the dynamic creation of objects, protocols, and 
	categories when the debug flag is on, which resulted in the table of 
	entities being debugged not being updated.

	Corrected a bug in the handling of exceptions thrown when using the 
	built-in debugger, which resulted in exceptions always being turned 
	into failures.


2.22.2 - December 24, 2004

	Improved performance of dynamic creation and compilation of objects, 
	protocols, and categories.

	Improved error-checking code of methods asserta/1 and assertz/1 to 
	prevent asserting of non-callable terms as facts.

	Improved error checking for documenting directives (info/1 and info/2).

	Improved the XSB integration script (make_xsblgt.sh) in order to use the 
	configuration file and the libpaths file available from the $LOGTALKUSER 
	directory.

	Improved installation instructions and installation scripts documentation.

	Added documentation to the user manual on describing predicate exceptions 
	using the info/2 directive.

	Corrected a bug in the predicate_property/2 built-in method when called 
	with the second argument instantiated to the alias/1 property.


2.22.1 - December 6, 2004

	Improved installation instructions. Updated the Windows installation 
	JScript script to add the Logtalk directories "misc" and "xml" to the 
	system PATH environment variable and to reuse the environment variable 
	LOGTALKUSER if already defined.

	Added helper batch scripts (misc/cplgtdirs.bat, xml/lgt2html.bat, and 
	xml/lgt2pdf.bat) for easily running the corresponding Windows JScript 
	scripts from the command-line (the two xml/lgt2*.bat scripts run the 
	corresponding *.js scripts stored in the %LOGTALKUSER%/xml directory 
	in order to support user customization).

	Updated the lgt2html.* and lgt2pdf.* shell scripts to use the environment 
	variable LOGTALKUSER instead of LOGTALKHOME for finding supporting files, 
	thus allowing for end-user customization of the scripts and their related 
	files.

	Added documentation on read-only compiler flags (which are defined in the 
	configuration files) to the User Manual.

	Updated the misc/lgt_install.js JScript installer script to workaround a 
	Windows Scripting Host bug which may result in broken shortcuts in the 
	created "Logtalk" program group.


2.22.0 - November 29, 2004

	Implemented a notion of library as simply a directory containing source 
	files. Added a new dynamic predicate, logtalk_library_path/2, for 
	specifying library paths. Added a sample file (libpaths/libpaths.pl) for 
	setting library paths for the Logtalk standard library and for all the 
	supplied examples.

	Added support for using the notation <library>(<entity>) with the built-in
	predicates logtalk_compile/1-2 and logtalk_load/1-2 for compiling and 
	loading source files contained on a library, without the need to first 
	change the current working directory.

	Changed the library and the examples loading instructions to use the new 
	notation <library>(<entity>).

	Improved installation instructions and installation scripts. Added a new 
	environment variable, LOGTALKUSER, for defining the location of the copies 
	of the user-modifiable Logtalk files in a multiple users setup environment.

	Added utility predicates to most configuration files for querying and 
	changing the current working directory (needed for the <library>(<entity>) 
	notation to work).

	Corrected a bug in the code that checks for file existence when compiling 
	or loading source files and source metafiles.


2.21.6 - November 15, 2004

	Added support for using alternative directories for storing the Prolog files 
	and the XML documenting files resulting from entity compilation. A new read-
	only flag, "altdirs", allows the support for alternative directories to be 
	turned on the configuration files of Prolog compilers providing the necessary 
	operating-system access predicates for implementing this feature.

	Improved installation instructions and reporting of default compilation flags 
	at startup.

	Added a sorely missing "Hello World!" example :-)


2.21.5 - November 2, 2004

	Added a new optimization compiler flag, "events", which can be used to switch 
	off event-driven programming support when not needed, on a per-object basis, 
	resulting in improved message sending performance.

	Small performance optimization to the runtime creation of dynamic objects, 
	protocols, and categories.

	Updated the error handling code of the built-in predicates create_object/4, 
	create_protocol/3, and create_category/4 in order to throw an instantiation 
	error when called with a non-instantiated argument.

	Updated the benchmarks example to calculate and subtract the benchmark loop 
	time in order to print absolute timings for the benchmarked goals.

	Updated the Qu-Prolog patching instructions to also convert Logtalk source 
	metafiles.

	Fixed a typo on the XSB compatibility notes in the configs/NOTES file.


2.21.4 - October 26, 2004

	Corrected a silly bug in the definition of the predicate repeat/1 on the 
	new "benchmarks" example.


2.21.3 - October 25, 2004

	Corrected a silly bug in message translation which resulted in a small 
	performance loss. Simplified implementation of message sending predicate 
	::/2, resulting in a small performance improvement.

	Added a new section on message sending performance to the user manual.

	Added a new example, "benchmarks", for helping measuring performance of 
	Logtalk message sending between Prolog compilers and for comparing message 
	sending with predicate calls in plain Prolog and with calls to modules 
	predicates.

	Updated the YAP configuration file to hide some of the book-keeping tables 
	of the Logtalk runtime engine and to use statistics/2 instead of cputime/0 
	for more accurate timings.

	Updated the Logtalk shell installation script to create the $prefix/bin 
	directory if it does not exist.

	The lgt2pdf.sh and lgt2html.sh shell scripts now use "rm -f" when removing 
	the DTD and XSD files in order to avoid prompting the the user about the file 
	permissions.

	Updated the cplgtdirs.sh shell script to make all copied files user writable.


2.21.2 - October 18, 2004

	Added support for declaring grammar rule non-terminals as public, protected, 
	private, dynamic, or discontiguous using the notation Functor//Arity. Added 
	support for documenting non-terminals using the info/2 and mode/2 directives.

	Added support for a new alias/1 predicate property.

	New experimental config file for JIProlog 3.0 (see the configs/NOTES file 
	for details).

	Added a mode bundle for the TextMode 1.0.x (MacOS X) text editor providing 
	syntax highlighting, folding, and code snippets for editing Logtalk source 
	files. Corrected a bug in the syntax coloring of the :-/1-2 operator on the 
	SubEthaEdit 2.x text editor.


2.21.1 - September 27, 2004

	Added experimental support for a new built-in method, expand_term/2, which 
	allows access to the Logtalk grammar rule translator. Corrected bug in the 
	expansion of \+/1 in grammar rule bodies. Optimized code generated for 
	message sending calls in the body of grammar rules. Improved error handling 
	of the built-in methods phrase/2 and phrase/3. Added new section on definite 
	clause grammars to the user manual. Added two new objects to the "dcgs" 
	example, dcgtest and bypass, containing test cases for the Logtalk DCG 
	translator and illustrating some programming techniques with grammar rules.

	Corrected a bug in the implementation of the built-in method clause/2 which 
	prevented access to clauses of local dynamic predicates.

	Corrected some dead links on the XHTML manuals.

	Corrected a bug in the syntax coloring of numbers on the SubEthaEdit 2.x 
	text editor.


2.21.0 - September 14, 2004

	Added a new predicate directive, alias/3, which allows the definition of 
	alternative predicate names in order to improve readability of inherited 
	features and to solve conflicts between implemented, imported, or inherited 
	predicates.

	Added new example, "aliases", illustrating the use of the new alias/3 
	predicate directive for improving readability of inherited features.

	Added new example, "diamonds", illustrating problems and solutions for the 
	"diamond problem" (multi-inheritance conflicts and ambiguities) using the 
	new alias/3 predicate directive.

	Allow categories to import other categories, i.e. allow categories to be 
	defined as a composition of other categories. This feature should only be 
	used when extending a category without breaking its functional cohesion 
	(for example, when a modified version of a category is needed for importing 
	into several unrelated objects). 

	Added new example, "engines", illustrating importing a category from another 
	category.

	Updated the syntax coloring configuration files for the supported text 
	editors for the new alias/3 predicate directive.

	Added auto-complete strings for Logtalk methods and for Logtalk and Prolog 
	built-in predicates and directives to the SubEthaEdit 2.x text editor.

	Corrected a bug which prevented compilation of metafiles containing 
	parametric entities.


2.20.2 - August 31, 2004

	Added a Windows JScript script for installing Logtalk. Improved the Windows 
	JScript scripts used for easy integration of Logtalk with selected Prolog 
	compilers.

	Improved user manual section on defining object and category metapredicates 
	and on calling non-standard Prolog built-in metapredicates. Improved the 
	description of some compiler options.

	Added some files missing from the "errors" example (which should have been 
	included in the previous release).

	Added basic syntax coloring support for the BBEdit 8.x text editor.


2.20.1 - August 19, 2004

	Added Windows JScript scripts for easy integration of Logtalk with CIAO and 
	GNU Prolog.

	Added encoding attribute (set to UTF-8) to the xsl:output tag in the 
	lgtxml.xsl, lgthtml.xsl, and lgtxhtml.xsl files.

	Replaced the Windows JScript scripts lgt2pdf.js and lgt2html.js by their 
	final versions (the wrong ones shipped with Logtalk version 2.20.0).

	Updated the "errors" example to illustrate possible conflict errors when 
	using the uses/2 directive.

	Updated the RPM logtalk.spec file to use the .tgz archive extension.


2.20.0 - August 16, 2004

	Added support for the uses/2 predicate directive (whose semantics is similar 
	to C++ using-declarations). Updated the uses/1 entity directive to accept as 
	argument a single object identifier.

	Improved installation instructions for Windows users.

	Added four new sample bash shell scripts and Windows JScript scripts for 
	converting XML documenting files to PDF, HTML, and XHTML using several XSL 
	processors.

	Added missing namespace to XSL files in order to generated valid (X)HTML 
	files with recent versions of XSLT processors.

	Updated the User Manual documentation on converting XML documenting files 
	to other formats.

	Removed the texml.xsl XSLT file as the TeXMLatte application it depends on 
	is no longer available.

	Added Windows JScript script for copying the Logtalk examples, library, and 
	xml directories to the user directory.

	Added Windows JScript scripts for easy integration of Logtalk with ECLiPSe, 
	SWI-Prolog, SICStus Prolog, and YAP.

	Added missing extension for source metafiles to the SWI-Prolog hook file.
	
	Corrected a bug in the lgtxhtml.xsl XSLT file where a wrong reference to 
	the Logtalk CSS file is being used in the xml-stylesheet tag.

	The iso_initialization_dir/1 compiler option is now a read only flag, 
	defined in the configuration files.


2.19.1 - August 2, 2004

	Corrected a bug where entities could not be reloaded if they depend on 
	other, not yet loaded entities.

	Corrected a bug where compiler options would not be used when compiling 
	source metafiles.

	Corrected several typos on the Logtalk manuals.


2.19.0 - July 26, 2004

	Added support for defining more than one entity per file using Logtalk 
	source metafiles (*.mlgt), which the runtime engine automatically splits 
	on single entity source files plus loading and compiling helper files.

	Updated the URL used on the automatically generated XML documenting files 
	when compiling entities with the option doctype(web).

	Improved error checking when compiling calls to the {}/1 control construct.

	Corrected several typos and some outdated links on the Logtalk manuals.


2.18.0 - July 9, 2004

	Added caching of method lookups in order to improve message processing 
	performance (including messages to self and super calls). Applied several 
	optimizations to runtime translation of messages in order to further 
	improve performance.

	Improved error checking while parsing and compiling messages to self.

	Update ECLiPSe config files to compile the Prolog files generated by Logtalk 
	(when compiling source files) in optimized mode instead of traceable mode.

	Updated description of patches needed for running Logtalk with XSB, added 
	a shell script for easy integration of Logtalk with this Prolog compiler, 
	and corrected a problem with its corresponding config file.

	Added multifile/1 directive to the syntax coloring configuration files of the 
	supported text editors.


2.17.2 - June 14, 2004

	Updated the Logtalk compiler to allow compilation of source files which 
	contain only directives and no entity definition.

	Simplified loading of library and example entities by using Logtalk source 
	files as loader files.

	Some improvements to the documentation, including the QUICK_START file and 
	the User Manual for first-time users, and to the example descriptions.

	Corrected a bug in handling of local object operators that are also global 
	operators.

	Corrected a bug where dynamic directives are not being generated for dynamic 
	predicates that lack a scope directive or an initial set of clauses.

	Corrected a bug where local dynamic predicates would need a private scope 
	directive in order to allow clauses of the predicate to be retracted.

	Simplified compilation of dynamic and discontiguous predicate directives.

	Added new "logic" example implementing a translator from logic propositions 
	to conjunctive normal form.

	Corrected a problem with wrong end-on-lines on some files.

	Added a shell script for easy integration of Logtalk with CIAO Prolog.


2.17.1 - June 7, 2004

	Added custom handling of specification of predicate exceptions in info/2 
	documenting directives when writing XML documenting files (declared as 
	"exceptions is [Cond1-Term1, Cond2-Term2, ...]"; each pair (Condi, Termi) 
	represents an error condition and its respective exception). 

	Changed debugger command "e" to print exception terms instead of exiting 
	Logtalk session.

	Corrected a compilation error with B-Prolog due to operator priorities.

	Corrected a possible problem with the redefinition of loaded entities that 
	define (possibly at runtime) dynamic predicates. All clauses for an entity 
	dynamic predicates are retracted before loading the new entity definition.

	Corrected a potential bug when pretty printing terms with variables in the 
	debugger and in the created XML documenting files.

	Added four more DCGs examples ("walker movements", "iterative shell command 
	parsing", "bill of materials", and "command language").
	
	New "puzzles" and "metainterpreters" examples.

	Added a mode bundle for the SubEthaEdit 2.x (MacOS X) text editor providing 
	syntax coloring for editing Logtalk source files. Optimized some of the 
	regular expressions in the syntax coloring files for the Kate/Kwrite and Vim 
	text editors.

	Removed predicate nth/3 from library entities listp, list, and difflist. 
	Replaced by the predicates nth0/3 and nth1/3. Added new predicates nth1/4 
	and nth0/4.

	Updated the config file for Quintus Prolog to make use of the "files" 
	library.

	Added experimental implementations for some Prolog compilers of the library 
	portable protocol for operating system access (systemp.lgt). See the file 
	library/experimental/NOTES for details.


2.17.0 - April 26, 2004

	Added built-in debugging support implemented through the definition of a 
	new pseudo-object named "debugger". Added "debug" compiler option. Renamed 
	library entities "debuggerp" and "debugger" to, respectively, "event_dbgp" 
	and "event_dbg".

	Improved installation instructions for multi-user environments. Added 
	a shell script for installing Logtalk in Unix and Unix-like operating 
	systems. Added a shell script for copying Logtalk xml, examples, and 
	library directories to the user home directory.

	Added a logtalk.spec file for building Linux RPMs from sources.

	Added a set of shell scripts for easy integration of Logtalk with ECLiPSe, 
	GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog, and YAP.

	Corrected bug in the definition of the pseudo-object "user" that resulted 
	in mixed up metapredicate and type predicate properties.

	Removed config files for outdated versions of Qu-Prolog, SWI-Prolog, ECLiPSe,
	K-Prolog, CIAO, YAP, Amzi! Prolog, LPA Win-Prolog, SICStus Prolog, and XSB.


2.16.2 - April 2, 2004

	Corrected a bug in the library category monitor (file library/monitor.lgt) 
	that prevents its compilation.

	Changed the possible values of the read-only flag startup_message (defined 
	in the config files) to "flags" (print banner and flag values), "banner" 
	(print only the banner), and "none" (do not print neither the banner nor the 
	flag values). Default value is "flags".

	Updated the "errors" example to illustrate the error messages thrown when 
	trying to redefine Logtalk built-in control constructs.

	Corrected a small problem with the Logtalk language specification file for 
	Apple's Xcode IDE.

	Added preliminary support for syntax coloring using the Windows text editor 
	Crimson Editor.


2.16.1 - March 23, 2004

	The local built-in method parameter/2 can now be used inside categories 
	(but please read the warnings about such practice on the user manual).

	Updated the Logtalk compiler to report an error when the user tries to 
	redefine a message sending or external call control construct inside an 
	object or category.

	Corrected a bug in the compilation of metacalls whose meta-arguments are 
	variables.

	Removed references to file sax.jar from the scripts used to convert XML 
	documenting files into (X)HTML. Updated scripts html.sh, htmlnt.cmd, and 
	htmldos.bat to use XT 20020426a or later version.

	Improved syntax coloring accuracy of built-in predicates and methods for 
	the SubEthaEdit text editor.

	Updated config file for Qu-Prolog 6.4.


2.16.0 - March 3, 2004

	Logtalk is now distributed under the Artistic License 2.0.

	Operators declared inside an entity are now local to the entity, not 
	affecting the global operator table (complying with the Logtalk language 
	specification). Input and output of terms from inside objects and 
	categories now work as expected in the presence of local operator 
	declarations. Added a new example named "operators".

	Updated built-in method predicate_property/2 for returning metapredicate/1 
	properties for both Logtalk and Prolog metapredicates.

	Added support for calls to non-ISO Prolog standard built-in metapredicates 
	inside objects and categories. Added support for the declaration of non-ISO 
	Prolog standard metapredicates in the config files.

	Small change to the way the Logtalk compiler reports the compilation of
	entities. Small optimizations to the compilation of Logtalk source files.

	Corrected a bug where calls to Logtalk built-in predicates would be 
	reported as non-portable when the value of compiler option portability is 
	set to warning.

	New config file for Qu-Prolog 6.4 (see the configs/NOTES file for details).

	Corrected a problem with the syntax coloring of quoted atoms and strings 
	in the SubEthaEdit text editor. Added more accurate syntax highlight for
	built-in methods and built-in predicates.

	Updated the syntax coloring configuration files for all supported text 
	editors to recognize the file extension used by the config files.


2.15.6 - February 9, 2004

    Added "xmlspec" compiler option in order to specify the extension (dtd 
    or xsd) of the file describing the XML documenting files specification.

	Renamed compiler option "named_anonymous_vars" to the more appropriated 
	name "underscore_vars". Changed possible option values to "dont_care" and 
	"singletons" (default).

    Added XSLT file for converting XML documenting files to XHTML 1.0 Strict 
    files. Set the default encoding of all XSLT files to UTF-8.

    Added syntax coloring support for the KDE Kate and Kwrite text editors.

    Improved syntax coloring configuration files for VIM, jEdit, NEdit, 
    SubEthaEdit, and Emacs text editors.

	Removed outdated support for MacOS X Project Builder and added support 
	for the new MacOS X Xcode developer tool.

	Corrected bug in the built-in predicate current_logtalk_flag/2 that 
	prevented some flag values from being returned after using the built-in 
	predicate set_logtalk_flag/2.

	Corrected bug in the shapes example (wrong placement of the declaration 
	of the predicate side/1).


2.15.5 - December 30, 2003

	Make operator ^^/1 right-associative for consistency with remaining 
	operator declarations.

	Added file BIBLIOGRAPHY containing a list of Logtalk publications in 
	BibTeX format.

	Added a font-lock file for Emacs providing syntax coloring for editing 
	Logtalk source files.

    Added an implementation of the Smalltalk dependent mechanism to the 
    standard Logtalk library.

    Updated the config file for ECLiPSe 5.4~5.7 with missing ISO Prolog 
    predicate definitions needed for successful compilation of all entities 
    in the Logtalk standard library.

	Updated manual pages to comply with XHTML 1.0 Strict and to provide 
	better navigation.


2.15.4 - July 9, 2003

	Corrected a spurious backtracking bug in the DCG rule translator. Added 
	two more examples of DCGs.

	New config file for XSB 2.6. Updated Logtalk compiler to compile cleanly 
	under XSB after applying the patch described in configs/NOTES.

	Updated SWI-Prolog config file to hide compiled entity predicates (requires 
	SWI-Prolog 5.2.3 or later version). New optional file configs/swihook.pl 
	contains hook code that allows Logtalk entities to be compiled and loaded 
	using SWI-Prolog load_files/2 and consult/1 predicates.

	Syntax definition file for the Hydra 1.1 (MacOS X) text editor providing 
	syntax coloring for editing Logtalk source files.

	Updated syntax coloring files for jEdit, NEdit, Vim, and TextPad in order 
	to recognize character code constants (0'x) and the DCG operator -->/2.


2.15.3 - June 27, 2003

	Updated experimental support for DCG rules to prevent over-simplification 
	of unification goals in the compilation of rules to clauses. Push-back 
	lists can now be used on rule heads.

	The compilation mode of an entity (static/dynamic) is now stored in the 
	corresponding entity table (implying recompilation of all entities).

	Updated GNU Prolog config file to hide compiled entity predicates.

	Updated SWI-Prolog config file for better integration of Logtalk with 
	this compiler.


2.15.2 - April 2, 2003

	Experimental support for DCG rules inside categories and objects. Added 
	built-in methods phrase/2 and phrase/3.

	Updated GNU Prolog config file to not hide compiled entity predicates in 
	order to avoid incompatibilities with dynamic entities.


2.15.1 - March 8, 2003

	New example, msglog, of using events and monitors to record, replay, and 
	print user messages.

	Corrected a typo on the jEdit templates that resulted in syntax errors.
	Corrected wrong year format in info/1 directive in all entity templates.
	Added missing version info key to jEdit prototype template.

	Corrected documentation of built-in local methods self/1 and sender/1.
	Updated documentation of built-in local methods parameter/2 and this/1.


2.15.0 - February 5, 2003

	Changed "authors" key in info/1 directive to "author".

	Corrected documentation of built-in local method this/1.

	New geometric shapes example implemented in two versions, one 
	prototype-based and the other one class-based.

	Improved support for jEdit text editor by adding a set of programming 
	templates for use with the editor Templates plug-in.

	Added basic support for syntax highlighting and programming templates 
	for MacOS X Project builder.


2.14.7 - January 10, 2003

	Corrected a bug in the built-in methods asserta/1 and assertz/1 when 
	asserting predicate rules.

	The built-in predicates logtalk_compile/1-2 and logtalk_load/1-2 now 
	accept both an entity (an atom) or a list of entities (a list of atoms).

	Optimized the code generated when compiling or asserting clauses for 
	dynamic predicates.

	Optimized protected inheritance performance on some Prolog compilers.


2.14.6 - December 31, 2002

	Corrected a bug where the opening directive of an object that, 
	simultaneously, implements a protocol, imports a category, instantiates 
	a class, and specializes a superclass, will not be recognized.


2.14.5 - December 20, 2002

	Simplified dynamic table of predicate declarations by removing two 
	redundant arguments.
	
	Corrected a bug where sending messages such as true/0 or !/0 to an 
	unknown object succeeded instead of throwing the correct exception.

	Simplified the code used to generate links in the lgtpdfa4.xsl and 
	lgtpdfus.xsl XSLT files.


2.14.4 - November 5, 2002

	Removed definition of deprecated built-in predicate logtalk_version/3.

	Show flag names when printing at startup the default flag values.

	Small change to messages printed on console with smart compilation of 
	source files turned on.

	Updated YAP 4.3.x config file to use the YAP "system" library to access 
	the operating system for time, date, and file properties (enabling smart 
	source code compilation).

	Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files to workaround a bug 
	in the PassiveTeX 1.21 XSL:FO processor.


2.14.3 - September 16, 2002

	New compiler option, doctype, to set the doctype reference (if any) 
	in the XML documenting files. Default value is "local" for backward 
	compatibility. Updated the user manual section on compiler options.

	The Logtalk built-in predicate logtalk_version/3 should be considered 
	deprecated (use current_logtalk_flag/3 instead). All references to this 
	predicate have been removed from the manuals.

	Updated the jEdit syntax coloring config file for the new jEdit 4.1 
	version.

	Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files for compatibility 
	with the XSL:FO processors Apache FOP 0.20.4, PassiveTeX, and RenderX 
	and with the XSL W3C Recommendation of October 15, 2001. Updated the 
	pdf.bat and pdf.sh scripts to reference the latest version of the 
	Apache FOP processor (0.20.4).

	Changed the shell scripts html.sh and pdf.sh for compatibility with the 
	sh, bash, and zsh shells.


2.14.2 - August 26, 2002

	Calls to built-in method parameter/2 are now compiled inline, improving 
	call performance.

	Updated Logtalk compiler to clean temporary compilation predicates after 
	compiling an entity instead of only before compilation.

	Updated YAP 4.3.x config file for better Logtalk integration by hiding 
	all internal compiler, runtime, and compiled entities static predicates.

	Updated GNU Prolog config file for better Logtalk integration by hiding 
	all internal compiler, runtime, and compiled entities predicates.

	Updated the XSLT conversion scripts lgtxml.xsl and lgthtml.xsl to correct 
	some HTML conformance errors in the generated pages.

	Corrected some XHTML conformance errors in the manual pages.


2.14.1 - July 31, 2002

	New Windows NT script and updated Unix shell script for batch converting 
	XML documenting files to HTML. Both scripts also generate an index.html 
	file containing links to all converted XML documenting files.

	Corrected wrong XHTML DOCTYPE declaration in manual pages.


2.14.0 - July 26, 2002

	Renamed all compiler and runtime internal predicates and all auxiliary 
	predicates in the config files to start with a "$" character.
	
	New compiler option, code_prefix, to set a prefix for all Prolog code 
	functors generated by Logtalk when compiling entities. Default is ''.

	New compiler option, named_anonymous_vars, that instructs the compiler to 
	interpret variables that start with an underscore as anonymous variables 
	(and to not report them as singleton variables). Default value is "off".

	Directive info/2 was wrongly declared as a entity directive instead of a 
	predicate directive.

	Converted all manual pages to XHTML 1.0 format. Corrected a wrong link in 
	the reference manual. Replaced GIF images by PNG versions.

	Updated BProlog 6.x config file to workaround the new 6.2 built-in 
	predicate ::/2 that conflicts with the same named Logtalk message sending 
	operator.

	Removed call to the obsolete built-in predicate nodbgcomp/0 from all 
	ECLiPSe config files.


2.13.0 - June 15, 2002

	Logtalk now outputs Prolog code using write_canonical/2 instead of 
	write_term/3. Goals are better portability of the generated Prolog files 
	and avoid issues with clauses with long bodies for Prolog compilers that 
	use a term print depth limit to prevent problems with cyclic terms.

	Added report of default flag values at Logtalk startup.

	Logtalk now prints a warning when redefining parametric objects.

	Removed need of an abort/0 predicate from the Logtalk debugger example.
	Removed any definition of this predicate from the config files.

	Added missing definitions for some ISO built-in predicates to the Amzi! 
	Prolog 6.2.2 config file.


2.12.0 - May 25, 2002

	New read-only Logtalk flag "version". Corrected exception term generated 
	when trying to modify a read-only flag using the set_logtalk_flag/2 
	built-in predicate.

	Updated config file for OpenProlog 1.1b5.

	New config file for ECLiPSe 5.4.

	Renamed config files for CIAO 1.7 (beta of 1.8) to "ciao_aux18.config" 
	and "ciao18.config".

	Updated config file for Amzi! Prolog 6.2.2.

	New example of using some of the built-in database handling methods 
	(dynpred).

	Syntax configuration files for jEdit 4.0, VIM 6.1, NEdit 5.2, and 
	TextPad 4.5 text editors providing syntax highlighting for editing 
	Logtalk source files.


2.11.0 - April 22, 2002

	Added a "smart compilation" feature to the Logtalk compiler, controlled 
	by a "smart_compilation" flag. Only available in Prolog compilers that 
	provide access to file modification dates.

	Added a "startup_message" flag to control printing of the Logtalk banner 
	at startup.

	Reworked Logtalk pre-processor compilation and loading reports. Compiler 
	option "report" now toggles between normal reporting (as specified by the 
	other flags) and silent compilation/loading of source files.


2.10.0 - April 5, 2002

	Scope of object asserted predicates for which there is no declaration is 
	now a function of the context instead of always being declared public. 
	Asserting in this, the predicate is declared private, asserting in self, 
	the predicate is declared protected, otherwise the predicate is declared 
	public.

	Throw an error if a category contains clauses for dynamic predicates.

	Updated documentation on categories and built-in methods for database 
	handling.

	Retracting all clauses for a dynamic predicate from an object now allows 
	an inherited definition to be called when sending the corresponding 
	message. In previous versions the message just failed.

	Added missing entries for the built-in predicates current_logtalk_flag/2 
	and set_logtalk_flag/2 to the Logtalk compiler built-in predicates table.

	Updated config file for Amzi! Prolog 6.1.74.

	Updated notes on patching XSB to work with Logtalk.


2.9.3 - February 9, 2002

	New current_logtalk_flag/2 and set_logtalk_flag/2 built-in predicates.

	Updated documentation on new built-in predicates.

	Renamed SWI-Prolog config file swi330.config to swi.config.

	Renamed config file predicate lgt_default_compiler_option/2 to lgt_flag/2.

	New XSL style-sheets and shell scripts to convert Logtalk XML entity 
	documenting files to PDF format using XSL Formating Objects.


2.9.2 - January 4, 2002

	The Logtalk compiler can now print a warning when compiling source files 
	that use non-ISO defined built-in predicates using a new portability/1 
	compiler option. Updated the relevant sections of the user manual and the 
	errors example.

	Corrected a compiler bug where the entity relation tables only recorded 
	the last entry per entity relation type.
	
	Updated config file for CIAO 1.7#162.


2.9.1 - December 5, 2001

	Logtalk compiler now prints a warning when redefining or replacing an
	existing entity.

	Corrected a compiler bug in the error checking code for the info/1 
	and info/2 directives.

	Changed the order of object loading in the "mi" example to avoid 
	spurious warning messages.
	
	Added a new problem ("bridge") to the "searching" example. Improved 
	"performance" monitor to give correct reports on alternative solutions. 
	Corrected a bug in the "water jug" state space example.


2.9.0 - October 22, 2001

	Added config files for CIAO Prolog 1.7p115 and B-Prolog 6.0.

	Compiling and loading an entity that contains references to unknown 
	entities (by default) prints a warning. Updated user and reference 
	manuals.

	Rewritten all the compiler warning/error code and output messages.

	Changed compiled code functors postfixes from "_sdcl" and "_sdef" to 
	"_idcl"	and "_idef" (implies recompilation of all objects, protocols, 
	and categories).

	Changed all occurrences and references to the term "entity_scope" to 
	"scope".

	Removed some redundant productions from the Logtalk grammar.

	Updated documentation on the xml directory. Renamed some of the .xsl 
	files. Added sample scripts to batch convert .xml files to .html files.
	
	Added a new loader utility file, all.loader, to load all library files 
	loaded by the other loader files.

	Started work on documenting the Logtalk pre-processor/compiler source 
	file.

	New "errors" example. Updated the "inheritance" example.


2.8.4 - March 9, 2001

	Updated config files for BinProlog 8.0, K-Prolog 5.01, XSB 2.3, and
	Amzi! Prolog 4.103~5.0.
	
	New config file for Amzi! Prolog 6.1 beta.

	Corrected an incomplete entity definition in the Logtalk XML DTD.
	Rewrite the Logtalk XSLT files for improved compatibility with XSLT 
	processors regarding handling of whitespace.

	A first cut of a XML Schema for the Logtalk XML documentation files
	(file xml/logtalk.xsd).

	Small improvements to the documentation.


2.8.3 - November 21, 2000

	Corrected a bug where sending a message for a built-in method to an 
	unknown object fails instead of generating the expected exception.

	Put some occurrences of atoms public, mode, and type between ()'s to 
	avoid compilation errors in BinProlog 8.0 and other Prolog compilers 
	that declare these atoms as operators.

	Corrected the definition of the state space of the "Missionaries and 
	Cannibals" problem in the "searching" example that resulted in some 
	wrong solutions.


2.8.2 - November 5, 2000

	New .xsl file to convert .xml files to TeXML files.

	Fixed a problem with explicit compilation options being correctly parsed 
	but not processed.

	Corrected a bug regarding default init options definition for the 
	points, polygons, and bricks examples. Updated category initialization 
	in roots example.


2.8.1 - October 28, 2000

	New config file for K-Prolog 5.0.

	Improved compiler error detection and reporting of invalid directives 
	and clauses.
	
	Corrected a problem with some Prolog compilers where compiling a file 
	containing syntax errors may not close the file after the errors are 
	reported.

	Many small improvements to all documentation.
	
	Small improvements to the .xsl files and to the output of .xml files.


2.8.0 - October 1, 2000

	I have found just a few days ago that I have uploaded to the Logtalk web 
	server a development version of Logtalk 2.7.0 instead of the final one!
	To avoid confusions I decided to release a new version.

	Changed implementation of the logtalk_compile/1-2 and logtalk_load/1-2 
	predicates to only accept a list of entities instead of either an entity 
	or a list of entities, simplifying and improving the performance of these 
	predicates. Improved error reporting for the logtalk_compile/1 and 
	logtalk_load/1 predicates. Updated relevant sessions in the user and 
	reference manuals.

	Simplified the implementation of the following predicates, by sharing 
	the error checking code with the corresponding extended versions: 
	implements_protocol/2, imports_category/2, instantiates_class/2, 
	specializes_class/2, extends_protocol/2, and extends_object/2.

	Completed some missing library file dependencies documentation in some 
	examples.

	New version of the QUICK_START help file. Updated tutorial.


2.7.0 - August 24, 2000

	First release of the Logtalk standard library of objects, protocols and 
	categories.

	Rewritten all examples to use the new Logtalk standard library.

	New logtalk_load/2 and logtalk_compile/2 Logtalk built-in predicates,
	accepting a list of compiler options. See the User and Reference Manuals 
	for details.

	New XSLT file for viewing .xml files in Microsoft Internet Explorer 5.5 
	for Windows after installing the latest Microsoft XML Parser Preview 
	Release. Small improvements in all XSLT files.

	Starting with this version all config files need to provide a definition 
	for the compare/3 predicate if it is not built-in in the corresponding 
	Prolog compiler. Also, default Logtalk compiler options are now also set 
	in the config files using the lgt_default_compiler_option/2 predicate.

	Updated config file for CIAO 1.6p1. See the configs/NOTES file for 
	details.


2.6.2 - July 4, 2000

	Improved performance and error checking for the built-in predicates 
	create_object/4, create_protocol/3 and create_category/4.

	Updated config file for BinProlog 7.83.

	Many small updates to all documentation.

	New PDF versions of the documentation formated for printing (with page 
	numbers, table of contents and index)are now available in both A4 and 
	US letter formats.


2.6.1 - May 5, 2000

	Modified the structure of the automatically generated XML documenting 
	files to improve XSL translation performance. Added a new, more standard 
	compliant, XSL file to generate HTML files and renamed the old one to 
	ie5.xsl. See the xml/NOTES file for details. Corrected an error in the 
	logtalk.css CSS file.   

	Modified the definitions of predicates lgt_file_extension/2 and 
	lgt_file_name/2 in all config files.

	Updated all the user manual sessions related to automatic documentation.

	Updated all HTML documentation for future XHTML 1.0 conformance.

	Start adding documenting directives to most examples.


2.6.0 - April 27, 2000

	Added support for documentation of objects, protocols, and categories, 
	using automatic generation of XML files.

	Added info/1 and info/2 directives for documenting objects, protocols,
	categories, and predicates. Added definition of documentation file name
	extension and default file names for the DTD and XSL files to the config 
	files.

	Improved error checking for the built-in predicates create_object/4,
	create_protocol/3 and create_category/4 to also detect invalid entity 
	identifiers.

	Updated the user and reference manuals to describe the new automatic 
	documenting features.

	Updated all HTML documentation to conform to HTML 4.01 strict standard.

	Corrected some wrong cross-reference links and titles in the reference 
	and user manuals HTML pages.

	PDF versions of the manuals and tutorial are now available in both A4 
	and US letter formats.

	Corrected two errors in the searching example, one in the definition of 
	the farmer problem state space and the other when backtracking over
	performance reports.


2.5.2 - March 7, 2000

	Updated manuals to clarify some limitations of declaring and defining
	dynamic predicates inside categories and documented a way of using the 
	built-in local method this/1 to access object parameters.

	Removed references to parametric categories from the Logtalk 
	documentation (at runtime we can only access object parameters, 
	not category parameters).

	Corrected two wrong declarations of built-in methods (forall/2 and
	retractall/1) in the Logtalk pre-processor.

	Corrected bug where predicates declared in dynamic entities may have
	a "static" instead of a "dynamic" property.

	Corrected a bug in category compilation that prevented a dynamic category
	from being abolished. Speedup predicate definition lookups for categories.


2.5.1 - February 18, 2000

	Two new examples: birds, a bird identification expert system adopted 
	(with permission) from an Amzi example, and viewpoints, a set of 
	prototypes showing how to do property sharing and value sharing in 
	Logtalk.

	Renamed config file yap421.config to yap430.config to match the name of 
	the new YAP 4.3.0 public release (named 4.2.1 while on beta testing).

	Partial config file for Trinc Prolog R3.


2.5.0 - December 29, 1999

	The Logtalk pre-processor now accepts arbitrary clauses and directives
	to appear in a file before an opening entity directive. The clauses and
	directives are added unchanged to the compiled file.

	Improved performance for all kinds of message sending.

	Two new examples: reflection, showing how to implement a simple 
	class-based reflective system, and symdiff, showing how to use 
	parametric objects to implement symbolic expression differentiation 
	and simplification.

	Updated config file for the beta 8 release of SWI-Prolog 3.3.0.


2.4.0 - December 1, 1999

	Logtalk is now an Open Source project, available under Perl's Artistic 
	license.

	Two new examples: instmethods, illustrating the use of instance defined 
	methods, and classvars, showing how to implement class variables.

	Updated Logtalk grammar to explicitly allow for user-defined types
	in mode/2 directives.

	New config files for SWI-Prolog 3.3.0, SICStus Prolog 3.8 and CIAO 
	Prolog 1.4p0 (incomplete).

	Updated config file for B-Prolog 4.0.

	Updated config file for GNU Prolog to use the new call_with_args() 
	built-in predicate added in version 1.1.0.

	Updated config file for YAP Prolog to use the new call_with_args() 
	built-in predicate added in version 4.2.1.


2.3.1 - September 22, 1999

	Logtalk pre-processor updated to only report one warning per redefined
	Logtalk or Prolog built-in predicate.

	Changed some occurrences of atom "public" to "(public)" in 
	compiler/logtalk.pl file to avoid syntax errors in Prolog compilers 
	(like BinProlog) that define "public" as an operator. Also put some 
	terms between ()'s to avoid syntax errors with ALS Prolog 3.1

	Update config file for ALS Prolog to work with version 3.1.

	Updated configs/NOTES file include a workaround to use Logtalk with
	XSB 2.0, some guidelines on how to write loader utility files for
	BinProlog 7.50, and a bug in ALS Prolog 3.1 that affects Logtalk.


2.3.0 - September 12, 1999

	Metapredicate information is now stored with the other predicate 
	properties, instead of being discarded after compiling the clauses of
	a metapredicate. Added predicate property metapredicate/1. It is now 
	possible to assert clauses for dynamic metapredicates. 

	Corrected a bug in the processing of metacalls in pseudo-object user. 

	Corrected a bug in the implementation of private inheritance.
	Improved performance of protected inheritance.

	Corrected failure of processing initialization/1 and op/3 directives in 
	create_object/4, create_category/4 and create_protocol/3 built-in 
	predicates.

	Corrected a bug when calling private static category predicates from 
	importing objects. Simplified code generated for categories.

	Rewrite code for the built-in method current_predicate/1 to avoid 
	duplicated or wrong results when overriding predicate declarations 
	and to ensure that all possible argument type errors are detected.

	Changed compilation of classes that do not instantiate any (meta)class
	in order to throw the correct exception when a message is sent to them.

	Changed compilation of root objects (that do not instantiate, specialize 
	or extend other objects) so that calls to "super" (^^/1) fail (as they 
	should) instead of generating a "predicate does not exist" error message.

	Changed implementation of "super" calls (^^/1) to avoid a potential 
	endless loop problem when using these calls from the inheritance root 
	object of a reflexive class-based systems.

	Pre-processor now checks for callable and object identifier errors.
	Runtime now checks for non-instantiated messages.

	Added new example (inheritance) about public, protected and private 
	inheritance.

	Updated metapredicates, lo, kernel, and types examples. Most of the 
	code in the last two examples is being updated to form the basis of an 
	upcoming Logtalk standard library.

	Small changes in the pre-processor/runtime code for compatibility with
	ECLiPSe 4.2.2. Updated config files for this Prolog compiler.

	Rewrite some predicates in the config files for SWI-Prolog and LPA 
	Mac & WIN Prologs for improved performance.

	New tutorial session about events and monitors.

	Updated documentation to match the changes made in this version.


2.2.0 - July 10, 1999

	Implemented public, protected and private object inheritance, protocol
	implementation and category importation.
	
	New Logtalk built-in predicates instantiates_class/3, extends_object/3,
	extends_protocol/3, specializes_class/3, imports_category/3 and
	implements_protocol/3. The third argument returns the relation scope.

	Pre-processor now checks most directive errors.

	Changed ^^/1 (super call) implementation to only allow the use of a 
	single predicate call for argument and to retain the original sender
	of the message (see the updated sicstus example).

	Fixed bug that prevented directives with a variable number of arguments
	(like dynamic(), public(), uses(), ...) being recognized.

	Changed definition of predicate read_term/3 in the configs files of Amzi!,
	Aquarius, Arity, Eclipse, IC, K, LPA Mac&WIN, Master and XSB to always
	instantiates the singleton variables list to the empty list. Needed to
	prevent backtracking problems in logtalk_load/1 and logtalk_compile/1
	predicates.

	Removed choice-point in processing metacalls in predicate definitions.

	A banner with the Logtalk version is printed after loading the runtime/
	pre-processor.

	Removed variables example. The category attributes is now part of the
	kernel example. Corrected some harmless syntax errors in directives in
	kernel/attributes.lgt, kernel/monitor.lgt and miscellaneous/queens.lgt.

	Changed name of blocks example to bricks and object "block" to "brick" 
	in order to avoid problems with some Prolog compilers that use the atom 
	"block" for operators or built-in predicates.


2.1.0 - May 11, 1999

	Fixed some bugs in the definition of the pseudo-object user when sending 
	the message predicate_property/2.

	Renamed config file for Calypso to GNU Prolog.

	New config file for LPA WinProlog 4.0.

	Corrected the omission in the documentation of the Logtalk grammar of the 
	built_in entity property.

	New tutorial pages about building reflective class-based systems.

	Modified pre-processor to compile throw/1 as a control structure to 
	ensure compatibility with the GNU-Prolog compiler.

	Modified pre-processor to ensure compatibility with Prolog compilers that
	use immediate update semantics instead of the ISO logical database update.

	Improved simplification of compiled object and category clauses.

	Rewrite and clean up pre-processor code for better compiler performance.

	Several updates to the examples files.

	Changed all example loader files to wrap the call to logtalk_load/1 inside
	an initialization/1 directive for ISO standard compliance.


2.0 GM - February 9, 1999

	Removed some redundant choice-points that are being created when 
	compiling Logtalk entities.

	Small compilation speed optimizations.

	Logtalk compiled files now contain the declarations for the message 
	sending operators to ensure compatibility with some Prolog compilers.

	Changed the way Logtalk pre-processor writes directives to ensure 
	compatibility with some Prolog compilers. Corrected a bug in the
	processing of the op/3 directive.

	Updated PrologII+ config file for version 4.5.

	Changed the definitions of catch/3 and throw/1 in the config files for 
	LPA Prolog compilers.

	New config file for MasterProlog 4.1; removed config file for the 
	old BIM Prolog 4.0.

	Corrected an error in the config file for OpenProlog in the definition
	of the write_term/3 predicate.

	Added a safer definition for write_term/3 predicate in the config  
	files for Amzi, Aquarius, Arity, Eclipse, IC, K, LPA Mac, LPA Win, 
	and XSB Prolog compilers.

	Added a QUICK_START file.


2.0 Beta 3 - February 1, 1999

	Closed some encapsulation holes in the implementation of super calls.

	Changed Logtalk pre-processor to use write_term/3 instead of write/2 and 
	writeq/2 to workaround some compatibility problems with some Prolog 
	compilers.

	Changed mode operators priority and type to be compatible with the ISO
	standard.

	Modified definition of predicate read_term/3 in the config file for Amzi 
	compiler to return the atom end_of_file instead of '!EOF' at the end of
	a file (this prevented Logtalk to complete compilation any file under 
	this compiler). Improved detection of built-in predicates while compiling.

	Removed config file for wamcc. This compiler have been replaced by 
	Calypso (developed by the same author).

	Updated K-Prolog config file for version 4.50.

	Improved documentation of template config file.

	Added SCRIPT files to the kernel and types examples.

	Updated Tutorial and User and Reference Manuals.

	New end user license.


2.0 Beta 2 - November 16, 1998

	Built-ins logtalk_compile/1 and logtalk_load/1 updated to match 
	the documentation regarding thrown errors and to accept a list of
	entities to compile/load.

	Modified the examples loader utility files to make only a call to
	logtalk_load/1 by using a list of entities. This should make it easy to
	modify these files for compilers that don't support arbitrary queries
	in a file. 

	Logtalk runtime no longer tries to catch some of the errors thrown 
	by ::/2.

	Added to all config files a Logtalk predicate to check if a file 
	exists in the current working directory (used by the logtalk_load/1
	and logtalk_compile/1 Logtalk built-in predicates).

	New configs files for the K-Prolog 4.14 and Calypso 1.0b6 Prolog 
	compilers.

	Completed the config file for Open Prolog 1.03d38 (with the exception
	of lgt_current_date/3 that still have a dummy definition).

	Added a missing definition for Logtalk predicate forall/2 to the config
	file for Prolog II+ 4.4.

	Modified Logtalk pre-processor/runtime to avoid syntax errors when
	running on Open Prolog or Calypso and to remove some redundant
	choice-points that are being created when compiling categories and
	protocols.

	Modified some examples that use operators to avoid syntax errors in
	some Prolog compilers.

	Modified the implementation of the built-in method 
	predicate_property/2 to avoid duplicate answers and to throw an
	instantiation error if the first argument is not bound.

	Modified definition of the pseudo-object user to hide Logtalk pre-
	processor predicates from the current_predicate/1 built-in method and
	to ensure that the predicate_property/2 built-in method returns
	Logtalk defined predicate properties for built-in Logtalk and Prolog
	predicates.

	Modified Prolog code generated by the pre-processor to further minimize
	possible conflicts with user defined predicates.

	Added a lgt_predicate_property/2 predicate to the config files to
	improve Logtalk portability.

	Updated Tutorial and User and Reference Manuals.


2.0 Beta 1 - October 18, 1998

	Added basic support for implementation multi-inheritance.

	Logtalk pre-processor updated to try to detect misspelt local 
	predicate calls.

	First public beta.


2.0 Alpha 1 - July, 1998

	First release for registered users.