root/tags/lgt2171/RELEASE_NOTES

Revision 1036, 37.4 KB (checked in by pmoura, 4 years ago)

Added release date for new 2.17.1 version.

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