root/tags/lgt2170/RELEASE_NOTES

Revision 917, 35.7 KB (checked in by pmoura, 5 years ago)

Corrected 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.17.0
4
5Copyright (c) 1998-2004 Paulo Moura.  All Rights Reserved.
6=================================================================
7
8
9RELEASE NOTES
10=============
11
12
132.17.0 - April 26, 2004
14
15    Added built-in debugging support implemented through the definition of a
16    new pseudo-object named "debugger". Added "debug" compiler option. Renamed
17    library entities "debuggerp" and "debugger" to, respectively, "event_dbgp"
18    and "event_dbg".
19
20    Improved installation instructions for multi-user environments. Added
21    a shell script for installing Logtalk in Unix and Unix-like operating
22    systems. Added a shell script for copying Logtalk xml, examples, and
23    library directories to the user home directory.
24
25    Added a logtalk.spec file for building Linux RPMs from sources.
26
27    Added a set of shell scripts for easy integration of Logtalk with ECLiPSe,
28    GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog, and YAP.
29
30    Corrected bug in the definition of the pseudo-object "user" that resulted
31    in mixed up metapredicate and type predicate properties.
32
33    Removed config files for outdated versions of Qu-Prolog, SWI-Prolog, ECLiPSe,
34    K-Prolog, CIAO, YAP, Amzi! Prolog, LPA Win-Prolog, SICStus Prolog, and XSB.
35
36
372.16.2 - April 2, 2004
38
39    Corrected a bug in the library category monitor (file library/monitor.lgt)
40    that prevents its compilation.
41
42    Changed the possible values of the read-only flag startup_message (defined
43    in the config files) to "flags" (print banner and flag values), "banner"
44    (print only the banner), and "none" (do not print neither the banner nor the
45    flag values). Default value is "flags".
46
47    Updated the "errors" example to illustrate the error messages thrown when
48    trying to redefine Logtalk built-in control constructs.
49
50    Corrected a small problem with the Logtalk language specification file for
51    Apple's Xcode IDE.
52
53    Added preliminary support for syntax coloring using the Windows text editor
54    Crimson Editor.
55
56
572.16.1 - March 23, 2004
58
59    The local built-in method parameter/2 can now be used inside categories
60    (but please read the warnings about such practice on the user manual).
61
62    Updated the Logtalk compiler to report an error when the user tries to
63    redefine a message sending or external call control construct inside an
64    object or category.
65
66    Corrected a bug in the compilation of metacalls whose meta-arguments are
67    variables.
68
69    Removed references to file sax.jar from the scripts used to convert XML
70    documenting files into (X)HTML. Updated scripts html.sh, htmlnt.cmd, and
71    htmldos.bat to use XT 20020426a or later version.
72
73    Improved syntax coloring accuracy of built-in predicates and methods for
74    the SubEthaEdit text editor.
75
76    Updated config file for Qu-Prolog 6.4.
77
78
792.16.0 - March 3, 2004
80
81    Logtalk is now distributed under the Artistic License 2.0.
82
83    Operators declared inside an entity are now local to the entity, not
84    affecting the global operator table (complying with the Logtalk language
85    specification). Input and output of terms from inside objects and
86    categories now work as expected in the presence of local operator
87    declarations. Added a new example named "operators".
88
89    Updated built-in method predicate_property/2 for returning metapredicate/1
90    properties for both Logtalk and Prolog metapredicates.
91
92    Added support for calls to non-ISO Prolog standard built-in metapredicates
93    inside objects and categories. Added support for the declaration of non-ISO
94    Prolog standard metapredicates in the config files.
95
96    Small change to the way the Logtalk compiler reports the compilation of
97    entities. Small optimizations to the compilation of Logtalk source files.
98
99    Corrected a bug where calls to Logtalk built-in predicates would be
100    reported as non-portable when the value of compiler option portability is
101    set to warning.
102
103    New config file for Qu-Prolog 6.4 (see the configs/NOTES file for details).
104
105    Corrected a problem with the syntax coloring of quoted atoms and strings
106    in the SubEthaEdit text editor. Added more accurate syntax highlight for
107    built-in methods and built-in predicates.
108
109    Updated the syntax coloring configuration files for all supported text
110    editors to recognize the file extension used by the config files.
111
112
1132.15.6 - February 9, 2004
114
115    Added "xmlspec" compiler option in order to specify the extension (dtd
116    or xsd) of the file describing the XML documenting files specification.
117
118    Renamed compiler option "named_anonymous_vars" to the more appropriated
119    name "underscore_vars". Changed possible option values to "dont_care" and
120    "singletons" (default).
121
122    Added XSLT file for converting XML documenting files to XHTML 1.0 Strict
123    files. Set the default encoding of all XSLT files to UTF-8.
124
125    Added syntax coloring support for the KDE Kate and Kwrite text editors.
126
127    Improved syntax coloring configuration files for VIM, jEdit, NEdit,
128    SubEthaEdit, and Emacs text editors.
129
130    Removed outdated support for MacOS X Project Builder and added support
131    for the new MacOS X Xcode developer tool.
132
133    Corrected bug in the built-in predicate current_logtalk_flag/2 that
134    prevented some flag values from being returned after using the built-in
135    predicate set_logtalk_flag/2.
136
137    Corrected bug in the shapes example (wrong placement of the declaration
138    of the predicate side/1).
139
140
1412.15.5 - December 30, 2003
142
143    Make operator ^^/1 right-associative for consistency with remaining
144    operator declarations.
145
146    Added file BIBLIOGRAPHY containing a list of Logtalk publications in
147    BibTeX format.
148
149    Added a font-lock file for Emacs providing syntax coloring for editing
150    Logtalk source files.
151
152    Added an implementation of the Smalltalk dependent mechanism to the
153    standard Logtalk library.
154
155    Updated the config file for ECLiPSe 5.4~5.7 with missing ISO Prolog
156    predicate definitions needed for successful compilation of all entities
157    in the Logtalk standard library.
158
159    Updated manual pages to comply with XHTML 1.0 Strict and to provide
160    better navigation.
161
162
1632.15.4 - July 9, 2003
164
165    Corrected a spurious backtracking bug in the DCG rule translator. Added
166    two more examples of DCGs.
167
168    New config file for XSB 2.6. Updated Logtalk compiler to compile cleanly
169    under XSB after applying the patch described in configs/NOTES.
170
171    Updated SWI-Prolog config file to hide compiled entity predicates (requires
172    SWI-Prolog 5.2.3 or later version). New optional file configs/swihook.pl
173    contains hook code that allows Logtalk entities to be compiled and loaded
174    using SWI-Prolog load_files/2 and consult/1 predicates.
175
176    Syntax definition file for the Hydra 1.1 (MacOS X) text editor providing
177    syntax coloring for editing Logtalk source files.
178
179    Updated syntax coloring files for jEdit, NEdit, Vim, and TextPad in order
180    to recognize character code constants (0'x) and the DCG operator -->/2.
181
182
1832.15.3 - June 27, 2003
184
185    Updated experimental support for DCG rules to prevent over-simplification
186    of unification goals in the compilation of rules to clauses. Push-back
187    lists can now be used on rule heads.
188
189    The compilation mode of an entity (static/dynamic) is now stored in the
190    corresponding entity table (implying recompilation of all entities).
191
192    Updated GNU Prolog config file to hide compiled entity predicates.
193
194    Updated SWI-Prolog config file for better integration of Logtalk with
195    this compiler.
196
197
1982.15.2 - April 2, 2003
199
200    Experimental support for DCG rules inside categories and objects. Added
201    built-in methods phrase/2 and phrase/3.
202
203    Updated GNU Prolog config file to not hide compiled entity predicates in
204    order to avoid incompatibilities with dynamic entities.
205
206
2072.15.1 - March 8, 2003
208
209    New example, msglog, of using events and monitors to record, replay, and
210    print user messages.
211
212    Corrected a typo on the jEdit templates that resulted in syntax errors.
213    Corrected wrong year format in info/1 directive in all entity templates.
214    Added missing version info key to jEdit prototype template.
215
216    Corrected documentation of built-in local methods self/1 and sender/1.
217    Updated documentation of built-in local methods parameter/2 and this/1.
218
219
2202.15.0 - February 5, 2003
221
222    Changed "authors" key in info/1 directive to "author".
223
224    Corrected documentation of built-in local method this/1.
225
226    New geometric shapes example implemented in two versions, one
227    prototype-based and the other one class-based.
228
229    Improved support for jEdit text editor by adding a set of programming
230    templates for use with the editor Templates plug-in.
231
232    Added basic support for syntax highlighting and programming templates
233    for MacOS X Project builder.
234
235
2362.14.7 - January 10, 2003
237
238    Corrected a bug in the built-in methods asserta/1 and assertz/1 when
239    asserting predicate rules.
240
241    The built-in predicates logtalk_compile/1-2 and logtalk_load/1-2 now
242    accept both an entity (an atom) or a list of entities (a list of atoms).
243
244    Optimized the code generated when compiling or asserting clauses for
245    dynamic predicates.
246
247    Optimized protected inheritance performance on some Prolog compilers.
248
249
2502.14.6 - December 31, 2002
251
252    Corrected a bug where the opening directive of an object that,
253    simultaneously, implements a protocol, imports a categoty, instantiates
254    a class, and specializes a superclass, will not be recognized.
255
256
2572.14.5 - December 20, 2002
258
259    Simplified dynamic table of predicate declarations by removing two
260    redundant arguments.
261   
262    Corrected a bug where sending messages such as true/0 or !/0 to an
263    unknown object succeeded instead of throwing the correct exception.
264
265    Simplified the code used to generate links in the lgtpdfa4.xsl and
266    lgtpdfus.xsl XSLT files.
267
268
2692.14.4 - November 5, 2002
270
271    Removed definition of depracated built-in predicate logtalk_version/3.
272
273    Show flag names when printing at startup the default flag values.
274
275    Small change to messages printed on console with smart compilation of
276    source files turned on.
277
278    Updated YAP 4.3.x config file to use the YAP "system" library to access
279    the operating system for time, date, and file properties (enabling smart
280    source code compilation).
281
282    Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files to workaround a bug
283    in the PassiveTeX 1.21 XSL:FO processor.
284
285
2862.14.3 - Sptember 16, 2002
287
288    New compiler option, doctype, to set the doctype reference (if any)
289    in the XML documenting files. Default value is "local" for backward
290    compatibility. Updated the user manual section on compiler options.
291
292    The Logtalk built-in predicate logtalk_version/3 should be considered
293    deprecated (use current_logtalk_flag/3 instead). All references to this
294    predicate have been removed from the manuals.
295
296    Updated the jEdit syntax coloring config file for the new jEdit 4.1
297    version.
298
299    Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files for compatibility
300    with the XSL:FO processors Apache FOP 0.20.4, PassiveTeX, and RenderX
301    and with the XSL W3C Recommendation of October 15, 2001. Updated the
302    pdf.bat and pdf.sh scripts to reference the latest version of the
303    Apache FOP processor (0.20.4).
304
305    Changed the shell scripts html.sh and pdf.sh for compatibility with the
306    sh, bash, and zsh shells.
307
308
3092.14.2 - August 26, 2002
310
311    Calls to built-in method parameter/2 are now compiled inline, improving
312    call performance.
313
314    Updated Logtalk compiler to clean temporary compilation predicates after
315    compiling an entity instead of only before compilation.
316
317    Updated YAP 4.3.x config file for better Logtalk integration by hiding
318    all internal compiler, runtime, and compiled entities static predicates.
319
320    Updated GNU Prolog config file for better Logtalk integration by hiding
321    all internal compiler, runtime, and compiled entities predicates.
322
323    Updated the XSLT conversion scripts lgtxml.xsl and lgthtml.xsl to correct
324    some HTML conformance errors in the generated pages.
325
326    Corrected some XHTML conformance errors in the manual pages.
327
328
3292.14.1 - July 31, 2002
330
331    New Windows NT script and updated Unix shell script for batch converting
332    XML documenting files to HTML. Both scripts also generate an index.html
333    file containing links to all converted XML documenting files.
334
335    Corrected wrong XHTML DOCTYPE declaration in manual pages.
336
337
3382.14.0 - July 26, 2002
339
340    Renamed all compiler and runtime internal predicates and all auxiliary
341    predicates in the config files to start with a "$" character.
342   
343    New compiler option, code_prefix, to set a prefix for all Prolog code
344    functors generated by Logtalk when compiling entities. Default is ''.
345
346    New compiler option, named_anonymous_vars, that instructs the compiler to
347    interpret variables that start with an underscore as anonymous variables
348    (and to not report them as singleton variables). Default value is "off".
349
350    Directive info/2 was wrongly declared as a entity directive instead of a
351    predicate directive.
352
353    Converted all manual pages to XHTML 1.0 format. Corrected a wrong link in
354    the reference manual. Replaced GIF images by PNG versions.
355
356    Updated BProlog 6.x config file to workaround the new 6.2 built-in
357    predicate ::/2 that conflicts with the same named Logtalk message sending
358    operator.
359
360    Removed call to the obsolete built-in predicate nodbgcomp/0 from all
361    ECLiPSe config files.
362
363
3642.13.0 - June 15, 2002
365
366    Logtalk now outputs Prolog code using write_canonical/2 instead of
367    write_term/3. Goals are better portability of the generated Prolog files
368    and avoid issues with clauses with long bodies for Prolog compilers that
369    use a term print depth limit to prevent problems with cyclic terms.
370
371    Added report of default flag values at Logtalk startup.
372
373    Logtalk now prints a warning when redefining parametric objects.
374
375    Removed need of an abort/0 predicate from the Logtalk debugger example.
376    Removed any definition of this predicate from the config files.
377
378    Added missing definitions for some ISO built-in predicates to the Amzi!
379    Prolog 6.2.2 config file.
380
381
3822.12.0 - May 25, 2002
383
384    New read-only Logtalk flag "version". Corrected exception term generated
385    when trying to modify a read-only flag using the set_logtalk_flag/2
386    built-in predicate.
387
388    Updated config file for OpenProlog 1.1b5.
389
390    New config file for ECLiPSe 5.4.
391
392    Renamed config files for CIAO 1.7 (beta of 1.8) to "ciao_aux18.config"
393    and "ciao18.config".
394
395    Updated config file for Amzi! Prolog 6.2.2.
396
397    New example of using some of the built-in database handling methods
398    (dynpred).
399
400    Syntax configuration files for jEdit 4.0, VIM 6.1, NEdit 5.2, and
401    TextPad 4.5 text editors providing syntax highlighting for editing
402    Logtalk source files.
403
404
4052.11.0 - April 22, 2002
406
407    Added a "smart compilation" feature to the Logtalk compiler, controlled
408    by a "smart_compilation" flag. Only available in Prolog compilers that
409    provide access to file modification dates.
410
411    Added a "startup_message" flag to control printing of the Logtalk banner
412    at startup.
413
414    Reworked Logtalk pre-processor compilation and loading reports. Compiler
415    option "report" now togles between normal reporting (as specified by the
416    other flags) and silent compilation/loading of source files.
417
418
4192.10.0 - April 5, 2002
420
421    Scope of object asserted predicates for which there is no declaration is
422    now a function of the context instead of always being declared public.
423    Asserting in this, the predicate is declared private, asserting in self,
424    the predicate is declared protected, otherwise the predicate is declared
425    public.
426
427    Throw an error if a category contains clauses for dynamic predicates.
428
429    Updated documentation on categories and built-in methods for database
430    handling.
431
432    Retracting all clauses for a dynamic predicate from an object now allows
433    an inherited definition to be called when sending the corresponding
434    message. In previous versions the message just failed.
435
436    Added missing entries for the built-in predicates current_logtalk_flag/2
437    and set_logtalk_flag/2 to the Logtalk compiler built-in predicates table.
438
439    Updated config file for Amzi! Prolog 6.1.74.
440
441    Updated notes on patching XSB to work with Logtalk.
442
443
4442.9.3 - February 9, 2002
445
446    New current_logtalk_flag/2 and set_logtalk_flag/2 built-in predicates.
447
448    Updated documentation on new built-in predicates.
449
450    Renamed SWI-Prolog config file swi330.config to swi.config.
451
452    Renamed config file predicate lgt_default_compiler_option/2 to lgt_flag/2.
453
454    New XSL stylesheets and shell scripts to convert Logtalk XML entity
455    documenting files to PDF format using XSL Formating Objects.
456
457
4582.9.2 - January 4, 2002
459
460    The Logtalk compiler can now print a warning when compiling source files
461    that use non-ISO defined built-in predicates using a new portability/1
462    compiler option. Updated the relevant sections of the user manual and the
463    errors example.
464
465    Corrected a compiler bug where the entity relation tables only recorded
466    the last entry per entity relation type.
467   
468    Updated config file for CIAO 1.7#162.
469
470
4712.9.1 - December 5, 2001
472
473    Logtalk compiler now prints a warning when redefining or replacing an
474    existing entity.
475
476    Corrected a compiler bug in the error checking code for the info/1
477    and info/2 directives.
478
479    Changed the order of object loading in the "mi" example to avoid
480    suporious warning messages.
481   
482    Added a new problem ("bridge") to the "searching" example. Improved
483    "performance" monitor to give correct reports on alternative solutions.
484    Corrected a bug in the "water jug" state space example.
485
486
4872.9.0 - October 22, 2001
488
489    Added config files for CIAO Prolog 1.7p115 and B-Prolog 6.0.
490
491    Compiling and loading an entity that contains references to unknown
492    entities (by default) prints a warning. Updated user and reference
493    manuals.
494
495    Rewrited all the compiler warning/error code and output messages.
496
497    Changed compiled code functors postfixes from "_sdcl" and "_sdef" to
498    "_idcl" and "_idef" (implies recompilation of all objects, protocols,
499    and categories).
500
501    Changed all occurrences and references to the term "entity_scope" to
502    "scope".
503
504    Removed some redundant productions from the Logtalk grammar.
505
506    Updated documentation on the xml directory. Renamed some of the .xsl
507    files. Added sample scripts to batch convert .xml files to .html files.
508   
509    Added a new loader utility file, all.loader, to load all library files
510    loaded by the other loader files.
511
512    Started work on documenting the Logtalk pre-processor/compiler source
513    file.
514
515    New "errors" example. Updated the "inheritance" example.
516
517
5182.8.4 - March 9, 2001
519
520    Updated config files for BinProlog 8.0, K-Prolog 5.01, XSB 2.3, and
521    Amzi! Prolog 4.103~5.0.
522   
523    New config file for Amzi! Prolog 6.1 beta.
524
525    Corrected an incomplete entity definition in the Logtalk XML DTD.
526    Rewrite the Logtalk XSLT files for improved compatibility with XSLT
527    processors regarding handling of whitespace.
528
529    A first cut of a XML Schema for the Logtalk XML documentation files
530    (file xml/logtalk.xsd).
531
532    Small improvements to the documentation.
533
534
5352.8.3 - November 21, 2000
536
537    Corrected a bug where sending a message for a built-in method to an
538    unknown object fails instead of generating the expected exception.
539
540    Put some ocorrences of atoms public, mode, and type between ()'s to
541    avoid compilation errors in BinProlog 8.0 and other Prolog compilers
542    that declare these atoms as operators.
543
544    Corrected the definition of the state space of the "Missionaires and
545    Cannibals" problem in the "searching" example that resulted in some
546    wrong solutions.
547
548
5492.8.2 - November 5, 2000
550
551    New .xsl file to convert .xml files to TeXML files.
552
553    Fixed a problem with explicit compilation options being correctly parsed
554    but not processed.
555
556    Corrected a bug regarding default init options definition for the
557    points, polygons, and bricks examples. Updated category initialization
558    in roots example.
559
560
5612.8.1 - October 28, 2000
562
563    New config file for K-Prolog 5.0.
564
565    Improved compiler error detection and reporting of invalid directives
566    and clauses.
567   
568    Corrected a problem with some Prolog compilers where compiling a file
569    containing syntax errors may not close the file after the errors are
570    reported.
571
572    Many small improvements to all documentation.
573   
574    Small improvements to the .xsl files and to the output of .xml files.
575
576
5772.8.0 - October 1, 2000
578
579    I have found just a few days ago that I have uploaded to the Logtalk web
580    server a development version of Logtalk 2.7.0 instead of the final one!
581    To avoid confusions I decided to release a new version.
582
583    Changed implementation of the logtalk_compile/1-2 and logtalk_load/1-2
584    predicates to only accept a list of entities instead of either an entity
585    or a list of entities, simplifying and improving the performance of these
586    predicates. Improved error reporting for the logtalk_compile/1 and
587    logtalk_load/1 predicates. Updated relevant sessions in the user and
588    reference manuals.
589
590    Simplified the implementation of the following predicates, by sharing
591    the error checking code with the corresponding extended versions:
592    implements_protocol/2, imports_category/2, instantiates_class/2,
593    specializes_class/2, extends_protocol/2, and extends_object/2.
594
595    Completed some missing library file dependencies documentation in some
596    examples.
597
598    New version of the QUICK_START help file. Updated tutorial.
599
600
6012.7.0 - August 24, 2000
602
603    First release of the Logtalk standard library of objects, protocols and
604    categories.
605
606    Rewritten all examples to use the new Logtalk standard library.
607
608    New logtalk_load/2 and logtalk_compile/2 Logtalk built-in predicates,
609    accepting a list of compiler options. See the User and Reference Manuals
610    for details.
611
612    New XSLT file for viewing .xml files in Microsoft Internet Explorer 5.5
613    for Windows after installing the latest Microsoft XML Parser Preview
614    Release. Small improvements in all XSLT files.
615
616    Starting with this version all config files need to provide a definition
617    for the compare/3 predicate if it is not built-in in the corresponding
618    Prolog compiler. Also, default Logtalk compiler options are now also set
619    in the config files using the lgt_default_compiler_option/2 predicate.
620
621    Updated config file for CIAO 1.6p1. See the configs/NOTES file for
622    details.
623
624
6252.6.2 - July 4, 2000
626
627    Improved performance and error checking for the built-in predicates
628    create_object/4, create_protocol/3 and create_category/4.
629
630    Updated config file for BinProlog 7.83.
631
632    Many small updates to all documentation.
633
634    New PDF versions of the documentation formated for printing (with page
635    numbers, table of contents and index)are now available in both A4 and
636    US letter formats.
637
638
6392.6.1 - May 5, 2000
640
641    Modified the structure of the automatically generated XML documenting
642    files to improve XSL translation performance. Added a new, more standard
643    compliant, XSL file to generate HTML files and renamed the old one to
644    ie5.xsl. See the xml/NOTES file for details. Corrected an error in the
645    logtalk.css CSS file.   
646
647    Modified the definitions of predicates lgt_file_extension/2 and
648    lgt_file_name/2 in all config files.
649
650    Updated all the user manual sessions related to automatic documentation.
651
652    Updated all HTML documentation for future XHTML 1.0 conformance.
653
654    Start adding documenting directives to most examples.
655
656
6572.6.0 - April 27, 2000
658
659    Added support for documentation of objects, protocols, and categories,
660    using automatic generation of XML files.
661
662    Added info/1 and info/2 directives for documenting objects, protocols,
663    categories, and predicates. Added definition of documentation file name
664    extension and default file names for the DTD and XSL files to the config
665    files.
666
667    Improved error checking for the built-in predicates create_object/4,
668    create_protocol/3 and create_category/4 to also detect invalid entity
669    identifiers.
670
671    Updated the user and reference manuals to describe the new automatic
672    documenting features.
673
674    Updated all HTML documentation to conform to HTML 4.01 strict standard.
675
676    Corrected some wrong cross-reference links and titles in the reference
677    and user manuals HTML pages.
678
679    PDF versions of the manuals and tutorial are now available in both A4
680    and US letter formats.
681
682    Corrected two errors in the searching example, one in the definition of
683    the farmer problem state space and the other when backtracking over
684    performance reports.
685
686
6872.5.2 - March 7, 2000
688
689    Updated manuals to clarify some limitations of declaring and defining
690    dynamic predicates inside categories and documented a way of using the
691    built-in local method this/1 to access object parameters.
692
693    Removed references to parametric categories from the Logtalk
694    documentation (at runtime we can only access object parameters,
695    not category parameters).
696
697    Corrected two wrong declarations of built-in methods (forall/2 and
698    retractall/1) in the Logtalk pre-processor.
699
700    Corrected bug where predicates declared in dynamic entities may have
701    a "static" instead of a "dynamic" property.
702
703    Corrected a bug in category compilation that prevented a dynamic category
704    from being abolished. Speedup predicate definition lookups for categories.
705
706
7072.5.1 - February 18, 2000
708
709    Two new examples: birds, a bird identification expert system adopted
710    (with permission) from an Amzi example, and viewpoints, a set of
711    prototypes showing how to do property sharing and value sharing in
712    Logtalk.
713
714    Renamed config file yap421.config to yap430.config to match the name of
715    the new YAP 4.3.0 public release (named 4.2.1 while on beta testing).
716
717    Partial config file for Trinc Prolog R3.
718
719
7202.5.0 - December 29, 1999
721
722    The Logtalk pre-processor now accepts arbitrary clauses and directives
723    to appear in a file before an opening entity directive. The clauses and
724    directives are added unchanged to the compiled file.
725
726    Improved performance for all kinds of message sending.
727
728    Two new examples: reflection, showing how to implement a simple
729    class-based reflective system, and symdiff, showing how to use
730    parametric objects to implement symbolic expression differentiation
731    and simplification.
732
733    Updated config file for the beta 8 release of SWI-Prolog 3.3.0.
734
735
7362.4.0 - December 1, 1999
737
738    Logtalk is now an Open Source project, available under Perl's Artistic
739    license.
740
741    Two new examples: instmethods, ilustrating the use of instance defined
742    methods, and classvars, showing how to implement class variables.
743
744    Updated Logtalk grammar to explicitly allow for user-defined types
745    in mode/2 directives.
746
747    New config files for SWI-Prolog 3.3.0, SICStus Prolog 3.8 and CIAO
748    Prolog 1.4p0 (incomplete).
749
750    Updated config file for B-Prolog 4.0.
751
752    Updated config file for GNU Prolog to use the new call_with_args()
753    built-in predicate added in version 1.1.0.
754
755    Updated config file for YAP Prolog to use the new call_with_args()
756    built-in predicate added in version 4.2.1.
757
758
7592.3.1 - September 22, 1999
760
761    Logtalk pre-processor updated to only report one warning per redefined
762    Logtalk or Prolog built-in predicate.
763
764    Changed some occurrences of atom "public" to "(public)" in
765    compiler/logtalk.pl file to avoid syntax errors in Prolog compilers
766    (like BinProlog) that define "public" as an operator. Also put some
767    terms between ()'s to avoid syntax errors with ALS Prolog 3.1
768
769    Update config file for ALS Prolog to work with version 3.1.
770
771    Updated configs/NOTES file include a workaround to use Logtalk with
772    XSB 2.0, some guidelines on how to write loader utility files for
773    BinProlog 7.50, and a bug in ALS Prolog 3.1 that affects Logtalk.
774
775
7762.3.0 - September 12, 1999
777
778    Metapredicate information is now stored with the other predicate
779    properties, instead of being discarded after compiling the clauses of
780    a metapredicate. Added predicate property metapredicate/1. It is now
781    possible to assert clauses for dynamic metapredicates.
782
783    Corrected a bug in the processing of metacalls in pseudo-object user.
784
785    Corrected a bug in the implementation of private inheritance.
786    Improved performance of protected inheritance.
787
788    Corrected failure of processing initialization/1 and op/3 directives in
789    create_object/4, create_category/4 and create_protocol/3 built-in
790    predicates.
791
792    Corrected a bug when calling private static category predicates from
793    importing objects. Simplified code generated for categories.
794
795    Rewrite code for the built-in method current_predicate/1 to avoid
796    duplicated or wrong results when overriding predicate declarations
797    and to ensure that all possible argument type errors are detected.
798
799    Changed compilation of classes that do not instantiate any (meta)class
800    in order to throw the correct exception when a message is sent to them.
801
802    Changed compilation of root objects (that do not instantiate, specialize
803    or extend other objects) so that calls to "super" (^^/1) fail (as they
804    should) instead of generating a "predicate does not exist" error message.
805
806    Changed implementation of "super" calls (^^/1) to avoid a potential
807    endless loop problem when using these calls from the inheritance root
808    object of a reflexive class-based systems.
809
810    Pre-processor now checks for callable and object identifier errors.
811    Runtime now checks for non-instantiated messages.
812
813    Added new example (inheritance) about public, protected and private
814    inheritance.
815
816    Updated metapredicates, lo, kernel, and types examples. Most of the
817    code in the last two examples is being updated to form the basis of an
818    upcoming Logtalk standard library.
819
820    Small changes in the pre-processor/runtime code for compatibility with
821    ECLiPSe 4.2.2. Updated config files for this Prolog compiler.
822
823    Rewrite some predicates in the config files for SWI-Prolog and LPA
824    Mac & WIN Prologs for improved performance.
825
826    New tutorial session about events and monitors.
827
828    Updated documentation to match the changes made in this version.
829
830
8312.2.0 - July 10, 1999
832
833    Implemented public, protected and private object inheritance, protocol
834    implementation and category importation.
835   
836    New Logtalk built-in predicates instantiates_class/3, extends_object/3,
837    extends_protocol/3, specializes_class/3, imports_category/3 and
838    implements_protocol/3. The third argument returns the relation scope.
839
840    Pre-processor now checks most directive errors.
841
842    Changed ^^/1 (super call) implementation to only allow the use of a
843    single predicate call for argument and to retain the original sender
844    of the message (see the updated sicstus example).
845
846    Fixed bug that prevented directives with a variable number of arguments
847    (like dynamic(), public(), uses(), ...) being recognized.
848
849    Changed definition of predicate read_term/3 in the configs files of Amzi!,
850    Aquarius, Arity, Eclipse, IC, K, LPA Mac&WIN, Master and XSB to always
851    instantiates the singleton variables list to the empty list. Needed to
852    prevent backtracking problems in logtalk_load/1 and logtalk_compile/1
853    predicates.
854
855    Removed choice-point in processing metacalls in predicate definitions.
856
857    A banner with the Logtalk version is printed after loading the runtime/
858    pre-processor.
859
860    Removed variables example. The category attributes is now part of the
861    kernel example. Corrected some warmless syntax errors in directives in
862    kernel/attributes.lgt, kernel/monitor.lgt and miscellaneous/queens.lgt.
863
864    Changed name of blocks example to bricks and object "block" to "brick"
865    in order to avoid problems with some Prolog compilers that use the atom
866    "block" for operators or built-in predicates.
867
868
8692.1.0 - May 11, 1999
870
871    Fixed some bugs in the definition of the pseudo-object user when sending
872    the message predicate_property/2.
873
874    Renamed config file for Calypso to GNU Prolog.
875
876    New config file for LPA WinProlog 4.0.
877
878    Corrected the omission in the documentation of the Logtalk grammar of the
879    built_in entity property.
880
881    New tutorial pages about building reflective class-based systems.
882
883    Modified pre-processor to compile throw/1 as a control structure to
884    ensure compatibility with the GNU-Prolog compiler.
885
886    Modified pre-processor to ensure compatibility with Prolog compilers that
887    use immediate update semantics instead of the ISO logical database update.
888
889    Improved simplification of compiled object and category clauses.
890
891    Rewrite and clean up pre-processor code for better compiler performance.
892
893    Several updates to the examples files.
894
895    Changed all example loader files to wrap the call to logtalk_load/1 inside
896    an initialization/1 directive for ISO standard compliance.
897
898
8992.0 GM - February 9, 1999
900
901    Removed some redundant choice-points that are being created when
902    compiling Logtalk entities.
903
904    Small compilation speed optimizations.
905
906    Logtalk compiled files now contain the declarations for the message
907    sending operators to ensure compatibility with some Prolog compilers.
908
909    Changed the way Logtalk pre-processor writes directives to ensure
910    compatibility with some Prolog compilers. Corrected a bug in the
911    processing of the op/3 directive.
912
913    Updated PrologII+ config file for version 4.5.
914
915    Changed the definitions of catch/3 and throw/1 in the config files for
916    LPA Prolog compilers.
917
918    New config file for MasterProlog 4.1; removed config file for the
919    old BIM Prolog 4.0.
920
921    Corrected an error in the config file for OpenProlog in the definiton
922    of the write_term/3 predicate.
923
924    Added a safer definition for write_term/3 predicate in the config 
925    files for Amzi, Aquarius, Arity, Eclipse, IC, K, LPA Mac, LPA Win,
926    and XSB Prolog compilers.
927
928    Added a QUICK_START file.
929
930
9312.0 Beta 3 - February 1, 1999
932
933    Closed some encapsulation holes in the implementation of super calls.
934
935    Changed Logtalk pre-processor to use write_term/3 instead of write/2 and
936    writeq/2 to workaround some compatibility problems with some Prolog
937    compilers.
938
939    Changed mode operators priority and type to be compatible with the ISO
940    standard.
941
942    Modified definition of predicate read_term/3 in the config file for Amzi
943    compiler to return the atom end_of_file instead of '!EOF' at the end of
944    a file (this prevented Logtalk to complete compilation any file under
945    this compiler). Improved detection of built-in predicates while compiling.
946
947    Removed config file for wamcc. This compiler have been replaced by
948    Calypso (developed by the same author).
949
950    Updated K-Prolog config file for version 4.50.
951
952    Improved documentation of template config file.
953
954    Added SCRIPT files to the kernel and types examples.
955
956    Updated Tutorial and User and Reference Manuals.
957
958    New end user license.
959
960
9612.0 Beta 2 - November 16, 1998
962
963    Built-ins logtalk_compile/1 and logtalk_load/1 updated to match
964    the documentation regarding thrown errors and to accept a list of
965    entities to compile/load.
966
967    Modified the examples loader utility files to make only a call to
968    logtalk_load/1 by using a list of entities. This should make it easy to
969    modify these files for compilers that don't support arbritrary queries
970    in a file.
971
972    Logtalk runtime no longer tries to catch some of the errors thrown
973    by ::/2.
974
975    Added to all config files a Logtalk predicate to check if a file
976    exists in the current working directory (used by the logtalk_load/1
977    and logtalk_compile/1 Logtalk built-in predicates).
978
979    New configs files for the K-Prolog 4.14 and Calypso 1.0b6 Prolog
980    compilers.
981
982    Completed the config file for Open Prolog 1.03d38 (with the exception
983    of lgt_current_date/3 that still have a dummy definition).
984
985    Added a missing definition for Logtalk predicate forall/2 to the config
986    file for Prolog II+ 4.4.
987
988    Modified Logtalk pre-processor/runtime to avoid syntax errors when
989    running on Open Prolog or Calypso and to remove some redundant
990    choice-points that are being created when compiling categories and
991    protocols.
992
993    Modified some examples that use operators to avoid syntax errors in
994    some Prolog compilers.
995
996    Modified the implementation of the built-in method
997    predicate_property/2 to avoid duplicate answers and to throw an
998    instantiation error if the first argument is not bound.
999
1000    Modified definition of the pseudo-object user to hide Logtalk pre-
1001    processor predicates from the current_predicate/1 built-in method and
1002    to ensure that the predicate_property/2 built-in method returns
1003    Logtalk defined predicate properties for built-in Logtalk and Prolog
1004    predicates.
1005
1006    Modified Prolog code generated by the pre-processor to further minimize
1007    possible conflicts with user defined predicates.
1008
1009    Added a lgt_predicate_property/2 predicate to the config files to
1010    improve Logtalk portability.
1011
1012    Updated Tutorial and User and Reference Manuals.
1013
1014
10152.0 Beta 1 - October 18, 1998
1016
1017    Added basic support for implementation multi-inheritance.
1018
1019    Logtalk pre-processor updated to try to detect misspelt local
1020    predicate calls.
1021
1022    First public beta.
1023
1024
10252.0 Alpha 1 - July, 1998
1026
1027    First release for registered users.
Note: See TracBrowser for help on using the browser.