root/tags/lgt292/RELEASE_NOTES

Revision 47, 19.9 KB (checked in by pmoura, 7 years ago)

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

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