root/tags/lgt291/RELEASE_NOTES

Revision 30, 19.5 KB (checked in by pmoura, 7 years ago)

This commit was manufactured by cvs2svn to create tag 'lgt291'.

  • 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.9.1
4
5Copyright (c) 1998-2001 Paulo Moura.  All Rights Reserved.
6=================================================================
7
8
9RELEASE NOTES
10=============
11
12
132.9.1 - December 5, 2001
14
15    Logtalk compiler now prints a warning when redefining or replacing an
16    existing entity.
17
18    Corrected a compiler bug in the error checking code for the info/1
19    and info/2 directives.
20
21    Changed the order of object loading in the "mi" example to avoid
22    suporious warning messages.
23   
24    Added a new problem ("bridge") to the "searching" example. Improved
25    "performance" monitor to give correct reports on alternative solutions.
26    Corrected a bug in the "water jug" state space example.
27
28
292.9.0 - October 22, 2001
30
31    Added config files for CIAO Prolog 1.7p115 and B-Prolog 6.0.
32
33    Compiling and loading an entity that contains references to unknown
34    entities (by default) prints a warning. Updated user and reference
35    manuals.
36
37    Rewrited all the compiler warning/error code and output messages.
38
39    Changed compiled code functors postfixes from "_sdcl" and "_sdef" to
40    "_idcl" and "_idef" (implies recompilation of all objects, protocols,
41    and categories).
42
43    Changed all occurrences and references to the term "entity_scope" to
44    "scope".
45
46    Removed some redundant productions from the Logtalk grammar.
47
48    Updated documentation on the xml directory. Renamed some of the .xsl
49    files. Added sample scripts to batch convert .xml files to .html files.
50   
51    Added a new loader utility file, all.loader, to load all library files
52    loaded by the other loader files.
53
54    Started work on documenting the Logtalk pre-processor/compiler source
55    file.
56
57    New "errors" example. Updated the "inheritance" example.
58
59
602.8.4 - March 9, 2001
61
62    Updated config files for BinProlog 8.0, K-Prolog 5.01, XSB 2.3, and
63    Amzi! Prolog 4.103~5.0.
64   
65    New config file for Amzi! Prolog 6.1 beta.
66
67    Corrected an incomplete entity definition in the Logtalk XML DTD.
68    Rewrite the Logtalk XSLT files for improved compatibility with XSLT
69    processors regarding handling of whitespace.
70
71    A first cut of a XML Schema for the Logtalk XML documentation files
72    (file xml/logtalk.xsd).
73
74    Small improvements to the documentation.
75
76
772.8.3 - November 21, 2000
78
79    Corrected a bug where sending a message for a built-in method to an
80    unknown object fails instead of generating the expected exception.
81
82    Put some ocorrences of atoms public, mode, and type between ()'s to
83    avoid compilation errors in BinProlog 8.0 and other Prolog compilers
84    that declare these atoms as operators.
85
86    Corrected the definition of the state space of the "Missionaires and
87    Cannibals" problem in the "searching" example that resulted in some
88    wrong solutions.
89
90
912.8.2 - November 5, 2000
92
93    New .xsl file to convert .xml files to TeXML files.
94
95    Fixed a problem with explicit compilation options being correctly parsed
96    but not processed.
97
98    Corrected a bug regarding default init options definition for the
99    points, polygons, and bricks examples. Updated category initialization
100    in roots example.
101
102
1032.8.1 - October 28, 2000
104
105    New config file for K-Prolog 5.0.
106
107    Improved compiler error detection and reporting of invalid directives
108    and clauses.
109   
110    Corrected a problem with some Prolog compilers where compiling a file
111    containing syntax errors may not close the file after the errors are
112    reported.
113
114    Many small improvements to all documentation.
115   
116    Small improvements to the .xsl files and to the output of .xml files.
117
118
1192.8.0 - October 1, 2000
120
121    I have found just a few days ago that I have uploaded to the Logtalk web
122    server a development version of Logtalk 2.7.0 instead of the final one!
123    To avoid confusions I decided to release a new version.
124
125    Changed implementation of the logtalk_compile/1-2 and logtalk_load/1-2
126    predicates to only accept a list of entities instead of either an entity
127    or a list of entities, simplifying and improving the performance of these
128    predicates. Improved error reporting for the logtalk_compile/1 and
129    logtalk_load/1 predicates. Updated relevant sessions in the user and
130    reference manuals.
131
132    Simplified the implementation of the following predicates, by sharing
133    the error checking code with the corresponding extended versions:
134    implements_protocol/2, imports_category/2, instantiates_class/2,
135    specializes_class/2, extends_protocol/2, and extends_object/2.
136
137    Completed some missing library file dependencies documentation in some
138    examples.
139
140    New version of the QUICK_START help file. Updated tutorial.
141
142
1432.7.0 - August 24, 2000
144
145    First release of the Logtalk standard library of objects, protocols and
146    categories.
147
148    Rewritten all examples to use the new Logtalk standard library.
149
150    New logtalk_load/2 and logtalk_compile/2 Logtalk built-in predicates,
151    accepting a list of compiler options. See the User and Reference Manuals
152    for details.
153
154    New XSLT file for viewing .xml files in Microsoft Internet Explorer 5.5
155    for Windows after installing the latest Microsoft XML Parser Preview
156    Release. Small improvements in all XSLT files.
157
158    Starting with this version all config files need to provide a definition
159    for the compare/3 predicate if it is not built-in in the corresponding
160    Prolog compiler. Also, default Logtalk compiler options are now also set
161    in the config files using the lgt_default_compiler_option/2 predicate.
162
163    Updated config file for CIAO 1.6p1. See the configs/NOTES file for
164    details.
165
166
1672.6.2 - July 4, 2000
168
169    Improved performance and error checking for the built-in predicates
170    create_object/4, create_protocol/3 and create_category/4.
171
172    Updated config file for BinProlog 7.83.
173
174    Many small updates to all documentation.
175
176    New PDF versions of the documentation formated for printing (with page
177    numbers, table of contents and index)are now available in both A4 and
178    US letter formats.
179
180
1812.6.1 - May 5, 2000
182
183    Modified the structure of the automatically generated XML documenting
184    files to improve XSL translation performance. Added a new, more standard
185    compliant, XSL file to generate HTML files and renamed the old one to
186    ie5.xsl. See the xml/NOTES file for details. Corrected an error in the
187    logtalk.css CSS file.   
188
189    Modified the definitions of predicates lgt_file_extension/2 and
190    lgt_file_name/2 in all config files.
191
192    Updated all the user manual sessions related to automatic documentation.
193
194    Updated all HTML documentation for future XHTML 1.0 conformance.
195
196    Start adding documenting directives to most examples.
197
198
1992.6.0 - April 27, 2000
200
201    Added support for documentation of objects, protocols, and categories,
202    using automatic generation of XML files.
203
204    Added info/1 and info/2 directives for documenting objects, protocols,
205    categories, and predicates. Added definition of documentation file name
206    extension and default file names for the DTD and XSL files to the config
207    files.
208
209    Improved error checking for the built-in predicates create_object/4,
210    create_protocol/3 and create_category/4 to also detect invalid entity
211    identifiers.
212
213    Updated the user and reference manuals to describe the new automatic
214    documenting features.
215
216    Updated all HTML documentation to conform to HTML 4.01 strict standard.
217
218    Corrected some wrong cross-reference links and titles in the reference
219    and user manuals HTML pages.
220
221    PDF versions of the manuals and tutorial are now available in both A4
222    and US letter formats.
223
224    Corrected two errors in the searching example, one in the definition of
225    the farmer problem state space and the other when backtracking over
226    performance reports.
227
228
2292.5.2 - March 7, 2000
230
231    Updated manuals to clarify some limitations of declaring and defining
232    dynamic predicates inside categories and documented a way of using the
233    built-in local method this/1 to access object parameters.
234
235    Removed references to parametric categories from the Logtalk
236    documentation (at runtime we can only access object parameters,
237    not category parameters).
238
239    Corrected two wrong declarations of built-in methods (forall/2 and
240    retractall/1) in the Logtalk pre-processor.
241
242    Corrected bug where predicates declared in dynamic entities may have
243    a "static" instead of a "dynamic" property.
244
245    Corrected a bug in category compilation that prevented a dynamic category
246    from being abolished. Speedup predicate definition lookups for categories.
247
248
2492.5.1 - February 18, 2000
250
251    Two new examples: birds, a bird identification expert system adopted
252    (with permission) from an Amzi example, and viewpoints, a set of
253    prototypes showing how to do property sharing and value sharing in
254    Logtalk.
255
256    Renamed config file yap421.config to yap430.config to match the name of
257    the new YAP 4.3.0 public release (named 4.2.1 while on beta testing).
258
259    Partial config file for Trinc Prolog R3.
260
261
2622.5.0 - December 29, 1999
263
264    The Logtalk pre-processor now accepts arbitrary clauses and directives
265    to appear in a file before an opening entity directive. The clauses and
266    directives are added unchanged to the compiled file.
267
268    Improved performance for all kinds of message sending.
269
270    Two new examples: reflection, showing how to implement a simple
271    class-based reflective system, and symdiff, showing how to use
272    parametric objects to implement symbolic expression differentiation
273    and simplification.
274
275    Updated config file for the beta 8 release of SWI-Prolog 3.3.0.
276
277
2782.4.0 - December 1, 1999
279
280    Logtalk is now an Open Source project, available under Perl's Artistic
281    license.
282
283    Two new examples: instmethods, ilustrating the use of instance defined
284    methods, and classvars, showing how to implement class variables.
285
286    Updated Logtalk grammar to explicitly allow for user-defined types
287    in mode/2 directives.
288
289    New config files for SWI-Prolog 3.3.0, SICStus Prolog 3.8 and CIAO
290    Prolog 1.4p0 (incomplete).
291
292    Updated config file for B-Prolog 4.0.
293
294    Updated config file for GNU Prolog to use the new call_with_args()
295    built-in predicate added in version 1.1.0.
296
297    Updated config file for YAP Prolog to use the new call_with_args()
298    built-in predicate added in version 4.2.1.
299
300
3012.3.1 - September 22, 1999
302
303    Logtalk pre-processor updated to only report one warning per redefined
304    Logtalk or Prolog built-in predicate.
305
306    Changed some occurrences of atom "public" to "(public)" in
307    compiler/logtalk.pl file to avoid syntax errors in Prolog compilers
308    (like BinProlog) that define "public" as an operator. Also put some
309    terms between ()'s to avoid syntax errors with ALS Prolog 3.1
310
311    Update config file for ALS Prolog to work with version 3.1.
312
313    Updated configs/NOTES file include a workaround to use Logtalk with
314    XSB 2.0, some guidelines on how to write loader utility files for
315    BinProlog 7.50, and a bug in ALS Prolog 3.1 that affects Logtalk.
316
317
3182.3.0 - September 12, 1999
319
320    Metapredicate information is now stored with the other predicate
321    properties, instead of being discarded after compiling the clauses of
322    a metapredicate. Added predicate property metapredicate/1. It is now
323    possible to assert clauses for dynamic metapredicates.
324
325    Corrected a bug in the processing of metacalls in pseudo-object user.
326
327    Corrected a bug in the implementation of private inheritance.
328    Improved performance of protected inheritance.
329
330    Corrected failure of processing initialization/1 and op/3 directives in
331    create_object/4, create_category/4 and create_protocol/3 built-in
332    predicates.
333
334    Corrected a bug when calling private static category predicates from
335    importing objects. Simplified code generated for categories.
336
337    Rewrite code for the built-in method current_predicate/1 to avoid
338    duplicated or wrong results when overriding predicate declarations
339    and to ensure that all possible argument type errors are detected.
340
341    Changed compilation of classes that do not instantiate any (meta)class
342    in order to throw the correct exception when a message is sent to them.
343
344    Changed compilation of root objects (that do not instantiate, specialize
345    or extend other objects) so that calls to "super" (^^/1) fail (as they
346    should) instead of generating a "predicate does not exist" error message.
347
348    Changed implementation of "super" calls (^^/1) to avoid a potential
349    endless loop problem when using these calls from the inheritance root
350    object of a reflexive class-based systems.
351
352    Pre-processor now checks for callable and object identifier errors.
353    Runtime now checks for non-instantiated messages.
354
355    Added new example (inheritance) about public, protected and private
356    inheritance.
357
358    Updated metapredicates, lo, kernel, and types examples. Most of the
359    code in the last two examples is being updated to form the basis of an
360    upcoming Logtalk standard library.
361
362    Small changes in the pre-processor/runtime code for compatibility with
363    ECLiPSe 4.2.2. Updated config files for this Prolog compiler.
364
365    Rewrite some predicates in the config files for SWI-Prolog and LPA
366    Mac & WIN Prologs for improved performance.
367
368    New tutorial session about events and monitors.
369
370    Updated documentation to match the changes made in this version.
371
372
3732.2.0 - July 10, 1999
374
375    Implemented public, protected and private object inheritance, protocol
376    implementation and category importation.
377   
378    New Logtalk built-in predicates instantiates_class/3, extends_object/3,
379    extends_protocol/3, specializes_class/3, imports_category/3 and
380    implements_protocol/3. The third argument returns the relation scope.
381
382    Pre-processor now checks most directive errors.
383
384    Changed ^^/1 (super call) implementation to only allow the use of a
385    single predicate call for argument and to retain the original sender
386    of the message (see the updated sicstus example).
387
388    Fixed bug that prevented directives with a variable number of arguments
389    (like dynamic(), public(), uses(), ...) being recognized.
390
391    Changed definition of predicate read_term/3 in the configs files of Amzi!,
392    Aquarius, Arity, Eclipse, IC, K, LPA Mac&WIN, Master and XSB to always
393    instantiates the singleton variables list to the empty list. Needed to
394    prevent backtracking problems in logtalk_load/1 and logtalk_compile/1
395    predicates.
396
397    Removed choice-point in processing metacalls in predicate definitions.
398
399    A banner with the Logtalk version is printed after loading the runtime/
400    pre-processor.
401
402    Removed variables example. The category attributes is now part of the
403    kernel example. Corrected some warmless syntax errors in directives in
404    kernel/attributes.lgt, kernel/monitor.lgt and miscellaneous/queens.lgt.
405
406    Changed name of blocks example to bricks and object "block" to "brick"
407    in order to avoid problems with some Prolog compilers that use the atom
408    "block" for operators or built-in predicates.
409
410
4112.1.0 - May 11, 1999
412
413    Fixed some bugs in the definition of the pseudo-object user when sending
414    the message predicate_property/2.
415
416    Renamed config file for Calypso to GNU Prolog.
417
418    New config file for LPA WinProlog 4.0.
419
420    Corrected the omission in the documentation of the Logtalk grammar of the
421    built_in entity property.
422
423    New tutorial pages about building reflective class-based systems.
424
425    Modified pre-processor to compile throw/1 as a control structure to
426    ensure compatibility with the GNU-Prolog compiler.
427
428    Modified pre-processor to ensure compatibility with Prolog compilers that
429    use immediate update semantics instead of the ISO logical database update.
430
431    Improved simplification of compiled object and category clauses.
432
433    Rewrite and clean up pre-processor code for better compiler performance.
434
435    Several updates to the examples files.
436
437    Changed all example loader files to wrap the call to logtalk_load/1 inside
438    an initialization/1 directive for ISO standard compliance.
439
440
4412.0 GM - February 9, 1999
442
443    Removed some redundant choice-points that are being created when
444    compiling Logtalk entities.
445
446    Small compilation speed optimizations.
447
448    Logtalk compiled files now contain the declarations for the message
449    sending operators to ensure compatibility with some Prolog compilers.
450
451    Changed the way Logtalk pre-processor writes directives to ensure
452    compatibility with some Prolog compilers. Corrected a bug in the
453    processing of the op/3 directive.
454
455    Updated PrologII+ config file for version 4.5.
456
457    Changed the definitions of catch/3 and throw/1 in the config files for
458    LPA Prolog compilers.
459
460    New config file for MasterProlog 4.1; removed config file for the
461    old BIM Prolog 4.0.
462
463    Corrected an error in the config file for OpenProlog in the definiton
464    of the write_term/3 predicate.
465
466    Added a safer definition for write_term/3 predicate in the config 
467    files for Amzi, Aquarius, Arity, Eclipse, IC, K, LPA Mac, LPA Win,
468    and XSB Prolog compilers.
469
470    Added a QUICK_START file.
471
472
4732.0 Beta 3 - February 1, 1999
474
475    Closed some encapsulation holes in the implementation of super calls.
476
477    Changed Logtalk pre-processor to use write_term/3 instead of write/2 and
478    writeq/2 to workaround some compatibility problems with some Prolog
479    compilers.
480
481    Changed mode operators priority and type to be compatible with the ISO
482    standard.
483
484    Modified definition of predicate read_term/3 in the config file for Amzi
485    compiler to return the atom end_of_file instead of '!EOF' at the end of
486    a file (this prevented Logtalk to complete compilation any file under
487    this compiler). Improved detection of built-in predicates while compiling.
488
489    Removed config file for wamcc. This compiler have been replaced by
490    Calypso (developed by the same author).
491
492    Updated K-Prolog config file for version 4.50.
493
494    Improved documentation of template config file.
495
496    Added SCRIPT files to the kernel and types examples.
497
498    Updated Tutorial and User and Reference Manuals.
499
500    New end user license.
501
502
5032.0 Beta 2 - November 16, 1998
504
505    Built-ins logtalk_compile/1 and logtalk_load/1 updated to match
506    the documentation regarding thrown errors and to accept a list of
507    entities to compile/load.
508
509    Modified the examples loader utility files to make only a call to
510    logtalk_load/1 by using a list of entities. This should make it easy to
511    modify these files for compilers that don't support arbritrary queries
512    in a file.
513
514    Logtalk runtime no longer tries to catch some of the errors thrown
515    by ::/2.
516
517    Added to all config files a Logtalk predicate to check if a file
518    exists in the current working directory (used by the logtalk_load/1
519    and logtalk_compile/1 Logtalk built-in predicates).
520
521    New configs files for the K-Prolog 4.14 and Calypso 1.0b6 Prolog
522    compilers.
523
524    Completed the config file for Open Prolog 1.03d38 (with the exception
525    of lgt_current_date/3 that still have a dummy definition).
526
527    Added a missing definition for Logtalk predicate forall/2 to the config
528    file for Prolog II+ 4.4.
529
530    Modified Logtalk pre-processor/runtime to avoid syntax errors when
531    running on Open Prolog or Calypso and to remove some redundant
532    choice-points that are being created when compiling categories and
533    protocols.
534
535    Modified some examples that use operators to avoid syntax errors in
536    some Prolog compilers.
537
538    Modified the implementation of the built-in method
539    predicate_property/2 to avoid duplicate answers and to throw an
540    instantiation error if the first argument is not bound.
541
542    Modified definition of the pseudo-object user to hide Logtalk pre-
543    processor predicates from the current_predicate/1 built-in method and
544    to ensure that the predicate_property/2 built-in method returns
545    Logtalk defined predicate properties for built-in Logtalk and Prolog
546    predicates.
547
548    Modified Prolog code generated by the pre-processor to further minimize
549    possible conflicts with user defined predicates.
550
551    Added a lgt_predicate_property/2 predicate to the config files to
552    improve Logtalk portability.
553
554    Updated Tutorial and User and Reference Manuals.
555
556
5572.0 Beta 1 - October 18, 1998
558
559    Added basic support for implementation multi-inheritance.
560
561    Logtalk pre-processor updated to try to detect misspelt local
562    predicate calls.
563
564    First public beta.
565
566
5672.0 Alpha 1 - July, 1998
568
569    First release for registered users.
Note: See TracBrowser for help on using the browser.