root/tags/lgt2201/RELEASE_NOTES

Revision 1429, 41.9 KB (checked in by pmoura, 4 years ago)

Updated the RPM logtalk.spec file to use the .tgz archive extension.

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