root/tags/lgt2172/RELEASE_NOTES

Revision 1092, 38.5 KB (checked in by pmoura, 4 years ago)

Added shell script for creating ciaolgt script for automatic loading of Logtalk on CIAO Prolog.

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