root/tags/lgt2110/RELEASE_NOTES

Revision 133, 21.8 KB (checked in by pmoura, 7 years ago)

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

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