75b2645e3f
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1580 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2022 lines
75 KiB
Plaintext
2022 lines
75 KiB
Plaintext
=================================================================
|
|
Logtalk - Object oriented extension to Prolog
|
|
Release 2.27.1
|
|
|
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|
=================================================================
|
|
|
|
|
|
RELEASE NOTES
|
|
=============
|
|
|
|
|
|
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.
|