root/tags/lgt290/RELEASE_NOTES

Revision 2, 19.0 KB (checked in by pmoura, 7 years ago)

Initial revision

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