root/tags/lgt2214/RELEASE_NOTES

Revision 1645, 46.6 KB (checked in by pmoura, 4 years ago)

Fixed typo.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1=================================================================
2Logtalk - Object oriented extension to Prolog
3Release 2.21.4
4
5Copyright (c) 1998-2004 Paulo Moura.  All Rights Reserved.
6=================================================================
7
8
9RELEASE NOTES
10=============
11
12
132.21.4 - October 26, 2004
14
15    Corrected a silly bug in the definition of the predicate repeat/1 on the
16    new "benchmarks" example.
17
18
192.21.3 - October 25, 2004
20
21    Corrected a silly bug in message translation which resulted in a small
22    performance loss. Simplified implementation of message sending predicate
23    ::/2, resulting in a small performance improvement.
24
25    Added a new section on message sending performance to the user manual.
26
27    Added a new example, "benchmarks", for helping measuring performance of
28    Logtalk message sending between Prolog compilers and for comparing message
29    sending with predicate calls in plain Prolog and with calls to modules
30    predicates.
31
32    Updated the YAP configuration file to hide some of the book-keeping tables
33    of the Logtalk runtime engine and to use statistics/2 instead of cputime/0
34    for more accurate timings.
35
36    Updated the Logtalk shell installation script to create the $prefix/bin
37    directory if it does not exist.
38
39    The lgt2pdf.sh and lgt2html.sh shell scripts now use "rm -f" when removing
40    the DTD and XSD files in order to avoid prompting the the user about the file
41    permissions.
42
43    Updated the cplgtdirs.sh shell script to make all copied files user writable.
44
45
462.21.2 - October 18, 2004
47
48    Added support for declaring grammar rule non-terminals as public, protected,
49    private, dynamic, or discontiguous using the notation Functor//Arity. Added
50    support for documenting non-terminals using the info/2 and mode/2 directives.
51
52    Added support for a new alias/1 predicate property.
53
54    New experimental config file for JIProlog 3.0 (see the configs/NOTES file
55    for details).
56
57    Added a mode bundle for the TextMode 1.0.x (MacOS X) text editor providing
58    syntax highlighting, folding, and code snippets for editing Logtalk source
59    files. Corrected a bug in the syntax coloring of the :-/1-2 operator on the
60    SubEthaEdit 2.x text editor.
61
62
632.21.1 - September 27, 2004
64
65    Added experimental support for a new built-in method, expand_term/2, which
66    allows access to the Logtalk grammar rule translator. Corrected bug in the
67    expansion of \+/1 in grammar rule bodies. Optimized code generated for
68    message sending calls in the body of grammar rules. Improved error handling
69    of the built-in methods phrase/2 and phrase/3. Added new section on definite
70    clause grammars to the user manual. Added two new objects to the "dcgs"
71    example, dcgtest and bypass, containing test cases for the Logtalk DCG
72    translator and illustrating some programming techniques with grammar rules.
73
74    Corrected a bug in the implementation of the built-in method clause/2 which
75    prevented access to clauses of local dynamic predicates.
76
77    Corrected some dead links on the XHTML manuals.
78
79    Corrected a bug in the syntax coloring of numbers on the SubEthaEdit 2.x
80    text editor.
81
82
832.21.0 - September 14, 2004
84
85    Added a new predicate directive, alias/3, which allows the definition of
86    alternative predicate names in order to improve readability of inherited
87    features and to solve conflicts between implemented, imported, or inherited
88    predicates.
89
90    Added new example, "aliases", illustrating the use of the new alias/3
91    predicate directive for improving readability of inherited features.
92
93    Added new example, "diamonds", illustrating problems and solutions for the
94    "diamond problem" (multi-inheritance conflicts and ambiguities) using the
95    new alias/3 predicate directive.
96
97    Allow categories to import other categories, i.e. allow categories to be
98    defined as a composition of other categories. This feature should only be
99    used when extending a category without breaking its functional cohesion
100    (for example, when a modified version of a category is needed for importing
101    into several unrelated objects).
102
103    Added new example, "engines", illustrating importing a category from another
104    category.
105
106    Updated the syntax coloring configuration files for the supported text
107    editors for the new alias/3 predicate directive.
108
109    Added autocomplete strings for Logtalk methods and for Logtalk and Prolog
110    built-in predicates and directives to the SubEthaEdit 2.x text editor.
111
112    Corrected a bug which prevented compilation of metafiles containing
113    parametric entities.
114
115
1162.20.2 - August 31, 2004
117
118    Added a Windows JScript script for installing Logtalk. Improved the Windows
119    JScript scripts used for easy integration of Logtalk with selected Prolog
120    compilers.
121
122    Improved user manual section on defining object and category metapredicates
123    and on calling non-stardard Prolog built-in metapredicates. Improved the
124    description of some compiler options.
125
126    Added some files missing from the "errors" example (which should have been
127    included in the previous release).
128
129    Added basic syntax coloring support for the BBEdit 8.x text editor.
130
131
1322.20.1 - August 19, 2004
133
134    Added Windows JScript scripts for easy integration of Logtalk with CIAO and
135    GNU Prolog.
136
137    Added encoding attribute (set to UTF-8) to the xsl:output tag in the
138    lgtxml.xsl, lgthtml.xsl, and lgtxhtml.xsl files.
139
140    Replaced the Windows JScript scripts lgt2pdf.js and lgt2html.js by their
141    final versions (the wrong ones shipped with Logtalk version 2.20.0).
142
143    Updated the "errors" example to illustrate possible conflict errors when
144    using the uses/2 directive.
145
146    Updated the RPM logtalk.spec file to use the .tgz archive extension.
147
148
1492.20.0 - August 16, 2004
150
151    Added support for the uses/2 predicate directive (whose semantics is similar
152    to C++ using-declarations). Updated the uses/1 entity directive to accept as
153    argument a single object identifier.
154
155    Improved installation instructions for Windows users.
156
157    Added four new sample bash shell scripts and Windows JScript scripts for
158    converting XML documenting files to PDF, HTML, and XHTML using several XSL
159    processors.
160
161    Added missing namespace to XSL files in order to generated valid (X)HTML
162    files with recent versions of XSLT processors.
163
164    Updated the User Manual documentation on converting XML documenting files
165    to other formats.
166
167    Removed the texml.xsl XSLT file as the TeXMLatte application it depends on
168    is no longer available.
169
170    Added Windows JScript script for copying the Logtalk examples, library, and
171    xml directories to the user directory.
172
173    Added Windows JScript scripts for easy integration of Logtalk with ECLiPSe,
174    SWI-Prolog, SICStus Prolog, and YAP.
175
176    Added missing extension for source metafiles to the SWI-Prolog hook file.
177   
178    Corrected a bug in the lgtxhtml.xsl XSLT file where a wrong reference to
179    the Logtalk CSS file is being used in the xml-stylesheet tag.
180
181    The iso_initialization_dir/1 compiler option is now a read only flag,
182    defined in the configuration files.
183
184
1852.19.1 - August 2, 2004
186
187    Corrected a bug where entities could not be reloaded if they depend on
188    other, not yet loaded entities.
189
190    Corrected a bug where compiler options would not be used when compiling
191    source metafiles.
192
193    Corrected several typos on the Logtalk manuals.
194
195
1962.19.0 - July 26, 2004
197
198    Added support for defining more than one entity per file using Logtalk
199    source metafiles (*.mlgt), which the runtime engine automatically splits
200    on single entity source files plus loading and compiling helper files.
201
202    Updated the URL used on the automatically generated XML documenting files
203    when compiling entities with the option doctype(web).
204
205    Improved error checking when compiling calls to the {}/1 control construct.
206
207    Corrected several typos and some outdated links on the Logtalk manuals.
208
209
2102.18.0 - July 9, 2004
211
212    Added caching of method lookups in order to improve message processing
213    performance (including messages to self and super calls). Applied several
214    optimizations to runtime translation of messages in order to further
215    improve performance.
216
217    Improved error checking while parsing and compiling messages to self.
218
219    Update ECLiPSe config files to compile the Prolog files generated by Logtalk
220    (when compiling source files) in optimized mode instead of traceable mode.
221
222    Updated description of patches needed for running Logtalk with XSB, added
223    a shell script for easy integration of Logtalk with this Prolog compiler,
224    and corrected a problem with its corresponding config file.
225
226    Added multifile/1 directive to the syntax coloring configuration files of the
227    supported text editors.
228
229
2302.17.2 - June 14, 2004
231
232    Updated the Logtalk compiler to allow compilation of source files which
233    contain only directives and no entity definition.
234
235    Simplified loading of library and example entities by using Logtalk source
236    files as loader files.
237
238    Some improvements to the documentation, including the QUICK_START file and
239    the User Manual for first-time users, and to the example descriptions.
240
241    Corrected a bug in handling of local object operators that are also global
242    operators.
243
244    Corrected a bug where dynamic directives are not being generated for dynamic
245    predicates that lack a scope directive or an initial set of clauses.
246
247    Corrected a bug where local dynamic predicates would need a private scope
248    directive in order to allow clauses of the predicate to be retracted.
249
250    Simplified compilation of dynamic and discontiguous predicate directives.
251
252    Added new "logic" example implementing a translator from logic propositions
253    to conjunctive normal form.
254
255    Corrected a problem with wrong end-on-lines on some files.
256
257    Added a shell script for easy integration of Logtalk with CIAO Prolog.
258
259
2602.17.1 - June 7, 2004
261
262    Added custom handling of specification of predicate exceptions in info/2
263    documenting directives when writing XML documenting files (declared as
264    "exceptions is [Cond1-Term1, Cond2-Term2, ...]"; each pair (Condi, Termi)
265    represents an error condition and its respective exception).
266
267    Changed debugger command "e" to print exception terms instead of exiting
268    Logtalk session.
269
270    Corrected a compilation error with B-Prolog due to operator priorities.
271
272    Corrected a possible problem with the redefinition of loaded entities that
273    define (possibly at runtime) dynamic predicates. All clauses for an entity
274    dynamic predicates are retracted before loading the new entity definition.
275
276    Corrected a potential bug when pretty printing terms with variables in the
277    debugger and in the created XML documenting files.
278
279    Added four more DCGs examples ("walker movements", "iterative shell command
280    parsing", "bill of materials", and "command language").
281   
282    New "puzzles" and "metainterpreters" examples.
283
284    Added a mode bundle for the SubEthaEdit 2.x (MacOS X) text editor providing
285    syntax coloring for editing Logtalk source files. Optimized some of the
286    regular expressions in the syntax coloring files for the Kate/Kwrite and Vim
287    text editors.
288
289    Removed predicate nth/3 from library entities listp, list, and difflist.
290    Replaced by the predicates nth0/3 and nth1/3. Added new predicates nth1/4
291    and nth0/4.
292
293    Updated the config file for Quintus Prolog to make use of the "files"
294    library.
295
296    Added experimental implementations for some Prolog compilers of the library
297    portable protocol for operating system access (systemp.lgt). See the file
298    library/experimental/NOTES for details.
299
300
3012.17.0 - April 26, 2004
302
303    Added built-in debugging support implemented through the definition of a
304    new pseudo-object named "debugger". Added "debug" compiler option. Renamed
305    library entities "debuggerp" and "debugger" to, respectively, "event_dbgp"
306    and "event_dbg".
307
308    Improved installation instructions for multi-user environments. Added
309    a shell script for installing Logtalk in Unix and Unix-like operating
310    systems. Added a shell script for copying Logtalk xml, examples, and
311    library directories to the user home directory.
312
313    Added a logtalk.spec file for building Linux RPMs from sources.
314
315    Added a set of shell scripts for easy integration of Logtalk with ECLiPSe,
316    GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog, and YAP.
317
318    Corrected bug in the definition of the pseudo-object "user" that resulted
319    in mixed up metapredicate and type predicate properties.
320
321    Removed config files for outdated versions of Qu-Prolog, SWI-Prolog, ECLiPSe,
322    K-Prolog, CIAO, YAP, Amzi! Prolog, LPA Win-Prolog, SICStus Prolog, and XSB.
323
324
3252.16.2 - April 2, 2004
326
327    Corrected a bug in the library category monitor (file library/monitor.lgt)
328    that prevents its compilation.
329
330    Changed the possible values of the read-only flag startup_message (defined
331    in the config files) to "flags" (print banner and flag values), "banner"
332    (print only the banner), and "none" (do not print neither the banner nor the
333    flag values). Default value is "flags".
334
335    Updated the "errors" example to illustrate the error messages thrown when
336    trying to redefine Logtalk built-in control constructs.
337
338    Corrected a small problem with the Logtalk language specification file for
339    Apple's Xcode IDE.
340
341    Added preliminary support for syntax coloring using the Windows text editor
342    Crimson Editor.
343
344
3452.16.1 - March 23, 2004
346
347    The local built-in method parameter/2 can now be used inside categories
348    (but please read the warnings about such practice on the user manual).
349
350    Updated the Logtalk compiler to report an error when the user tries to
351    redefine a message sending or external call control construct inside an
352    object or category.
353
354    Corrected a bug in the compilation of metacalls whose meta-arguments are
355    variables.
356
357    Removed references to file sax.jar from the scripts used to convert XML
358    documenting files into (X)HTML. Updated scripts html.sh, htmlnt.cmd, and
359    htmldos.bat to use XT 20020426a or later version.
360
361    Improved syntax coloring accuracy of built-in predicates and methods for
362    the SubEthaEdit text editor.
363
364    Updated config file for Qu-Prolog 6.4.
365
366
3672.16.0 - March 3, 2004
368
369    Logtalk is now distributed under the Artistic License 2.0.
370
371    Operators declared inside an entity are now local to the entity, not
372    affecting the global operator table (complying with the Logtalk language
373    specification). Input and output of terms from inside objects and
374    categories now work as expected in the presence of local operator
375    declarations. Added a new example named "operators".
376
377    Updated built-in method predicate_property/2 for returning metapredicate/1
378    properties for both Logtalk and Prolog metapredicates.
379
380    Added support for calls to non-ISO Prolog standard built-in metapredicates
381    inside objects and categories. Added support for the declaration of non-ISO
382    Prolog standard metapredicates in the config files.
383
384    Small change to the way the Logtalk compiler reports the compilation of
385    entities. Small optimizations to the compilation of Logtalk source files.
386
387    Corrected a bug where calls to Logtalk built-in predicates would be
388    reported as non-portable when the value of compiler option portability is
389    set to warning.
390
391    New config file for Qu-Prolog 6.4 (see the configs/NOTES file for details).
392
393    Corrected a problem with the syntax coloring of quoted atoms and strings
394    in the SubEthaEdit text editor. Added more accurate syntax highlight for
395    built-in methods and built-in predicates.
396
397    Updated the syntax coloring configuration files for all supported text
398    editors to recognize the file extension used by the config files.
399
400
4012.15.6 - February 9, 2004
402
403    Added "xmlspec" compiler option in order to specify the extension (dtd
404    or xsd) of the file describing the XML documenting files specification.
405
406    Renamed compiler option "named_anonymous_vars" to the more appropriated
407    name "underscore_vars". Changed possible option values to "dont_care" and
408    "singletons" (default).
409
410    Added XSLT file for converting XML documenting files to XHTML 1.0 Strict
411    files. Set the default encoding of all XSLT files to UTF-8.
412
413    Added syntax coloring support for the KDE Kate and Kwrite text editors.
414
415    Improved syntax coloring configuration files for VIM, jEdit, NEdit,
416    SubEthaEdit, and Emacs text editors.
417
418    Removed outdated support for MacOS X Project Builder and added support
419    for the new MacOS X Xcode developer tool.
420
421    Corrected bug in the built-in predicate current_logtalk_flag/2 that
422    prevented some flag values from being returned after using the built-in
423    predicate set_logtalk_flag/2.
424
425    Corrected bug in the shapes example (wrong placement of the declaration
426    of the predicate side/1).
427
428
4292.15.5 - December 30, 2003
430
431    Make operator ^^/1 right-associative for consistency with remaining
432    operator declarations.
433
434    Added file BIBLIOGRAPHY containing a list of Logtalk publications in
435    BibTeX format.
436
437    Added a font-lock file for Emacs providing syntax coloring for editing
438    Logtalk source files.
439
440    Added an implementation of the Smalltalk dependent mechanism to the
441    standard Logtalk library.
442
443    Updated the config file for ECLiPSe 5.4~5.7 with missing ISO Prolog
444    predicate definitions needed for successful compilation of all entities
445    in the Logtalk standard library.
446
447    Updated manual pages to comply with XHTML 1.0 Strict and to provide
448    better navigation.
449
450
4512.15.4 - July 9, 2003
452
453    Corrected a spurious backtracking bug in the DCG rule translator. Added
454    two more examples of DCGs.
455
456    New config file for XSB 2.6. Updated Logtalk compiler to compile cleanly
457    under XSB after applying the patch described in configs/NOTES.
458
459    Updated SWI-Prolog config file to hide compiled entity predicates (requires
460    SWI-Prolog 5.2.3 or later version). New optional file configs/swihook.pl
461    contains hook code that allows Logtalk entities to be compiled and loaded
462    using SWI-Prolog load_files/2 and consult/1 predicates.
463
464    Syntax definition file for the Hydra 1.1 (MacOS X) text editor providing
465    syntax coloring for editing Logtalk source files.
466
467    Updated syntax coloring files for jEdit, NEdit, Vim, and TextPad in order
468    to recognize character code constants (0'x) and the DCG operator -->/2.
469
470
4712.15.3 - June 27, 2003
472
473    Updated experimental support for DCG rules to prevent over-simplification
474    of unification goals in the compilation of rules to clauses. Push-back
475    lists can now be used on rule heads.
476
477    The compilation mode of an entity (static/dynamic) is now stored in the
478    corresponding entity table (implying recompilation of all entities).
479
480    Updated GNU Prolog config file to hide compiled entity predicates.
481
482    Updated SWI-Prolog config file for better integration of Logtalk with
483    this compiler.
484
485
4862.15.2 - April 2, 2003
487
488    Experimental support for DCG rules inside categories and objects. Added
489    built-in methods phrase/2 and phrase/3.
490
491    Updated GNU Prolog config file to not hide compiled entity predicates in
492    order to avoid incompatibilities with dynamic entities.
493
494
4952.15.1 - March 8, 2003
496
497    New example, msglog, of using events and monitors to record, replay, and
498    print user messages.
499
500    Corrected a typo on the jEdit templates that resulted in syntax errors.
501    Corrected wrong year format in info/1 directive in all entity templates.
502    Added missing version info key to jEdit prototype template.
503
504    Corrected documentation of built-in local methods self/1 and sender/1.
505    Updated documentation of built-in local methods parameter/2 and this/1.
506
507
5082.15.0 - February 5, 2003
509
510    Changed "authors" key in info/1 directive to "author".
511
512    Corrected documentation of built-in local method this/1.
513
514    New geometric shapes example implemented in two versions, one
515    prototype-based and the other one class-based.
516
517    Improved support for jEdit text editor by adding a set of programming
518    templates for use with the editor Templates plug-in.
519
520    Added basic support for syntax highlighting and programming templates
521    for MacOS X Project builder.
522
523
5242.14.7 - January 10, 2003
525
526    Corrected a bug in the built-in methods asserta/1 and assertz/1 when
527    asserting predicate rules.
528
529    The built-in predicates logtalk_compile/1-2 and logtalk_load/1-2 now
530    accept both an entity (an atom) or a list of entities (a list of atoms).
531
532    Optimized the code generated when compiling or asserting clauses for
533    dynamic predicates.
534
535    Optimized protected inheritance performance on some Prolog compilers.
536
537
5382.14.6 - December 31, 2002
539
540    Corrected a bug where the opening directive of an object that,
541    simultaneously, implements a protocol, imports a categoty, instantiates
542    a class, and specializes a superclass, will not be recognized.
543
544
5452.14.5 - December 20, 2002
546
547    Simplified dynamic table of predicate declarations by removing two
548    redundant arguments.
549   
550    Corrected a bug where sending messages such as true/0 or !/0 to an
551    unknown object succeeded instead of throwing the correct exception.
552
553    Simplified the code used to generate links in the lgtpdfa4.xsl and
554    lgtpdfus.xsl XSLT files.
555
556
5572.14.4 - November 5, 2002
558
559    Removed definition of depracated built-in predicate logtalk_version/3.
560
561    Show flag names when printing at startup the default flag values.
562
563    Small change to messages printed on console with smart compilation of
564    source files turned on.
565
566    Updated YAP 4.3.x config file to use the YAP "system" library to access
567    the operating system for time, date, and file properties (enabling smart
568    source code compilation).
569
570    Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files to workaround a bug
571    in the PassiveTeX 1.21 XSL:FO processor.
572
573
5742.14.3 - Sptember 16, 2002
575
576    New compiler option, doctype, to set the doctype reference (if any)
577    in the XML documenting files. Default value is "local" for backward
578    compatibility. Updated the user manual section on compiler options.
579
580    The Logtalk built-in predicate logtalk_version/3 should be considered
581    deprecated (use current_logtalk_flag/3 instead). All references to this
582    predicate have been removed from the manuals.
583
584    Updated the jEdit syntax coloring config file for the new jEdit 4.1
585    version.
586
587    Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files for compatibility
588    with the XSL:FO processors Apache FOP 0.20.4, PassiveTeX, and RenderX
589    and with the XSL W3C Recommendation of October 15, 2001. Updated the
590    pdf.bat and pdf.sh scripts to reference the latest version of the
591    Apache FOP processor (0.20.4).
592
593    Changed the shell scripts html.sh and pdf.sh for compatibility with the
594    sh, bash, and zsh shells.
595
596
5972.14.2 - August 26, 2002
598
599    Calls to built-in method parameter/2 are now compiled inline, improving
600    call performance.
601
602    Updated Logtalk compiler to clean temporary compilation predicates after
603    compiling an entity instead of only before compilation.
604
605    Updated YAP 4.3.x config file for better Logtalk integration by hiding
606    all internal compiler, runtime, and compiled entities static predicates.
607
608    Updated GNU Prolog config file for better Logtalk integration by hiding
609    all internal compiler, runtime, and compiled entities predicates.
610
611    Updated the XSLT conversion scripts lgtxml.xsl and lgthtml.xsl to correct
612    some HTML conformance errors in the generated pages.
613
614    Corrected some XHTML conformance errors in the manual pages.
615
616
6172.14.1 - July 31, 2002
618
619    New Windows NT script and updated Unix shell script for batch converting
620    XML documenting files to HTML. Both scripts also generate an index.html
621    file containing links to all converted XML documenting files.
622
623    Corrected wrong XHTML DOCTYPE declaration in manual pages.
624
625
6262.14.0 - July 26, 2002
627
628    Renamed all compiler and runtime internal predicates and all auxiliary
629    predicates in the config files to start with a "$" character.
630   
631    New compiler option, code_prefix, to set a prefix for all Prolog code
632    functors generated by Logtalk when compiling entities. Default is ''.
633
634    New compiler option, named_anonymous_vars, that instructs the compiler to
635    interpret variables that start with an underscore as anonymous variables
636    (and to not report them as singleton variables). Default value is "off".
637
638    Directive info/2 was wrongly declared as a entity directive instead of a
639    predicate directive.
640
641    Converted all manual pages to XHTML 1.0 format. Corrected a wrong link in
642    the reference manual. Replaced GIF images by PNG versions.
643
644    Updated BProlog 6.x config file to workaround the new 6.2 built-in
645    predicate ::/2 that conflicts with the same named Logtalk message sending
646    operator.
647
648    Removed call to the obsolete built-in predicate nodbgcomp/0 from all
649    ECLiPSe config files.
650
651
6522.13.0 - June 15, 2002
653
654    Logtalk now outputs Prolog code using write_canonical/2 instead of
655    write_term/3. Goals are better portability of the generated Prolog files
656    and avoid issues with clauses with long bodies for Prolog compilers that
657    use a term print depth limit to prevent problems with cyclic terms.
658
659    Added report of default flag values at Logtalk startup.
660
661    Logtalk now prints a warning when redefining parametric objects.
662
663    Removed need of an abort/0 predicate from the Logtalk debugger example.
664    Removed any definition of this predicate from the config files.
665
666    Added missing definitions for some ISO built-in predicates to the Amzi!
667    Prolog 6.2.2 config file.
668
669
6702.12.0 - May 25, 2002
671
672    New read-only Logtalk flag "version". Corrected exception term generated
673    when trying to modify a read-only flag using the set_logtalk_flag/2
674    built-in predicate.
675
676    Updated config file for OpenProlog 1.1b5.
677
678    New config file for ECLiPSe 5.4.
679
680    Renamed config files for CIAO 1.7 (beta of 1.8) to "ciao_aux18.config"
681    and "ciao18.config".
682
683    Updated config file for Amzi! Prolog 6.2.2.
684
685    New example of using some of the built-in database handling methods
686    (dynpred).
687
688    Syntax configuration files for jEdit 4.0, VIM 6.1, NEdit 5.2, and
689    TextPad 4.5 text editors providing syntax highlighting for editing
690    Logtalk source files.
691
692
6932.11.0 - April 22, 2002
694
695    Added a "smart compilation" feature to the Logtalk compiler, controlled
696    by a "smart_compilation" flag. Only available in Prolog compilers that
697    provide access to file modification dates.
698
699    Added a "startup_message" flag to control printing of the Logtalk banner
700    at startup.
701
702    Reworked Logtalk pre-processor compilation and loading reports. Compiler
703    option "report" now togles between normal reporting (as specified by the
704    other flags) and silent compilation/loading of source files.
705
706
7072.10.0 - April 5, 2002
708
709    Scope of object asserted predicates for which there is no declaration is
710    now a function of the context instead of always being declared public.
711    Asserting in this, the predicate is declared private, asserting in self,
712    the predicate is declared protected, otherwise the predicate is declared
713    public.
714
715    Throw an error if a category contains clauses for dynamic predicates.
716
717    Updated documentation on categories and built-in methods for database
718    handling.
719
720    Retracting all clauses for a dynamic predicate from an object now allows
721    an inherited definition to be called when sending the corresponding
722    message. In previous versions the message just failed.
723
724    Added missing entries for the built-in predicates current_logtalk_flag/2
725    and set_logtalk_flag/2 to the Logtalk compiler built-in predicates table.
726
727    Updated config file for Amzi! Prolog 6.1.74.
728
729    Updated notes on patching XSB to work with Logtalk.
730
731
7322.9.3 - February 9, 2002
733
734    New current_logtalk_flag/2 and set_logtalk_flag/2 built-in predicates.
735
736    Updated documentation on new built-in predicates.
737
738    Renamed SWI-Prolog config file swi330.config to swi.config.
739
740    Renamed config file predicate lgt_default_compiler_option/2 to lgt_flag/2.
741
742    New XSL stylesheets and shell scripts to convert Logtalk XML entity
743    documenting files to PDF format using XSL Formating Objects.
744
745
7462.9.2 - January 4, 2002
747
748    The Logtalk compiler can now print a warning when compiling source files
749    that use non-ISO defined built-in predicates using a new portability/1
750    compiler option. Updated the relevant sections of the user manual and the
751    errors example.
752
753    Corrected a compiler bug where the entity relation tables only recorded
754    the last entry per entity relation type.
755   
756    Updated config file for CIAO 1.7#162.
757
758
7592.9.1 - December 5, 2001
760
761    Logtalk compiler now prints a warning when redefining or replacing an
762    existing entity.
763
764    Corrected a compiler bug in the error checking code for the info/1
765    and info/2 directives.
766
767    Changed the order of object loading in the "mi" example to avoid
768    suporious warning messages.
769   
770    Added a new problem ("bridge") to the "searching" example. Improved
771    "performance" monitor to give correct reports on alternative solutions.
772    Corrected a bug in the "water jug" state space example.
773
774
7752.9.0 - October 22, 2001
776
777    Added config files for CIAO Prolog 1.7p115 and B-Prolog 6.0.
778
779    Compiling and loading an entity that contains references to unknown
780    entities (by default) prints a warning. Updated user and reference
781    manuals.
782
783    Rewrited all the compiler warning/error code and output messages.
784
785    Changed compiled code functors postfixes from "_sdcl" and "_sdef" to
786    "_idcl" and "_idef" (implies recompilation of all objects, protocols,
787    and categories).
788
789    Changed all occurrences and references to the term "entity_scope" to
790    "scope".
791
792    Removed some redundant productions from the Logtalk grammar.
793
794    Updated documentation on the xml directory. Renamed some of the .xsl
795    files. Added sample scripts to batch convert .xml files to .html files.
796   
797    Added a new loader utility file, all.loader, to load all library files
798    loaded by the other loader files.
799
800    Started work on documenting the Logtalk pre-processor/compiler source
801    file.
802
803    New "errors" example. Updated the "inheritance" example.
804
805
8062.8.4 - March 9, 2001
807
808    Updated config files for BinProlog 8.0, K-Prolog 5.01, XSB 2.3, and
809    Amzi! Prolog 4.103~5.0.
810   
811    New config file for Amzi! Prolog 6.1 beta.
812
813    Corrected an incomplete entity definition in the Logtalk XML DTD.
814    Rewrite the Logtalk XSLT files for improved compatibility with XSLT
815    processors regarding handling of whitespace.
816
817    A first cut of a XML Schema for the Logtalk XML documentation files
818    (file xml/logtalk.xsd).
819
820    Small improvements to the documentation.
821
822
8232.8.3 - November 21, 2000
824
825    Corrected a bug where sending a message for a built-in method to an
826    unknown object fails instead of generating the expected exception.
827
828    Put some ocorrences of atoms public, mode, and type between ()'s to
829    avoid compilation errors in BinProlog 8.0 and other Prolog compilers
830    that declare these atoms as operators.
831
832    Corrected the definition of the state space of the "Missionaires and
833    Cannibals" problem in the "searching" example that resulted in some
834    wrong solutions.
835
836
8372.8.2 - November 5, 2000
838
839    New .xsl file to convert .xml files to TeXML files.
840
841    Fixed a problem with explicit compilation options being correctly parsed
842    but not processed.
843
844    Corrected a bug regarding default init options definition for the
845    points, polygons, and bricks examples. Updated category initialization
846    in roots example.
847
848
8492.8.1 - October 28, 2000
850
851    New config file for K-Prolog 5.0.
852
853    Improved compiler error detection and reporting of invalid directives
854    and clauses.
855   
856    Corrected a problem with some Prolog compilers where compiling a file
857    containing syntax errors may not close the file after the errors are
858    reported.
859
860    Many small improvements to all documentation.
861   
862    Small improvements to the .xsl files and to the output of .xml files.
863
864
8652.8.0 - October 1, 2000
866
867    I have found just a few days ago that I have uploaded to the Logtalk web
868    server a development version of Logtalk 2.7.0 instead of the final one!
869    To avoid confusions I decided to release a new version.
870
871    Changed implementation of the logtalk_compile/1-2 and logtalk_load/1-2
872    predicates to only accept a list of entities instead of either an entity
873    or a list of entities, simplifying and improving the performance of these
874    predicates. Improved error reporting for the logtalk_compile/1 and
875    logtalk_load/1 predicates. Updated relevant sessions in the user and
876    reference manuals.
877
878    Simplified the implementation of the following predicates, by sharing
879    the error checking code with the corresponding extended versions:
880    implements_protocol/2, imports_category/2, instantiates_class/2,
881    specializes_class/2, extends_protocol/2, and extends_object/2.
882
883    Completed some missing library file dependencies documentation in some
884    examples.
885
886    New version of the QUICK_START help file. Updated tutorial.
887
888
8892.7.0 - August 24, 2000
890
891    First release of the Logtalk standard library of objects, protocols and
892    categories.
893
894    Rewritten all examples to use the new Logtalk standard library.
895
896    New logtalk_load/2 and logtalk_compile/2 Logtalk built-in predicates,
897    accepting a list of compiler options. See the User and Reference Manuals
898    for details.
899
900    New XSLT file for viewing .xml files in Microsoft Internet Explorer 5.5
901    for Windows after installing the latest Microsoft XML Parser Preview
902    Release. Small improvements in all XSLT files.
903
904    Starting with this version all config files need to provide a definition
905    for the compare/3 predicate if it is not built-in in the corresponding
906    Prolog compiler. Also, default Logtalk compiler options are now also set
907    in the config files using the lgt_default_compiler_option/2 predicate.
908
909    Updated config file for CIAO 1.6p1. See the configs/NOTES file for
910    details.
911
912
9132.6.2 - July 4, 2000
914
915    Improved performance and error checking for the built-in predicates
916    create_object/4, create_protocol/3 and create_category/4.
917
918    Updated config file for BinProlog 7.83.
919
920    Many small updates to all documentation.
921
922    New PDF versions of the documentation formated for printing (with page
923    numbers, table of contents and index)are now available in both A4 and
924    US letter formats.
925
926
9272.6.1 - May 5, 2000
928
929    Modified the structure of the automatically generated XML documenting
930    files to improve XSL translation performance. Added a new, more standard
931    compliant, XSL file to generate HTML files and renamed the old one to
932    ie5.xsl. See the xml/NOTES file for details. Corrected an error in the
933    logtalk.css CSS file.   
934
935    Modified the definitions of predicates lgt_file_extension/2 and
936    lgt_file_name/2 in all config files.
937
938    Updated all the user manual sessions related to automatic documentation.
939
940    Updated all HTML documentation for future XHTML 1.0 conformance.
941
942    Start adding documenting directives to most examples.
943
944
9452.6.0 - April 27, 2000
946
947    Added support for documentation of objects, protocols, and categories,
948    using automatic generation of XML files.
949
950    Added info/1 and info/2 directives for documenting objects, protocols,
951    categories, and predicates. Added definition of documentation file name
952    extension and default file names for the DTD and XSL files to the config
953    files.
954
955    Improved error checking for the built-in predicates create_object/4,
956    create_protocol/3 and create_category/4 to also detect invalid entity
957    identifiers.
958
959    Updated the user and reference manuals to describe the new automatic
960    documenting features.
961
962    Updated all HTML documentation to conform to HTML 4.01 strict standard.
963
964    Corrected some wrong cross-reference links and titles in the reference
965    and user manuals HTML pages.
966
967    PDF versions of the manuals and tutorial are now available in both A4
968    and US letter formats.
969
970    Corrected two errors in the searching example, one in the definition of
971    the farmer problem state space and the other when backtracking over
972    performance reports.
973
974
9752.5.2 - March 7, 2000
976
977    Updated manuals to clarify some limitations of declaring and defining
978    dynamic predicates inside categories and documented a way of using the
979    built-in local method this/1 to access object parameters.
980
981    Removed references to parametric categories from the Logtalk
982    documentation (at runtime we can only access object parameters,
983    not category parameters).
984
985    Corrected two wrong declarations of built-in methods (forall/2 and
986    retractall/1) in the Logtalk pre-processor.
987
988    Corrected bug where predicates declared in dynamic entities may have
989    a "static" instead of a "dynamic" property.
990
991    Corrected a bug in category compilation that prevented a dynamic category
992    from being abolished. Speedup predicate definition lookups for categories.
993
994
9952.5.1 - February 18, 2000
996
997    Two new examples: birds, a bird identification expert system adopted
998    (with permission) from an Amzi example, and viewpoints, a set of
999    prototypes showing how to do property sharing and value sharing in
1000    Logtalk.
1001
1002    Renamed config file yap421.config to yap430.config to match the name of
1003    the new YAP 4.3.0 public release (named 4.2.1 while on beta testing).
1004
1005    Partial config file for Trinc Prolog R3.
1006
1007
10082.5.0 - December 29, 1999
1009
1010    The Logtalk pre-processor now accepts arbitrary clauses and directives
1011    to appear in a file before an opening entity directive. The clauses and
1012    directives are added unchanged to the compiled file.
1013
1014    Improved performance for all kinds of message sending.
1015
1016    Two new examples: reflection, showing how to implement a simple
1017    class-based reflective system, and symdiff, showing how to use
1018    parametric objects to implement symbolic expression differentiation
1019    and simplification.
1020
1021    Updated config file for the beta 8 release of SWI-Prolog 3.3.0.
1022
1023
10242.4.0 - December 1, 1999
1025
1026    Logtalk is now an Open Source project, available under Perl's Artistic
1027    license.
1028
1029    Two new examples: instmethods, ilustrating the use of instance defined
1030    methods, and classvars, showing how to implement class variables.
1031
1032    Updated Logtalk grammar to explicitly allow for user-defined types
1033    in mode/2 directives.
1034
1035    New config files for SWI-Prolog 3.3.0, SICStus Prolog 3.8 and CIAO
1036    Prolog 1.4p0 (incomplete).
1037
1038    Updated config file for B-Prolog 4.0.
1039
1040    Updated config file for GNU Prolog to use the new call_with_args()
1041    built-in predicate added in version 1.1.0.
1042
1043    Updated config file for YAP Prolog to use the new call_with_args()
1044    built-in predicate added in version 4.2.1.
1045
1046
10472.3.1 - September 22, 1999
1048
1049    Logtalk pre-processor updated to only report one warning per redefined
1050    Logtalk or Prolog built-in predicate.
1051
1052    Changed some occurrences of atom "public" to "(public)" in
1053    compiler/logtalk.pl file to avoid syntax errors in Prolog compilers
1054    (like BinProlog) that define "public" as an operator. Also put some
1055    terms between ()'s to avoid syntax errors with ALS Prolog 3.1
1056
1057    Update config file for ALS Prolog to work with version 3.1.
1058
1059    Updated configs/NOTES file include a workaround to use Logtalk with
1060    XSB 2.0, some guidelines on how to write loader utility files for
1061    BinProlog 7.50, and a bug in ALS Prolog 3.1 that affects Logtalk.
1062
1063
10642.3.0 - September 12, 1999
1065
1066    Metapredicate information is now stored with the other predicate
1067    properties, instead of being discarded after compiling the clauses of
1068    a metapredicate. Added predicate property metapredicate/1. It is now
1069    possible to assert clauses for dynamic metapredicates.
1070
1071    Corrected a bug in the processing of metacalls in pseudo-object user.
1072
1073    Corrected a bug in the implementation of private inheritance.
1074    Improved performance of protected inheritance.
1075
1076    Corrected failure of processing initialization/1 and op/3 directives in
1077    create_object/4, create_category/4 and create_protocol/3 built-in
1078    predicates.
1079
1080    Corrected a bug when calling private static category predicates from
1081    importing objects. Simplified code generated for categories.
1082
1083    Rewrite code for the built-in method current_predicate/1 to avoid
1084    duplicated or wrong results when overriding predicate declarations
1085    and to ensure that all possible argument type errors are detected.
1086
1087    Changed compilation of classes that do not instantiate any (meta)class
1088    in order to throw the correct exception when a message is sent to them.
1089
1090    Changed compilation of root objects (that do not instantiate, specialize
1091    or extend other objects) so that calls to "super" (^^/1) fail (as they
1092    should) instead of generating a "predicate does not exist" error message.
1093
1094    Changed implementation of "super" calls (^^/1) to avoid a potential
1095    endless loop problem when using these calls from the inheritance root
1096    object of a reflexive class-based systems.
1097
1098    Pre-processor now checks for callable and object identifier errors.
1099    Runtime now checks for non-instantiated messages.
1100
1101    Added new example (inheritance) about public, protected and private
1102    inheritance.
1103
1104    Updated metapredicates, lo, kernel, and types examples. Most of the
1105    code in the last two examples is being updated to form the basis of an
1106    upcoming Logtalk standard library.
1107
1108    Small changes in the pre-processor/runtime code for compatibility with
1109    ECLiPSe 4.2.2. Updated config files for this Prolog compiler.
1110
1111    Rewrite some predicates in the config files for SWI-Prolog and LPA
1112    Mac & WIN Prologs for improved performance.
1113
1114    New tutorial session about events and monitors.
1115
1116    Updated documentation to match the changes made in this version.
1117
1118
11192.2.0 - July 10, 1999
1120
1121    Implemented public, protected and private object inheritance, protocol
1122    implementation and category importation.
1123   
1124    New Logtalk built-in predicates instantiates_class/3, extends_object/3,
1125    extends_protocol/3, specializes_class/3, imports_category/3 and
1126    implements_protocol/3. The third argument returns the relation scope.
1127
1128    Pre-processor now checks most directive errors.
1129
1130    Changed ^^/1 (super call) implementation to only allow the use of a
1131    single predicate call for argument and to retain the original sender
1132    of the message (see the updated sicstus example).
1133
1134    Fixed bug that prevented directives with a variable number of arguments
1135    (like dynamic(), public(), uses(), ...) being recognized.
1136
1137    Changed definition of predicate read_term/3 in the configs files of Amzi!,
1138    Aquarius, Arity, Eclipse, IC, K, LPA Mac&WIN, Master and XSB to always
1139    instantiates the singleton variables list to the empty list. Needed to
1140    prevent backtracking problems in logtalk_load/1 and logtalk_compile/1
1141    predicates.
1142
1143    Removed choice-point in processing metacalls in predicate definitions.
1144
1145    A banner with the Logtalk version is printed after loading the runtime/
1146    pre-processor.
1147
1148    Removed variables example. The category attributes is now part of the
1149    kernel example. Corrected some warmless syntax errors in directives in
1150    kernel/attributes.lgt, kernel/monitor.lgt and miscellaneous/queens.lgt.
1151
1152    Changed name of blocks example to bricks and object "block" to "brick"
1153    in order to avoid problems with some Prolog compilers that use the atom
1154    "block" for operators or built-in predicates.
1155
1156
11572.1.0 - May 11, 1999
1158
1159    Fixed some bugs in the definition of the pseudo-object user when sending
1160    the message predicate_property/2.
1161
1162    Renamed config file for Calypso to GNU Prolog.
1163
1164    New config file for LPA WinProlog 4.0.
1165
1166    Corrected the omission in the documentation of the Logtalk grammar of the
1167    built_in entity property.
1168
1169    New tutorial pages about building reflective class-based systems.
1170
1171    Modified pre-processor to compile throw/1 as a control structure to
1172    ensure compatibility with the GNU-Prolog compiler.
1173
1174    Modified pre-processor to ensure compatibility with Prolog compilers that
1175    use immediate update semantics instead of the ISO logical database update.
1176
1177    Improved simplification of compiled object and category clauses.
1178
1179    Rewrite and clean up pre-processor code for better compiler performance.
1180
1181    Several updates to the examples files.
1182
1183    Changed all example loader files to wrap the call to logtalk_load/1 inside
1184    an initialization/1 directive for ISO standard compliance.
1185
1186
11872.0 GM - February 9, 1999
1188
1189    Removed some redundant choice-points that are being created when
1190    compiling Logtalk entities.
1191
1192    Small compilation speed optimizations.
1193
1194    Logtalk compiled files now contain the declarations for the message
1195    sending operators to ensure compatibility with some Prolog compilers.
1196
1197    Changed the way Logtalk pre-processor writes directives to ensure
1198    compatibility with some Prolog compilers. Corrected a bug in the
1199    processing of the op/3 directive.
1200
1201    Updated PrologII+ config file for version 4.5.
1202
1203    Changed the definitions of catch/3 and throw/1 in the config files for
1204</