| 1 | ================================================================ |
|---|
| 2 | Logtalk - Open source object-oriented logic programming language |
|---|
| 3 | Release 2.37.2 |
|---|
| 4 | |
|---|
| 5 | Copyright (c) 1998-2009 Paulo Moura. All Rights Reserved. |
|---|
| 6 | Logtalk is free software. You can redistribute it and/or modify |
|---|
| 7 | it under the terms of the "Artistic License 2.0" as published by |
|---|
| 8 | The Perl Foundation. Consult the "LICENSE.txt" file for details. |
|---|
| 9 | ================================================================ |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | RELEASE NOTES |
|---|
| 13 | ============= |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | 2.37.2 - June 29, 2009 |
|---|
| 17 | |
|---|
| 18 | Added support for parsing reexport/2 module directives when compiling |
|---|
| 19 | Prolog modules as Logtalk objects. The predicate renaming operator as/2 |
|---|
| 20 | found on SWI-Prolog and YAP is also supported. |
|---|
| 21 | |
|---|
| 22 | Added support for using grammar rule non-terminal indicators in the uses/2, |
|---|
| 23 | multifile/1, reexport/2, and use_module/2 directives. |
|---|
| 24 | |
|---|
| 25 | Added support for parsing operator declarations in the module/2, export/1, |
|---|
| 26 | reexport/2, and use_module/2 module directives. |
|---|
| 27 | |
|---|
| 28 | Added support for declaring and defining object and category multifile |
|---|
| 29 | grammar rules. |
|---|
| 30 | |
|---|
| 31 | Corrected a bug where a failed load of a settings file could be reported |
|---|
| 32 | as successful. |
|---|
| 33 | |
|---|
| 34 | Corrected a bug when compiling an object or category normal predicate that |
|---|
| 35 | redefines a built-in Prolog meta-predicate. |
|---|
| 36 | |
|---|
| 37 | Added missing dynamic directives in the definition of the pseudo-objects |
|---|
| 38 | "debugger" and "user". |
|---|
| 39 | |
|---|
| 40 | Eliminated message-sending overheads when sending messages to the pseudo- |
|---|
| 41 | object "user". |
|---|
| 42 | |
|---|
| 43 | Allow the "debugger" built-in object to play the role of both a class and |
|---|
| 44 | a prototype when being specialized or extended. |
|---|
| 45 | |
|---|
| 46 | Added support for compiling module-qualified arguments in calls to Prolog |
|---|
| 47 | database and reflection built-in predicates. |
|---|
| 48 | |
|---|
| 49 | Added support for using multiple info/1 directives per entity and multiple |
|---|
| 50 | info/2 directives per predicate (useful when compiling modules as objects). |
|---|
| 51 | |
|---|
| 52 | Added limited support for translating queries as initialization goals when |
|---|
| 53 | compiling modules as objects (queries must be calls to locally defined |
|---|
| 54 | predicates or to predicates referenced in use_module/2 directives). |
|---|
| 55 | |
|---|
| 56 | Optimized performance of meta-predicates whose meta-arguments are goals, |
|---|
| 57 | not closures, when using static binding. |
|---|
| 58 | |
|---|
| 59 | Improved automatic generation of XML documenting files for parametric |
|---|
| 60 | objects when no parameter names are given. |
|---|
| 61 | |
|---|
| 62 | Updated the SWI-Prolog config file in order to support the proprietary |
|---|
| 63 | predicate directives format_predicate/2, noprofile/1, and volatile/1. |
|---|
| 64 | |
|---|
| 65 | Updated the SICStus Prolog, SWI-Prolog, and YAP config files in order to |
|---|
| 66 | workaround broken meta-predicate declarations for the built-in predicates |
|---|
| 67 | format/2-3 and in order to support the sloppy use of the ensure_loaded/1 |
|---|
| 68 | directive within modules, rewriting it to a use_module/1 directive. |
|---|
| 69 | |
|---|
| 70 | Updated the ECLiPSe, SWI-Prolog, and YAP config files in order to support |
|---|
| 71 | parsing of reexport/1 module directives. |
|---|
| 72 | |
|---|
| 73 | Updated the YAP config file in order to support parsing of the use_module/1 |
|---|
| 74 | module directive. |
|---|
| 75 | |
|---|
| 76 | Updated the ECLiPSe config files in order to make available the predicate |
|---|
| 77 | numbervars/3 and to support parsing of comment/2, import/2, inline/2, and |
|---|
| 78 | set_flag/3 proprietary directives. |
|---|
| 79 | |
|---|
| 80 | Updated the SICStus Prolog config files in order to support parsing of the |
|---|
| 81 | load_foreign_resource/1 proprietary directive. |
|---|
| 82 | |
|---|
| 83 | Updated the B-Prolog config file in order to support the new foreach/3-4 |
|---|
| 84 | meta-predicates and the new table mode directive in B-Prolog 7.3. Added |
|---|
| 85 | definition for the "prolog_version" read-only compiler flag. |
|---|
| 86 | |
|---|
| 87 | Updated the XSB config file in order to enable support for multifile |
|---|
| 88 | directives (version 3.2 or later is required). |
|---|
| 89 | |
|---|
| 90 | Improved conversion guide for migrating Prolog module code to Logtalk. |
|---|
| 91 | |
|---|
| 92 | Improved documentation and examples of using the term and goal expansion |
|---|
| 93 | mechanisms. |
|---|
| 94 | |
|---|
| 95 | The "lgt2*.sh" documentation shell scripts have been updated to ignore |
|---|
| 96 | XML files that are not XML documenting files generated by the Logtalk |
|---|
| 97 | compiler. |
|---|
| 98 | |
|---|
| 99 | |
|---|
| 100 | 2.37.1 - June 2, 2009 |
|---|
| 101 | |
|---|
| 102 | Added support for declaring and defining object and category multifile |
|---|
| 103 | predicates. This new feature is primarily intended to facilitate migration |
|---|
| 104 | of Prolog code to Logtalk and should be used with caution as multifile |
|---|
| 105 | support is spotty among back-end Prolog compilers (easily leading to |
|---|
| 106 | portability problems). Multifile predicates can be both static or dynamic. |
|---|
| 107 | |
|---|
| 108 | Added support for compiling clauses for module multifile predicates within |
|---|
| 109 | objects and categories in order to provide better integration with CLP(FD) |
|---|
| 110 | and similar constraint packages. |
|---|
| 111 | |
|---|
| 112 | Added support for parsing module/2 directives whose export list contains |
|---|
| 113 | operator declarations. |
|---|
| 114 | |
|---|
| 115 | Improved Logtalk compiler error-checking of file-level op/3 directives. |
|---|
| 116 | |
|---|
| 117 | Updated the Logtalk compiler to try to detect calls to proprietary built-in |
|---|
| 118 | meta-predicates not declared in the config files. Detection may fail due to |
|---|
| 119 | the lack of standardization of meta-predicate specifications. |
|---|
| 120 | |
|---|
| 121 | Updated the Logtalk compiler to avoid unexpected compilation errors when |
|---|
| 122 | querying predicate properties due to the lack of standardization of the |
|---|
| 123 | Prolog predicate_property/2 built-in predicate. |
|---|
| 124 | |
|---|
| 125 | Improved runtime error-checking for meta-calls whose closure argument is |
|---|
| 126 | either Object::Closure or Module:Closure. |
|---|
| 127 | |
|---|
| 128 | Corrected a Logtalk compiler bug where a redefinition of a proprietary |
|---|
| 129 | built-in meta-predicate (declared in the config files) would be ignored. |
|---|
| 130 | |
|---|
| 131 | Corrected a bug in the implementation of the Logtalk <</2 control construct |
|---|
| 132 | where a redefinition of a built-in predicate would be ignored. |
|---|
| 133 | |
|---|
| 134 | Corrected a Logtalk compiler bug where initialization/1 goals would be |
|---|
| 135 | compiled as normal code instead of as debug code when compiling a source |
|---|
| 136 | file in debug mode. |
|---|
| 137 | |
|---|
| 138 | Updated documentation support to include predicate alias information on |
|---|
| 139 | the automatically generated XML documenting files. Updated the sample XSLT |
|---|
| 140 | transformations to output alias information. |
|---|
| 141 | |
|---|
| 142 | Corrected a bug in the YAP config file that prevented setting the "unknown" |
|---|
| 143 | flag to "error" and the "language" flag to "iso". Added declarations for |
|---|
| 144 | the proprietary built-in meta-predicates call_residue_vars/2, ignore/1, |
|---|
| 145 | depth_bound_call/2, setup_call_cleanup/3, and setup_call_catcher_cleanup/4. |
|---|
| 146 | Removed declaration for the outdated meta-predicate on_cleanup/1. Added |
|---|
| 147 | support for the thread_initialization/1 proprietary directive. |
|---|
| 148 | |
|---|
| 149 | Updated the B-Prolog config file with declarations for the proprietary |
|---|
| 150 | built-in meta-predicates fd_minimize/2 and fd_maximize/2. |
|---|
| 151 | |
|---|
| 152 | Updated the GNU Prolog config file in order to recognize the foreign/1-2 |
|---|
| 153 | proprietary directives. Added declarations for the proprietary built-in |
|---|
| 154 | meta-predicates fd_minimize/2 and fd_maximize/2. |
|---|
| 155 | |
|---|
| 156 | Updated the ECLiPSe config files with declarations for the proprietary |
|---|
| 157 | built-in control constructs and meta-predicates ~/1, not/1, and (-?->)/1 |
|---|
| 158 | (the last one only for the non-ISO config files). |
|---|
| 159 | |
|---|
| 160 | Updated the SWI-Prolog config files with declarations for the proprietary |
|---|
| 161 | meta-predicates setup_call_cleanup/3, setup_call_catcher_cleanup/4, when/2, |
|---|
| 162 | and with_output_to/2. Added support for the thread_initialization/1 |
|---|
| 163 | proprietary directive. Improved parsing of use_module/1-2 directives. |
|---|
| 164 | |
|---|
| 165 | Added a dummy definition for the predicate '$lgt_logtalk_prolog_encoding'/3 |
|---|
| 166 | to the config files of all back-end Prolog compilers that don't support the |
|---|
| 167 | encoding/1 directive. |
|---|
| 168 | |
|---|
| 169 | Added predicate sequence/3 to the library object "integer". |
|---|
| 170 | |
|---|
| 171 | Added predicates append/2 and msort/2 to the library object "list". Fixed |
|---|
| 172 | some termination issues with the length/2 predicate on buggy input. |
|---|
| 173 | |
|---|
| 174 | Added aliases foldl/4, foldr/4, scanl/4, and scanr/4 to the library object |
|---|
| 175 | "meta". |
|---|
| 176 | |
|---|
| 177 | Added an experimental "logtalk_select.sh" POSIX shell script for switching |
|---|
| 178 | between installed Logtalk stable versions. |
|---|
| 179 | |
|---|
| 180 | Added a POSIX integration script, "xsb64lgt", for using Logtalk with the |
|---|
| 181 | single-threaded, 64 bits version of XSB. |
|---|
| 182 | |
|---|
| 183 | Added a note on a workaround for compatibility issues between GNU Prolog |
|---|
| 184 | and the contributed XML parser library. Thanks to Nicolas Pelletier for |
|---|
| 185 | the bug report. |
|---|
| 186 | |
|---|
| 187 | Added a new example, "securemp", illustrating the safety rules used by |
|---|
| 188 | Logtalk in the compilation and execution of meta-predicates (as described |
|---|
| 189 | on the "Secure Implementation of Meta-predicates" PADL'09 paper). |
|---|
| 190 | |
|---|
| 191 | Extended the "constraints" example for SWI-Prolog and YAP illustrating |
|---|
| 192 | the definition of custom constraint propagators within objects. |
|---|
| 193 | |
|---|
| 194 | Added instructions on how to enable a source code browser when editing |
|---|
| 195 | Logtalk source files with the Vim text editor (using the Taglist Vim |
|---|
| 196 | plugin and Exuberant ctags). |
|---|
| 197 | |
|---|
| 198 | |
|---|
| 199 | 2.37.0 - May 11, 2009 |
|---|
| 200 | |
|---|
| 201 | Improved dynamic binding performance by making calls to the lookup caches |
|---|
| 202 | call the cached methods instead of simply returning the corresponding |
|---|
| 203 | callable terms, therefore no longer requiring a meta-call for executing |
|---|
| 204 | the methods. For multi-threaded back-end Prolog compilers, the new caching |
|---|
| 205 | mechanisms forces the lookup cache dynamic predicates to be declared |
|---|
| 206 | thread shared instead of thread local. |
|---|
| 207 | |
|---|
| 208 | Improved performance of the built-in database methods retractall/1 and |
|---|
| 209 | retract/1. |
|---|
| 210 | |
|---|
| 211 | Improved performance of user-defined object and category meta-predicates. |
|---|
| 212 | |
|---|
| 213 | Added support for meta-calls whose closure argument is ::Closure. |
|---|
| 214 | |
|---|
| 215 | Simplified compilation and improved performance of predicates that call |
|---|
| 216 | local user meta-predicates. |
|---|
| 217 | |
|---|
| 218 | Corrected a bug where calls to local user meta-predicates would fail. |
|---|
| 219 | |
|---|
| 220 | Corrected a bug where local calls to user meta-predicates would not be |
|---|
| 221 | visible to the built-in debugger. |
|---|
| 222 | |
|---|
| 223 | Improved Logtalk compiler error checking for accidental redefinition of |
|---|
| 224 | control constructs. |
|---|
| 225 | |
|---|
| 226 | Improved Logtalk runtime error checking for message sending and "super" |
|---|
| 227 | control constructs when the message is only bounded at runtime. |
|---|
| 228 | |
|---|
| 229 | Updated the exception terms thrown when sending messages to self in order |
|---|
| 230 | to use the ::/1 control construct for the culprit goal instead of the ::/2 |
|---|
| 231 | control construct. |
|---|
| 232 | |
|---|
| 233 | Simplified message sending implementation by removing the seldom used |
|---|
| 234 | control constructs that allowed sending the same message to a conjunction |
|---|
| 235 | or disjunction of objects. |
|---|
| 236 | |
|---|
| 237 | Specify \+/1, call/1-N, and once/1 as built-in local meta-predicates. |
|---|
| 238 | |
|---|
| 239 | Disallow using Logtalk and Prolog built-in meta-predicates as messages in |
|---|
| 240 | order to avoid conflicting semantics with user-defined object and category |
|---|
| 241 | meta-predicates. The Logtalk control constructs (,)/2, (;)/2, (->)/2, and |
|---|
| 242 | !/0 may still be used as syntactic sugar when sending a set of messages to |
|---|
| 243 | a single object. |
|---|
| 244 | |
|---|
| 245 | Updated the Logtalk compiler to ensure that calls to the built-in meta- |
|---|
| 246 | predicate call/2-N within a category have the same semantics as other |
|---|
| 247 | built-in meta-predicates whose meta-arguments are goals. |
|---|
| 248 | |
|---|
| 249 | Improved performance of the :/1 control construct when using dynamic |
|---|
| 250 | binding by adding a predicate lookup caching mechanism. |
|---|
| 251 | |
|---|
| 252 | Added support for using the :/1 control construct with a non-instantiated |
|---|
| 253 | argument at compile-time (handled using dynamic binding at runtime). |
|---|
| 254 | |
|---|
| 255 | Allow a variable clause body to be interpreted as a meta-call instead of |
|---|
| 256 | an instantiation error. Although is not recommended to use a variable as |
|---|
| 257 | a goal instead of using the call/1 built-in meta-predicate, this change |
|---|
| 258 | allows for uniform handling of variables as goals in clause bodies. Thanks |
|---|
| 259 | to Victor Noel for the bug report. |
|---|
| 260 | |
|---|
| 261 | Updated the ECLiPSe config files in order to support the non-standard |
|---|
| 262 | *->/2 (aka "soft cut") control construct. Thanks to Victor Noel for the |
|---|
| 263 | bug report. |
|---|
| 264 | |
|---|
| 265 | Updated the Ciao config file in order to support the non-standard if/3 |
|---|
| 266 | (aka "soft cut") control construct. |
|---|
| 267 | |
|---|
| 268 | Updated the Qu-Prolog config file in order to enable support for multifile |
|---|
| 269 | directives (version 8.9 or later is now required). |
|---|
| 270 | |
|---|
| 271 | Updated the Windows installer in order to ensure compatibility with the |
|---|
| 272 | new CxProlog 0.97.3 version. Updated the CxProlog config file in order |
|---|
| 273 | to set the "underscore_variables" compiler flag to "dont_care". |
|---|
| 274 | |
|---|
| 275 | The library object "varlist" is no longer derived from "list" as several |
|---|
| 276 | of the "listp" predicates are not meaningful or cannot be used with the |
|---|
| 277 | same modes. Added a new library protocol "varlistp". Corrected several |
|---|
| 278 | bugs in the implementation of the library object "varlist" predicates. |
|---|
| 279 | Thanks to Victor Noel for the bug report. |
|---|
| 280 | |
|---|
| 281 | Added meta-predicates scan_left/4, scan_right/4, map/6-8, and partition/6 |
|---|
| 282 | to the library object "meta". Optimized performance of the meta-predicates |
|---|
| 283 | fold_left/4, fold_right/4, include/3, exclude/3, map/2-8, and partition/4. |
|---|
| 284 | |
|---|
| 285 | Added predicates partition/5, same_length/3, selectchk/3, and |
|---|
| 286 | subsequence/3 to the library objects "difflist" and "list". |
|---|
| 287 | |
|---|
| 288 | Added predicates product/3 and selectchk/3 to the library object "set". |
|---|
| 289 | |
|---|
| 290 | Updated the "puzzle" constraint example for SWI-Prolog to avoid leaking |
|---|
| 291 | "clpfd" predicates in query binding results. Thanks to Ulrich Neumerkel |
|---|
| 292 | for reporting the problem. |
|---|
| 293 | |
|---|
| 294 | Corrected a bug in the "expansion" example that prevented some of the |
|---|
| 295 | example queries from working. |
|---|
| 296 | |
|---|
| 297 | Simplified running the "poem" example. |
|---|
| 298 | |
|---|
| 299 | |
|---|
| 300 | 2.36.0 - April 9, 2009 |
|---|
| 301 | |
|---|
| 302 | Added support for overriding Logtalk default compiler flags (specified |
|---|
| 303 | in the back-end Prolog compiler config files) using new settings files. |
|---|
| 304 | Logtalk will load a "settings.lgt" file in the startup directory. If |
|---|
| 305 | this file is not found, Logtalk will load a "settings.lgt" file in the |
|---|
| 306 | Logtalk user directory. Requires running Logtalk with a back-end Prolog |
|---|
| 307 | compiler supporting access to environment variables. Loading of settings |
|---|
| 308 | files from the Logtalk startup directory is only available when running |
|---|
| 309 | on Windows for B-Prolog, Ciao, GNU Prolog, SWI-Prolog, XSB, and YAP. |
|---|
| 310 | SICStus Prolog is incompatible with this new feature, requiring manual |
|---|
| 311 | loading of settings files after startup. Consult the "configs/NOTES.txt" |
|---|
| 312 | file for compatibility details for other Prolog compilers. |
|---|
| 313 | |
|---|
| 314 | Updated the "cplgtdirs.*" scripts to copy an existing "settings.lgt" file |
|---|
| 315 | from the backup of the Logtalk user folder to the new Logtalk user folder. |
|---|
| 316 | |
|---|
| 317 | Updated the Logtalk compiler and runtime and all the config files to use |
|---|
| 318 | the more standard call/N predicates instead of the call_with_args/N |
|---|
| 319 | predicates. |
|---|
| 320 | |
|---|
| 321 | Improved the XML documentation automatically generated for objects and |
|---|
| 322 | categories by appending to the compilation mode all the active optional |
|---|
| 323 | features and the "threaded" and "synchronized" properties. Improved the |
|---|
| 324 | XML documentation automatically generated for synchronized predicates by |
|---|
| 325 | appending the "synchronized" property to the predicate compilation mode. |
|---|
| 326 | |
|---|
| 327 | Improved error handling for the built-in predicates logtalk_load/2, |
|---|
| 328 | logtalk_compile/2, current_logtalk_flag/2, and set_logtalk_flag/2 |
|---|
| 329 | when checking flag names and values. |
|---|
| 330 | |
|---|
| 331 | Improved Logtalk compiler error and warning reporting by printing, |
|---|
| 332 | whenever possible, the range of lines where the problem was found |
|---|
| 333 | instead of printing only the starting line. |
|---|
| 334 | |
|---|
| 335 | Added new object properties "complements", "context_switching_calls", |
|---|
| 336 | "events", and "dynamic_declarations". Added new category property |
|---|
| 337 | "events". These properties are defined whenever the corresponding |
|---|
| 338 | compiler flags are set to "allow" at the time of entity compilation. |
|---|
| 339 | |
|---|
| 340 | Corrected a bug where some file-related entity properties would not |
|---|
| 341 | be stored when using back-end Prolog compilers that don't support |
|---|
| 342 | multifile predicates. |
|---|
| 343 | |
|---|
| 344 | Corrected a bug (introduced in version 2.35.0) in the compilation |
|---|
| 345 | and processing of "super" calls for objects that both instantiate |
|---|
| 346 | and specialize other objects. |
|---|
| 347 | |
|---|
| 348 | Corrected a bug (introduced in version 2.35.1) in the Logtalk compiler |
|---|
| 349 | that prevented compilation of Prolog modules as objects. |
|---|
| 350 | |
|---|
| 351 | Corrected a bug in the implementation of the Logtalk built-in predicate |
|---|
| 352 | threaded/1 that would result in wasting space in the main thread message |
|---|
| 353 | queue with duplicated messages. Thanks to Rui Marques for the bug report. |
|---|
| 354 | |
|---|
| 355 | Corrected a bug where the Logtalk compiler would report the number of |
|---|
| 356 | compilation warnings with the "report" compiler flag set to "off". |
|---|
| 357 | |
|---|
| 358 | Updated the Logtalk compiler in order to avoid unwanted backtracking |
|---|
| 359 | during source file compilation and when calling the entity creation |
|---|
| 360 | built-in predicates. |
|---|
| 361 | |
|---|
| 362 | The compiler flags "context_switching_calls", "startup_message", and |
|---|
| 363 | "altdirs" are no longer read-only flags in order to support changing |
|---|
| 364 | their default values from within "settings.lgt" files. The possible |
|---|
| 365 | values for the compiler flags "dynamic_declarations", "complements", |
|---|
| 366 | "context_switching_calls", and "events" are now "allow" and "deny". |
|---|
| 367 | Added a new read-only compiler flag "prolog_version". Renamed the |
|---|
| 368 | compiler flag "prolog" to "prolog_dialect". |
|---|
| 369 | |
|---|
| 370 | Changed object compilation in order to restrict the use of the <</2 |
|---|
| 371 | control construct to objects compiled with the "context_switching_calls" |
|---|
| 372 | compiler flag set to "allow". |
|---|
| 373 | |
|---|
| 374 | Changed the "cplgtdirs.*" and installation scripts to no longer make a |
|---|
| 375 | copy of the "configs" directory in the Logtalk user directory. Updated |
|---|
| 376 | the customization instructions to advise users to edit the "settings.lgt" |
|---|
| 377 | file instead of editing the Prolog configuration files. |
|---|
| 378 | |
|---|
| 379 | Changed the Windows installer script in order to create Logtalk startup |
|---|
| 380 | scripts that start from the current directory as returned by the "%CD%" |
|---|
| 381 | dynamic environment variable. This allows a shortcut to be simply copied |
|---|
| 382 | to a Logtalk project directory without requiring editing its properties |
|---|
| 383 | in order to set the startup directory to the project directory. |
|---|
| 384 | |
|---|
| 385 | Updated the XSB-MT integration scripts to make all lookup cache dynamic |
|---|
| 386 | predicates thread private. Updated the XSB config file for version 3.2, |
|---|
| 387 | which is now required for running Logtalk. |
|---|
| 388 | |
|---|
| 389 | Added a new '$lgt_prolog_feature'/2 predicate to all config files, used |
|---|
| 390 | for representing back-end Prolog supported features that are previously |
|---|
| 391 | represented by read-only compiler flags. |
|---|
| 392 | |
|---|
| 393 | Added new '$lgt_environment_variable'/2, '$lgt_startup_directory'/1, and |
|---|
| 394 | '$lgt_user_directory'/1 predicates to all config files. |
|---|
| 395 | |
|---|
| 396 | Changed the default value for the "startup_message" compiler flag to the |
|---|
| 397 | less verbose "flags(compact)". |
|---|
| 398 | |
|---|
| 399 | Updated the config files of the Ciao, CxProlog, GNU Prolog, ECLiPSE, and |
|---|
| 400 | XSB compilers to set the default directory for temporary files depending |
|---|
| 401 | on the host operating-system. |
|---|
| 402 | |
|---|
| 403 | Updated the config files of the Ciao, ECLiPSe, GNU Prolog, Qu-Prolog, |
|---|
| 404 | and SICStus Prolog compilers to return term position line numbers for |
|---|
| 405 | reporting warnings and errors. |
|---|
| 406 | |
|---|
| 407 | Switched off use of multifile/1 directives for Amzi! Prolog due to its |
|---|
| 408 | buggy implementation on this Prolog compiler. |
|---|
| 409 | |
|---|
| 410 | Updated the Ciao config file to workaround a weird bug in the read_term/3 |
|---|
| 411 | predicate that prevented compilation of some Logtalk source files. |
|---|
| 412 | |
|---|
| 413 | Updated the K-Prolog config files in order to make the definition of the |
|---|
| 414 | '$lgt_delete_file'/1 predicate compatible with Windows systems. |
|---|
| 415 | |
|---|
| 416 | Updated the predicate comments in the library protocol "loopp" in order |
|---|
| 417 | to workaround the limitation on the maximum size of atoms in Qu-Prolog. |
|---|
| 418 | |
|---|
| 419 | Removed the obsolete SWI-Prolog hook file "swi_set_logtalk_context.pl" |
|---|
| 420 | (the Logtalk control construct <</2 provides similar functionality). |
|---|
| 421 | |
|---|
| 422 | Added a check/1 predicate to all objects in the "types" library. This |
|---|
| 423 | predicate differs from the existing valid/1 predicate by throwing an |
|---|
| 424 | exception when the argument is not valid instead of failing. |
|---|
| 425 | |
|---|
| 426 | Added multifile and dynamic declarations for the logtalk_library_path/2 |
|---|
| 427 | Logtalk predicate to the "libpaths/libpaths.pl" file. This change allows |
|---|
| 428 | use of Ciao as the back-end Prolog compiler without patching the Logtalk |
|---|
| 429 | compiler and runtime (but also results in a harmless warning when using |
|---|
| 430 | GNU Prolog). |
|---|
| 431 | |
|---|
| 432 | Updated the POSIX integration scripts to export the environment variable |
|---|
| 433 | LOGTALK_STARTUP_DIRECTORY before starting Logtalk. |
|---|
| 434 | |
|---|
| 435 | Changed the SWI-Prolog POSIX integration script to use the option "-s" |
|---|
| 436 | instead of the option "-f" in order to allow loading of any existing |
|---|
| 437 | user initialization file (".plrc" on POSIX systems; see the SWI-Prolog |
|---|
| 438 | reference manual) before loading the Logtalk files. On Windows the use |
|---|
| 439 | of the "-s" results in a weird double initialization bug. |
|---|
| 440 | |
|---|
| 441 | Workaround a compilation error in the object "salt/3" in the "searching" |
|---|
| 442 | example when using SICStus Prolog as a back-end compiler. |
|---|
| 443 | |
|---|
| 444 | |
|---|
| 445 | 2.35.1 - March 1, 2009 |
|---|
| 446 | |
|---|
| 447 | Allow explicitly qualified module calls in the body of category and object |
|---|
| 448 | predicate clauses without requiring the calls to be wrapped within a {}/1 |
|---|
| 449 | control construct to ensure successful compilation. This requires an hack |
|---|
| 450 | in the config files of most back-end Prolog compilers with module systems |
|---|
| 451 | as the implementations of the predicate_property/2 built-in predicate |
|---|
| 452 | cannot be used to test if :/2 is a built-in control construct. Updated the |
|---|
| 453 | config files of Amzi! Prolog, Ciao, IF/Prolog, Quintus Prolog, SICStus |
|---|
| 454 | Prolog, SWI-Prolog, XSB, and YAP. |
|---|
| 455 | |
|---|
| 456 | Improved the Logtalk compiler compatibility with Prolog meta_predicate/1 |
|---|
| 457 | directives that use the integer zero as an alternative to the atom ':' for |
|---|
| 458 | denoting meta-arguments that are goals. |
|---|
| 459 | |
|---|
| 460 | Added limited support for calling Prolog meta-predicates defined in module |
|---|
| 461 | libraries (meta-arguments must be goals, not closures; the Logtalk compiler |
|---|
| 462 | assumes that an imported_from/1 property is defined for these predicates). |
|---|
| 463 | |
|---|
| 464 | Implemented a "warnings" value for the "report" compiler option, providing |
|---|
| 465 | a less verbose compilation reporting where only warnings are printed. |
|---|
| 466 | |
|---|
| 467 | Corrected a Logtalk compiler bug where warnings related to synchronized |
|---|
| 468 | predicates would be reported even with the "report" flag set to "off". |
|---|
| 469 | |
|---|
| 470 | Added support to the message sending mechanisms for using the object proxy |
|---|
| 471 | access notation when the message receiver is only known at runtime. |
|---|
| 472 | |
|---|
| 473 | Changed the semantics of the Logtalk notation for accessing object proxies |
|---|
| 474 | when sending a message to allow backtracking over the proxy goal. |
|---|
| 475 | |
|---|
| 476 | Updated the Logtalk compiler to avoid reporting multiples reference to the |
|---|
| 477 | same unknown parametric object. |
|---|
| 478 | |
|---|
| 479 | Corrected a bug in the implementation of the "smart_compilation" compiler |
|---|
| 480 | flag that would result in a misleading successful compilation of a source |
|---|
| 481 | file containing syntax errors after the first failed compilation when the |
|---|
| 482 | errors are not corrected between compilations. Thanks to Joerg Schuster |
|---|
| 483 | for the bug report. |
|---|
| 484 | |
|---|
| 485 | Added a '$lgt_delete_file'/1 predicate to all config files. For back-end |
|---|
| 486 | Prolog compilers that don't support a built-in predicate for deleting |
|---|
| 487 | files, the '$lgt_delete_file'/1 predicate simply fails. This predicate is |
|---|
| 488 | used by the Logtalk compiler to ensure correct behavior of the compiler |
|---|
| 489 | flag "smart_compilation". |
|---|
| 490 | |
|---|
| 491 | Updated the YAP config file to ensure that the "syntax_errors" proprietary |
|---|
| 492 | flag is set to "error". |
|---|
| 493 | |
|---|
| 494 | Integration with GNU Prolog now requires version 1.3.1 or later of this |
|---|
| 495 | compiler. |
|---|
| 496 | |
|---|
| 497 | Added a workaround to the ECLiPSE config files in order to support smart |
|---|
| 498 | compilation of source files (due to the non-standard implementation of the |
|---|
| 499 | read_term/3 predicate that fails for syntax errors instead of throwing an |
|---|
| 500 | exception). |
|---|
| 501 | |
|---|
| 502 | Updated the library object "term", adding a singletons/2 predicate and |
|---|
| 503 | renaming the predicate vars/2 to variables/2 (the old name is still |
|---|
| 504 | available but shall be considered deprecated). Both the variables/2 and |
|---|
| 505 | the singletons/2 predicates return variables ordered as found when doing |
|---|
| 506 | a depth-first, left-to-right term traversal. Optimized the implementation |
|---|
| 507 | of the predicates ground/1 and variables/2 to use the Prolog built-in |
|---|
| 508 | versions of these predicates when available. |
|---|
| 509 | |
|---|
| 510 | Moved the Prolog Integration and Migration Guide into the User Manual. |
|---|
| 511 | |
|---|
| 512 | Updated the "BIBLIOGRAPHY.bib" file with recent Logtalk publications. |
|---|
| 513 | |
|---|
| 514 | Updated the "build_release.sh" POSIX shell script steps for building the |
|---|
| 515 | MacOS X installer. |
|---|
| 516 | |
|---|
| 517 | Updated the Windows installer to disable by default the installation of |
|---|
| 518 | the integration shortcuts for Ciao Prolog and Quintus Prolog as these |
|---|
| 519 | compilers require patches that render Logtalk incompatible with the other |
|---|
| 520 | compilers. |
|---|
| 521 | |
|---|
| 522 | Simplified loading and testing instructions for the XML parser included |
|---|
| 523 | in the "contributions" directory. Added a missing logtalk_library_path/2 |
|---|
| 524 | entry for XML parser directory. |
|---|
| 525 | |
|---|
| 526 | |
|---|
| 527 | 2.35.0 - January 16, 2009 |
|---|
| 528 | |
|---|
| 529 | Improved compilation of source code resulting in smaller intermediate |
|---|
| 530 | Prolog files and better performance for most back-end Prolog compilers. |
|---|
| 531 | |
|---|
| 532 | Improved caching of message sending predicate lookups (by generating |
|---|
| 533 | more reusable cache entries for public predicates, improving lookup |
|---|
| 534 | performance and cache hits). |
|---|
| 535 | |
|---|
| 536 | Improved caching of ^^/1 calls (by generating more reusable cache entries, |
|---|
| 537 | improving lookup performance and cache hits). |
|---|
| 538 | |
|---|
| 539 | Simplified compilation of meta-predicates. Allow meta-predicates to be |
|---|
| 540 | specialized and called using the ^^/1 control construct. |
|---|
| 541 | |
|---|
| 542 | Simplified and improved performance of the multi-threading built-in |
|---|
| 543 | predicates within the context of the pseudo-object "user" (e.g. for |
|---|
| 544 | top-level queries). |
|---|
| 545 | |
|---|
| 546 | Changed compilation of once/1 goals in debug mode in order to make them |
|---|
| 547 | explicit when tracing using the built-in debugger. |
|---|
| 548 | |
|---|
| 549 | Added support for multiple source-level and entity-level initialization/1 |
|---|
| 550 | directives (matching the ISO Prolog standard and current Prolog practice). |
|---|
| 551 | |
|---|
| 552 | Corrected a bug in the compilation of top-level queries for the Logtalk |
|---|
| 553 | built-in predicates. |
|---|
| 554 | |
|---|
| 555 | Corrected a predicate scope checking bug when using the dynamic-binding |
|---|
| 556 | cache entries. |
|---|
| 557 | |
|---|
| 558 | Corrected a bug when compiling entities in debug mode that contain |
|---|
| 559 | initialization goals. Thanks to Parker Jones for the bug report. |
|---|
| 560 | |
|---|
| 561 | Corrected a bug in the library object "meta" where the deprecated |
|---|
| 562 | predicates filter/3 and succeeds/2 are declared (using aliases) but |
|---|
| 563 | not defined. |
|---|
| 564 | |
|---|
| 565 | Changed the formulas used for calculating sample skewness and sample |
|---|
| 566 | kurtosis to match the formulas used in statistical software such as R. |
|---|
| 567 | |
|---|
| 568 | Added declaration for the proprietary findall/4 meta-predicate to the |
|---|
| 569 | SWI-Prolog and YAP config files. |
|---|
| 570 | |
|---|
| 571 | Corrected processing of the proprietary load_foreign_files/3 directive |
|---|
| 572 | in the YAP config file. |
|---|
| 573 | |
|---|
| 574 | Switched off use of multifile/1 directives for Ciao due to its buggy |
|---|
| 575 | implementation on this Prolog compiler. |
|---|
| 576 | |
|---|
| 577 | |
|---|
| 578 | 2.34.1 - December 15, 2008 |
|---|
| 579 | |
|---|
| 580 | Allow the ^^/1 control construct to be used for calling any inherited |
|---|
| 581 | predicate instead of being restricted to calling inherited predicates |
|---|
| 582 | in the context of their redefinitions. |
|---|
| 583 | |
|---|
| 584 | Updated the Logtalk compiler to detect (and report as an error) the |
|---|
| 585 | definition of two entities with the same name in a source file. |
|---|
| 586 | |
|---|
| 587 | Updated the Logtalk compiler to detect (and report as an error) any |
|---|
| 588 | invalid relation between an entity and itself. In most cases, these |
|---|
| 589 | errors could result in predicate lookup endless loops. |
|---|
| 590 | |
|---|
| 591 | Corrected a long-standing bug in the implementation of the Obj<<Pred |
|---|
| 592 | control construct, which failed to properly set the execution context |
|---|
| 593 | to the receiving object for top-level queries. This bug, which results |
|---|
| 594 | in a stack overflow error, was uncovered by an unrelated bug fix in the |
|---|
| 595 | previous Logtalk version. |
|---|
| 596 | |
|---|
| 597 | Fixed some broken links in the Logtalk XHTML documentation. Updated the |
|---|
| 598 | screen CSS file to match the new, lighter style of the Logtalk website. |
|---|
| 599 | |
|---|
| 600 | Updated the "testing" example to take into account the recently added |
|---|
| 601 | "dynamic_declarations" compiler flag. |
|---|
| 602 | |
|---|
| 603 | Added a set of double-clickable *.command Terminal.app files for starting |
|---|
| 604 | Logtalk with selected back-end Prolog compilers on MacOS X. |
|---|
| 605 | |
|---|
| 606 | Updated the MacOS X installer postflight script to open the Logtalk |
|---|
| 607 | installation folder, the *.command files folder, and the "README.txt" |
|---|
| 608 | file. |
|---|
| 609 | |
|---|
| 610 | Updated the "BIBLIOGRAPHY.bib" file with recent Logtalk publications. |
|---|
| 611 | |
|---|
| 612 | |
|---|
| 613 | 2.34.0 - November 26, 2008 |
|---|
| 614 | |
|---|
| 615 | Added conditional compilation support, as found in some Prolog compilers, |
|---|
| 616 | using the new directives if/1, elif/1, else/0, and endif/0. The arguments |
|---|
| 617 | of the if/1 and elif/1 directives are subjected to goal expansion. |
|---|
| 618 | |
|---|
| 619 | Added a "prolog" read-only compiler flag whose value is the name of the |
|---|
| 620 | back-end Prolog compiler (an atom). This flag is defined in the config |
|---|
| 621 | files and can be used for conditional compilation of Prolog specific code. |
|---|
| 622 | |
|---|
| 623 | Added an expand_goal/2 built-in method to support explicit calls to the |
|---|
| 624 | goal_expansion/2 user-defined hook. Updated the term expansion mechanism |
|---|
| 625 | to allow the expansion to be a single term instead of a list of terms. |
|---|
| 626 | Improved the documentation of the term and goal expansion predicates. |
|---|
| 627 | |
|---|
| 628 | Simplified the implementation of the threaded/1 built-in predicate. |
|---|
| 629 | |
|---|
| 630 | Removed support for the deprecated message_queue_create/1 Prolog built-in |
|---|
| 631 | predicate. |
|---|
| 632 | |
|---|
| 633 | Corrected a bug in the implementation of the predicate_property/2 built-in |
|---|
| 634 | method which would return wrong meta-predicate templates for predicate |
|---|
| 635 | aliases. |
|---|
| 636 | |
|---|
| 637 | Corrected a bug in the compilation of meta-calls to predicates defined |
|---|
| 638 | in the pseudo-object "user". |
|---|
| 639 | |
|---|
| 640 | Corrected a bug that prevented goal expansion of source file initialization |
|---|
| 641 | goals (expressed using the initialization/1 directive). |
|---|
| 642 | |
|---|
| 643 | Modified the "statistics" library to use the variance numerically stable |
|---|
| 644 | algorithm to calculate accurate values for the standard deviation for both |
|---|
| 645 | samples and populations. Thanks to Parker Jones for the bug report. Added |
|---|
| 646 | calculation of sample and population kurtosis. |
|---|
| 647 | |
|---|
| 648 | Added predicates included/3, excluded/3, fold_left/4, and fold_right/4 |
|---|
| 649 | to the library entities "metap" and "meta" (requested by Paul Crocker). |
|---|
| 650 | Renamed the predicates filter/3 and succeeds/2 to included/3 and map/2, |
|---|
| 651 | respectively (the older names are still available using aliases defined |
|---|
| 652 | in "meta"). |
|---|
| 653 | |
|---|
| 654 | Changed the file name extension of all config "*.config" files to "*.pl". |
|---|
| 655 | Changed the file name extension of all library "*.notes" files to "*.txt". |
|---|
| 656 | |
|---|
| 657 | Updated the "metapredicates" example with Paul Crocker's contributions |
|---|
| 658 | to illustrate the use of some of the meta-predicates implemented in the |
|---|
| 659 | Logtalk library. |
|---|
| 660 | |
|---|
| 661 | Updated the "expansion" example to illustrate the new expand_goal/2 |
|---|
| 662 | built-in method. Improved example documentation. |
|---|
| 663 | |
|---|
| 664 | Added an example, "cc", of using conditional compilation directives to |
|---|
| 665 | implement a portable operating-system interface for selected back-end |
|---|
| 666 | Prolog compilers. |
|---|
| 667 | |
|---|
| 668 | Added an example, "prototypes", illustrating the concept of "prototype". |
|---|
| 669 | |
|---|
| 670 | Added syntax coloring support for the new expand_goal/2 method and for |
|---|
| 671 | the if/1, elif/1, else/0, endif/0, set_logtalk_flag/2, ensure_loaded/1, |
|---|
| 672 | and set_prolog_flag/2 directives to the supported text editors and |
|---|
| 673 | syntax highlighters. |
|---|
| 674 | |
|---|
| 675 | Fixed a block comment syntax coloring bug in the support for the Highlight |
|---|
| 676 | syntax highlighter with the help of André Simon. |
|---|
| 677 | |
|---|
| 678 | |
|---|
| 679 | 2.33.2 - November 3, 2008 |
|---|
| 680 | |
|---|
| 681 | Added support for using the set_logtalk_flag/2 directive in source files. |
|---|
| 682 | This directive is executed when read (thus affecting the compilation |
|---|
| 683 | of the source code that follows) but its scope is restricted to the source |
|---|
| 684 | file being compiled. |
|---|
| 685 | |
|---|
| 686 | Allow a complementing category to define aliases for predicates of the |
|---|
| 687 | complemented object. |
|---|
| 688 | |
|---|
| 689 | Improved reporting of line numbers for syntax warnings and errors when |
|---|
| 690 | using YAP or SWI-Prolog as back-end compilers (requires YAP git version). |
|---|
| 691 | |
|---|
| 692 | Improved reporting of entity existence errors for top-level queries. |
|---|
| 693 | |
|---|
| 694 | Implemented a more flexible internal representation of entity properties. |
|---|
| 695 | Added entity properties file(File, Path) and lines(Start, End) for |
|---|
| 696 | entities compiled and loaded from source files. The property lines/2 is |
|---|
| 697 | only available when using YAP or SWI-Prolog as back-end compilers. |
|---|
| 698 | |
|---|
| 699 | Added missing "built_in" properties for the built-in protocols "expanding" |
|---|
| 700 | and "monitoring". |
|---|
| 701 | |
|---|
| 702 | Corrected a bug where compiler options are not cleared after compilation |
|---|
| 703 | of source files. This bug would result in wrong compilation of messages |
|---|
| 704 | sent from the top-level interpreter (i.e. messages sent by the pseudo- |
|---|
| 705 | object "user") whenever events or hooks compiler options are used. |
|---|
| 706 | |
|---|
| 707 | Updated the Logtalk compiler to print a warning when defining clauses for |
|---|
| 708 | the built-in predicates term_expansion/2 and goal_expansion/2 without a |
|---|
| 709 | reference to the built-in protocol "expanding". |
|---|
| 710 | |
|---|
| 711 | Updated the Logtalk compiler to provide file information when printing |
|---|
| 712 | redefined entity warnings if the files of the new and the old definitions |
|---|
| 713 | are different (requires support for the file/2 entity property). |
|---|
| 714 | |
|---|
| 715 | Updated the Logtalk compiler to prefix all informative messages with the |
|---|
| 716 | line comment character, "%", to make it easier to use interactive section |
|---|
| 717 | transcripts as scripts. |
|---|
| 718 | |
|---|
| 719 | Corrected a bug that prevented using synchronized/1 predicate directives |
|---|
| 720 | within protocols. |
|---|
| 721 | |
|---|
| 722 | Corrected a bug where portability warnings would be reported even when the |
|---|
| 723 | "report" compiler option is turned off. Corrected a bug where portability |
|---|
| 724 | warnings would not increment the warnings counter. |
|---|
| 725 | |
|---|
| 726 | Added an optimization and safety compiler option, "complements", that |
|---|
| 727 | allows objects to be compiled with support for complementing categories |
|---|
| 728 | either enabled or disabled. The default value (set in the config files) |
|---|
| 729 | is "off" (disabled). |
|---|
| 730 | |
|---|
| 731 | Added an optimization and safety compiler option, "dynamic_declarations", |
|---|
| 732 | that allows objects to be compiled with support for dynamic declaration of |
|---|
| 733 | predicates (using the built-in database methods asserta/1 and assertz/1) |
|---|
| 734 | either enabled or disabled. The default value (set in the config files) is |
|---|
| 735 | "off" (disabled). |
|---|
| 736 | |
|---|
| 737 | Updated the Logtalk built-in debugger to print goal invocation numbers |
|---|
| 738 | and to accept the return and enter keys as alternatives to the "c" key |
|---|
| 739 | ("creep") when tracing. Updated the implementation of the "display" |
|---|
| 740 | command to include the write options quoted(false) and numbervars(false) |
|---|
| 741 | (as common in most Prolog debuggers). Added a "unify" command. |
|---|
| 742 | |
|---|
| 743 | Modified the implementation of the built-in predicate define_events/5 to |
|---|
| 744 | throw an exception when the monitor object doesn't define the required |
|---|
| 745 | event handler methods (previously the define_events/5 call would simply |
|---|
| 746 | fail). |
|---|
| 747 | |
|---|
| 748 | Added a customized version of the read_term/2 predicate to all config |
|---|
| 749 | files that returns the line where a term starts for back-end Prolog |
|---|
| 750 | compilers whose implementation of the read_term/2 predicate supports |
|---|
| 751 | this information. |
|---|
| 752 | |
|---|
| 753 | Updated the shortcut created by the Windows installer for integration with |
|---|
| 754 | K-Prolog to require version 6.0.4 of this compiler. |
|---|
| 755 | |
|---|
| 756 | Updated the User Manual comparison between Logtalk nomenclature and C++ |
|---|
| 757 | and Java nomenclatures. |
|---|
| 758 | |
|---|
| 759 | Added a simple example, "instvars", illustrating how to define instance |
|---|
| 760 | variables, default variable values, and setter and getter methods. |
|---|
| 761 | |
|---|
| 762 | Added a simple example, "classmethods", illustrating how to define |
|---|
| 763 | "class methods" as found on class-based object-oriented programming |
|---|
| 764 | languages. |
|---|
| 765 | |
|---|
| 766 | Improved the documentation of the "complements", "hello_world", "hooks", |
|---|
| 767 | and "msglog" examples. |
|---|
| 768 | |
|---|
| 769 | Added a new logic puzzle programming example, adapted with permission |
|---|
| 770 | from Kevin Stone's BrainBashers website (http://www.brainbashers.com/). |
|---|
| 771 | |
|---|
| 772 | Updated all the examples that make use of event-driven programming |
|---|
| 773 | ("birthdays", "bricks", "complements", "msglog", "polygons", "profiling", |
|---|
| 774 | and "searching") to ensure correct functionality after fixing the bug in |
|---|
| 775 | cleaning compiler options after compilation of source files. |
|---|
| 776 | |
|---|
| 777 | Updated the "dynpred" example to use the new "dynamic_declarations" |
|---|
| 778 | compiler option. Updated the "complements" example to use the new |
|---|
| 779 | "complements" compiler option. |
|---|
| 780 | |
|---|
| 781 | Corrected a Vim syntax coloring bug with line comments occurring within |
|---|
| 782 | entity opening directives. |
|---|
| 783 | |
|---|
| 784 | |
|---|
| 785 | 2.33.1 - October 12, 2008 |
|---|
| 786 | |
|---|
| 787 | Added a syntax construct for easy access to parametric object proxies |
|---|
| 788 | represented as Prolog facts when sending a message ({Proxy}::Message). |
|---|
| 789 | Updated the "proxies" example to illustrate this new functionality. |
|---|
| 790 | |
|---|
| 791 | Improved the Logtalk built-in debugger to print clause numbers for |
|---|
| 792 | static predicates at the unification ports ("fact" and "rule"). |
|---|
| 793 | |
|---|
| 794 | Modified the built-in methods create_category/4, create_object/4 and |
|---|
| 795 | create_protocol/3 to accept a variable as the first argument, which |
|---|
| 796 | will be instantiated to the identifier generated for the new entity. |
|---|
| 797 | |
|---|
| 798 | Modified the database built-in methods to allow initialization of static |
|---|
| 799 | predicates for dynamic objects when the predicates are declared in "this". |
|---|
| 800 | These changes simplify the initialization of dynamic objects when writing |
|---|
| 801 | constructors. The dynamic objects must be descendants of "this". |
|---|
| 802 | |
|---|
| 803 | Fixed a bug in the Logtalk compiler that would result in failure to |
|---|
| 804 | restore the operator table in case of compilation error. |
|---|
| 805 | |
|---|
| 806 | Removed support for the deprecated mutex_create/1 Prolog built-in |
|---|
| 807 | predicate. |
|---|
| 808 | |
|---|
| 809 | Updated the XSB config file by switching off the use of multifile/1 |
|---|
| 810 | directives when compiling Logtalk source files as a workaround for know |
|---|
| 811 | bugs in the implementation of this directive for dynamic predicates. |
|---|
| 812 | |
|---|
| 813 | Updated the ECLiPSe 6.0 config files in order to switch on the use of |
|---|
| 814 | multifile/1 directives. |
|---|
| 815 | |
|---|
| 816 | Update the CxProlog config file to work with and require version 0.97.2. |
|---|
| 817 | |
|---|
| 818 | Updated the Windows installer to warn the user when it fails to detect |
|---|
| 819 | the installation of the selected Prolog compilers. Fixed a bug where the |
|---|
| 820 | creation of the K-Prolog integration shortcut could fail when performing |
|---|
| 821 | a custom installation. Fixed a bug in detecting a CxProlog installation. |
|---|
| 822 | |
|---|
| 823 | Added a library for descriptive statistics. For details, see the file |
|---|
| 824 | "library/statistics.notes". |
|---|
| 825 | |
|---|
| 826 | Added a new library object, "pairs", defining predicates over lists of |
|---|
| 827 | pairs (key-value terms). |
|---|
| 828 | |
|---|
| 829 | Added a new library object, "gensym", defining predicates for generating |
|---|
| 830 | unique atoms (object protocol based on the "gensym" module of SWI-Prolog). |
|---|
| 831 | |
|---|
| 832 | Added a predicate partition/4 to the library entities "metap" and "meta". |
|---|
| 833 | |
|---|
| 834 | Added predicates plus/3 and succ/2 to the library object "integer". |
|---|
| 835 | |
|---|
| 836 | Added predicates is_ascii/1, is_white_space/1, is_quote/1, is_period/1, |
|---|
| 837 | is_punctation/1, and parenthesis/2 to the library entities "characterp" |
|---|
| 838 | and "character". |
|---|
| 839 | |
|---|
| 840 | Modified the implementation of the predicate product/2 in the library |
|---|
| 841 | object "numberlist" to fail for empty lists. |
|---|
| 842 | |
|---|
| 843 | Added an example, "people", illustrating a simple implementation solution |
|---|
| 844 | for object constructors. |
|---|
| 845 | |
|---|
| 846 | Improved "metainterpreters" example. |
|---|
| 847 | |
|---|
| 848 | Improved performance of the object initialization and release predicates |
|---|
| 849 | defined in the category "initialization" of the "roots" example. |
|---|
| 850 | |
|---|
| 851 | |
|---|
| 852 | 2.33.0 - September 1, 2008 |
|---|
| 853 | |
|---|
| 854 | Applied several optimizations to the Logtalk compiler, mostly related to |
|---|
| 855 | non-detected deterministic predicates due to calls to dynamic predicates |
|---|
| 856 | or due to limitations in clause indexing by most Prolog compilers. |
|---|
| 857 | |
|---|
| 858 | Added support for using Prolog use_module/2 directives in objects and |
|---|
| 859 | categories. This allows module predicates to be called using implicit |
|---|
| 860 | qualification, improving readability. The use_module/2 directive supports |
|---|
| 861 | the declaration of predicate aliases using the notation Original:Alias. |
|---|
| 862 | |
|---|
| 863 | Added support for meta-calls whose closure arguments are explicitly |
|---|
| 864 | qualified (using either Object::Closure or Module:Closure). |
|---|
| 865 | |
|---|
| 866 | Added support for using the ensure_loaded/1 and the set_prolog_flag/2 |
|---|
| 867 | directives in source files. These directives are both processed when |
|---|
| 868 | read (thus affecting the compilation of the source code that follows) |
|---|
| 869 | and copied to the generated intermediate Prolog files. |
|---|
| 870 | |
|---|
| 871 | Corrected a set of singleton variable related bugs in the Logtalk compiler |
|---|
| 872 | and runtime. Thanks to Joachim Schimpf and Kish Shen work on the improved |
|---|
| 873 | singleton variable checking code found on the new ECLiPSe 6.0 compiler. |
|---|
| 874 | |
|---|
| 875 | Simplified the implementation of the Logtalk built-in debugger. Changed |
|---|
| 876 | the implementation of the debugger abort command to use the de-facto |
|---|
| 877 | standard Prolog built-in predicate abort/0. Corrected a bug that prevented |
|---|
| 878 | the use of the command "ignore" at the redo port. |
|---|
| 879 | |
|---|
| 880 | Removed the Logtalk dispatcher thread used for dispatching asynchronous |
|---|
| 881 | multi-threading calls, simplifying the implementation and improving the |
|---|
| 882 | performance of the asynchronous built-in multi-threading predicates. |
|---|
| 883 | |
|---|
| 884 | Corrected a bug in the implementation of the threaded_once/1-2 built-in |
|---|
| 885 | multi-threading predicates (use of detached threads could make the methods |
|---|
| 886 | fail despite the success of the thread goals). |
|---|
| 887 | |
|---|
| 888 | Improved performance of multi-threading applications (specially on MacOS X) |
|---|
| 889 | when using SWI-Prolog as the back-end compiler by making the lookup caches |
|---|
| 890 | thread local. |
|---|
| 891 | |
|---|
| 892 | Small performance improvement of the threaded/1 built-in multi-threading |
|---|
| 893 | predicate. |
|---|
| 894 | |
|---|
| 895 | Added a multifile/1 directive for the logtalk_library_path/2 predicate. |
|---|
| 896 | |
|---|
| 897 | Corrected a bug in the verification of portable calls that would fail to |
|---|
| 898 | flag the soft-cut control construct (_ *-> _; _) found on some Prolog |
|---|
| 899 | compilers. |
|---|
| 900 | |
|---|
| 901 | Corrected a bug in the implementation of the built-in database predicates |
|---|
| 902 | retract/1 and retractall/1 when adding a cache entry for a local dynamic |
|---|
| 903 | predicate with no scope declaration. |
|---|
| 904 | |
|---|
| 905 | Corrected a bug in the compilation of source file op/3 directives whose |
|---|
| 906 | third argument is a list of operator specifiers instead of a single |
|---|
| 907 | operator specifier. |
|---|
| 908 | |
|---|
| 909 | Added ECLiPSe 6.0 config files. Modified the POSIX script "eclipselgt" |
|---|
| 910 | to test for both ECLiPSe 5.10 and 6.0 versions. Added Windows shortcut |
|---|
| 911 | to start Logtalk with ECLiPSe 6.0. |
|---|
| 912 | |
|---|
| 913 | Updated the GNU Prolog config file to allow Logtalk to recognize as |
|---|
| 914 | built-in predicates the finite domain solver built-in predicates. |
|---|
| 915 | |
|---|
| 916 | Added a new set of examples, "constraints", illustrating how to use the |
|---|
| 917 | Constraint Domain Solver libraries available with B-Prolog, ECLiPSe, |
|---|
| 918 | GNU Prolog, SWI-Prolog, and YAP. Thanks to Markus Triska for his help |
|---|
| 919 | with the YAP and SWI-Prolog CLP(FD) examples. |
|---|
| 920 | |
|---|
| 921 | Updated the "mtbatch" example to provide multi-threading overhead data |
|---|
| 922 | for the competitive or-parallelism benchmark. |
|---|
| 923 | |
|---|
| 924 | |
|---|
| 925 | 2.32.2 - July 26, 2008 |
|---|
| 926 | |
|---|
| 927 | Simplified the predicate lookup linking clauses that are generated when |
|---|
| 928 | compiling private and protected entity relations, resulting in a small |
|---|
| 929 | runtime performance improvement when looking up non-cached predicate |
|---|
| 930 | declarations. |
|---|
| 931 | |
|---|
| 932 | Simplified and optimized handling of predicate aliases when looking up |
|---|
| 933 | predicate declarations and predicate definitions. |
|---|
| 934 | |
|---|
| 935 | When sending a message to an object using the ::/2 control construct, |
|---|
| 936 | also check if the sender matches the scope container when the message |
|---|
| 937 | does not correspond to a public predicate. This is necessary in order |
|---|
| 938 | to allow calling a protected or a private predicate in "this" from |
|---|
| 939 | within a category. |
|---|
| 940 | |
|---|
| 941 | Updated the Logtalk compiler to throw an error when detecting a call |
|---|
| 942 | to a dynamic predicate in the body of a predicate clause defined in a |
|---|
| 943 | category. |
|---|
| 944 | |
|---|
| 945 | Optimized the implementation of the ^^/1 control construct. The Logtalk |
|---|
| 946 | compiler now requires an instantiated, callable argument that must have |
|---|
| 947 | the same functor and arity of the predicate being (re)defined. |
|---|
| 948 | |
|---|
| 949 | Allow the ^^/1 control construct to be used within extended categories. |
|---|
| 950 | Updated the "engines" example to illustrate this new functionality. |
|---|
| 951 | |
|---|
| 952 | Moved support for categories that complement existing objects from the |
|---|
| 953 | code generated when compiling objects to the Logtalk runtime, making the |
|---|
| 954 | implementation of this feature easier to maintain and contributing to |
|---|
| 955 | smaller code sizes of the intermediate Prolog files. |
|---|
| 956 | |
|---|
| 957 | Corrected a typo in the exception term throw by the built-in database |
|---|
| 958 | method assertz/1 when an error occurs while trying to assert a fact. |
|---|
| 959 | |
|---|
| 960 | Restored the redefined entity warnings for back-end Prolog compilers |
|---|
| 961 | that support multifile predicates (broken in the final version of 2.32.1). |
|---|
| 962 | |
|---|
| 963 | Changed the format of the Logtalk compiler informative messages for |
|---|
| 964 | better readability. |
|---|
| 965 | |
|---|
| 966 | Improved simplification of the clauses generated by the compilation of |
|---|
| 967 | object and category predicate clauses. |
|---|
| 968 | |
|---|
| 969 | Corrected a bug that prevented asserting and retracting clauses in "this" |
|---|
| 970 | from within a category. |
|---|
| 971 | |
|---|
| 972 | Corrected a bug in the implementation of the built-in database method |
|---|
| 973 | retractall/1 when retracting clauses in an object compiled in debug mode. |
|---|
| 974 | Thanks to Parker Jones for the bug report. |
|---|
| 975 | |
|---|
| 976 | Updated all config files due to changes to the predicate used to declare |
|---|
| 977 | proprietary meta-predicates, '$lgt_pl_meta_predicate'/1. Added a second |
|---|
| 978 | argument to represent if the meta-predicate is either a built-in predicate |
|---|
| 979 | or a built-in control construct. This is necessary in order to properly |
|---|
| 980 | compile calls to these proprietary meta-predicates when in debug mode. |
|---|
| 981 | Thanks to Victor Noel for the bug report. |
|---|
| 982 | |
|---|
| 983 | Corrected a bug in the config files hooks used in handling proprietary |
|---|
| 984 | Prolog directives for the SWI-Prolog, B-Prolog YAP, SICStus, and XSB |
|---|
| 985 | Prolog compilers. Added a new internal predicate for constructing |
|---|
| 986 | predicate indicators for compiled entity predicates that simplifies the |
|---|
| 987 | config files hooks used in handling proprietary Prolog directives. |
|---|
| 988 | |
|---|
| 989 | Changed the valid values of the read-only compiler flag "break_predicate" |
|---|
| 990 | to "supported" and "unsupported" for consistency with other read-only |
|---|
| 991 | compiler flags. |
|---|
| 992 | |
|---|
| 993 | Updated the SWI-Prolog config file to set the Prolog flag "optimise" to |
|---|
| 994 | true. Added declaration for the setup_and_call_cleanup/3 meta-predicate. |
|---|
| 995 | Removed setting of the deprecated "prompt_alternatives_no_bindings" |
|---|
| 996 | Prolog flag. Oldest SWI-Prolog compatible version is now 5.6.44. |
|---|
| 997 | |
|---|
| 998 | Updated the GNU-Prolog config file, adding a declaration for the |
|---|
| 999 | call_det/2 proprietary meta-predicate. GNU-Prolog version 1.3.0 or |
|---|
| 1000 | later is now required. |
|---|
| 1001 | |
|---|
| 1002 | Added list mapping predicates map/4 and map/5 to the "metap" library |
|---|
| 1003 | protocol and the "meta" library object. |
|---|
| 1004 | |
|---|
| 1005 | Added a proper definition for the predicate select/3 to the "varlist" |
|---|
| 1006 | library object. |
|---|
| 1007 | |
|---|
| 1008 | Added a new example, "logging", of using a category to define a set of |
|---|
| 1009 | predicates that handle a dynamic predicate in the context of "this" |
|---|
| 1010 | (i.e. in the context of the objects importing the category). |
|---|
| 1011 | |
|---|
| 1012 | Added a new multi-threading example, "integration2d", implementing methods |
|---|
| 1013 | for numerical integration for functions of two variables, contributed by |
|---|
| 1014 | Paul Crocker. |
|---|
| 1015 | |
|---|
| 1016 | Updated the "integration" multi-threading example by bringing all example |
|---|
| 1017 | functions under the same object in order to allow for static binding. This |
|---|
| 1018 | is essential for good results in operating-systems with poor mutex thread |
|---|
| 1019 | synchronization performance such as MacOS X. |
|---|
| 1020 | |
|---|
| 1021 | Added experimental support for the GeSHi syntax highlighter, contributed |
|---|
| 1022 | by Clara Dimene. |
|---|
| 1023 | |
|---|
| 1024 | Improved support for the Pygments syntax highlighter, correcting coloring |
|---|
| 1025 | bugs when there are single line comments in the same lines of an opening |
|---|
| 1026 | entity directive. |
|---|
| 1027 | |
|---|
| 1028 | |
|---|
| 1029 | 2.32.1 - July 7, 2008 |
|---|
| 1030 | |
|---|
| 1031 | Restored the redefined entity warnings for back-end Prolog compilers |
|---|
| 1032 | that support multifile predicates. Simplified updating of the runtime |
|---|
| 1033 | tables when compiling and loading source files with back-end Prolog |
|---|
| 1034 | compilers that don't support multifile predicates. |
|---|
| 1035 | |
|---|
| 1036 | Changed the representation of the runtime tables for loaded entities |
|---|
| 1037 | in order to drop the need of a "functors clause" per entity. This avoids |
|---|
| 1038 | some redundancy on the representation of entity functors and also helps |
|---|
| 1039 | reducing a bit the size of the generated Prolog files. |
|---|
| 1040 | |
|---|
| 1041 | When reloading an object, also clean all entries in the event handlers |
|---|
| 1042 | table where the object plays the role of a monitor. |
|---|
| 1043 | |
|---|
| 1044 | Modified the Logtalk runtime to clean all lookup caches when compiling |
|---|
| 1045 | and loading source files (instead of doing it only when the files |
|---|
| 1046 | redefine existing entities). |
|---|
| 1047 | |
|---|
| 1048 | Corrected a bug that prevented using predicate aliases with the :/1 |
|---|
| 1049 | control construct without static binding. |
|---|
| 1050 | |
|---|
| 1051 | Updated the CxProlog config file to take advantage and require the new |
|---|
| 1052 | 0.97.1 version (which implements some more ISO Prolog predicates and |
|---|
| 1053 | expands support for text encodings). |
|---|
| 1054 | |
|---|
| 1055 | Updated the B-Prolog config file to take advantage and require the new |
|---|
| 1056 | 7.1 version (which adds support for the multifile/1 predicate directive). |
|---|
| 1057 | |
|---|
| 1058 | Updated the SWI-Prolog config file notes about possible compatibility |
|---|
| 1059 | issues with the default setting of the proprietary "iso" Prolog flag |
|---|
| 1060 | to "true". |
|---|
| 1061 | |
|---|
| 1062 | Updated the SWI-Prolog hook file, "swihook.pl", to avoid hijacking the |
|---|
| 1063 | arguments of use_module/1-2 calls (which resulted in wrongly loading |
|---|
| 1064 | Logtalk libraries with the same name as the SWI-Prolog library modules |
|---|
| 1065 | we intended to load). |
|---|
| 1066 | |
|---|
| 1067 | Updated the "k6.config" config file for the K-Prolog 6.0.3 release. |
|---|
| 1068 | Renamed the K-Prolog 5.1.x config file from "k.config" to "k5.config" |
|---|
| 1069 | to avoid being mistaken for the K-Prolog 6.0.x config file. Updated |
|---|
| 1070 | the "plclgt.sh" integration script to work with both K-Prolog 5.1.x |
|---|
| 1071 | and 6.0.x versions. |
|---|
| 1072 | |
|---|
| 1073 | Renamed the SICStus Prolog 3 config file from "sicstus.config" to |
|---|
| 1074 | "sicstus3.config" to avoid being mistaken for the SICStus Prolog 4 |
|---|
| 1075 | config file. |
|---|
| 1076 | |
|---|
| 1077 | Updated the POSIX integration scripts and the Windows installer script |
|---|
| 1078 | to detect outdated versions of the Logtalk user folder (setting the |
|---|
| 1079 | compatibility version to 2.32.0 or later). |
|---|
| 1080 | |
|---|
| 1081 | Improved the Prolog migration guide on converting code that makes use |
|---|
| 1082 | of multifile predicates. |
|---|
| 1083 | |
|---|
| 1084 | Added note on licensing conditions to several files. Clarified copyright |
|---|
| 1085 | and license conditions for files on the "contributions" folder. Clarified |
|---|
| 1086 | dual-licensing conditions for text editor and syntax highlighter |
|---|
| 1087 | supporting files. Added license file to the TextMate bundle. |
|---|
| 1088 | |
|---|
| 1089 | Updated support for the Vim text editor (changed the Logtalk file type |
|---|
| 1090 | plug-in to set the path to the completion dictionary and updated the |
|---|
| 1091 | installation instructions). |
|---|
| 1092 | |
|---|
| 1093 | Updated the support for the Pygments syntax highlighter to avoid marking |
|---|
| 1094 | as errors non-standard directives. |
|---|
| 1095 | |
|---|
| 1096 | |
|---|
| 1097 | 2.32.0 - June 16, 2008 |
|---|
| 1098 | |
|---|
| 1099 | Updated the Logtalk compiler and runtime to use multifile predicates for |
|---|
| 1100 | the runtime tables of loaded entities and entities relations. This is |
|---|
| 1101 | necessary to generate sensible intermediate Prolog code for large files |
|---|
| 1102 | with tens of thousands of objects. The workaround of using the directive |
|---|
| 1103 | initialization/1 is still available (for now) for Prolog compilers that |
|---|
| 1104 | fail to support the thirteen years old ISO Prolog standard. |
|---|
| 1105 | |
|---|
| 1106 | Updated the Logtalk runtime error handler to test for non-instantiated |
|---|
| 1107 | exception terms. Thanks to Joerg Schuster for the bug report. |
|---|
| 1108 | |
|---|
| 1109 | Corrected two bugs in the implementation of the built-in meta-predicate |
|---|
| 1110 | threaded/1 when canceling individual threads. The first bug resulted from |
|---|
| 1111 | out-of-order thread status messages. The second bug resulted from a leak |
|---|
| 1112 | of thread results between calls to the threaded/1 predicate. Changed the |
|---|
| 1113 | thread cancellation process to not automatically releasing any locks, |
|---|
| 1114 | leaving that task to a catcher associated to the thread goal. |
|---|
| 1115 | |
|---|
| 1116 | Added a new default compiler option, multifile_directive, to all config |
|---|
| 1117 | files. Possible values are "supported" and "unsupported". |
|---|
| 1118 | |
|---|
| 1119 | Added instructions on how to patch the Logtalk compiler in order to use |
|---|
| 1120 | Quintus Prolog as the back-end compiler. |
|---|
| 1121 | |
|---|
| 1122 | Removed from the YAP POSIX integration script the command-line options |
|---|
| 1123 | setting the initial stack, heap, and tail data area sizes. These settings |
|---|
| 1124 | are no longer necessary for recent YAP versions. |
|---|
| 1125 | |
|---|
| 1126 | Updated the Windows installer script to search the registry for the |
|---|
| 1127 | location of the YAP installation (for YAP 5.1.3 or later versions). |
|---|
| 1128 | |
|---|
| 1129 | Added missing implementation of the predicate as_dictionary/2 to the |
|---|
| 1130 | "bintree" library object. Thanks to Victor Noel for the bug report. |
|---|
| 1131 | |
|---|
| 1132 | Updated all the search methods in the "searching" example to delegate |
|---|
| 1133 | checking for cycles to the state space being searched (thus allowing |
|---|
| 1134 | state descriptions to carry additional information that should not be |
|---|
| 1135 | taken into account when comparing states). Updated the "salt" example |
|---|
| 1136 | to support heuristics. |
|---|
| 1137 | |
|---|
| 1138 | Updated the "mtbatch" example to include a benchmark test for competitive |
|---|
| 1139 | or-parallelism applied to state-space search (using the resources from the |
|---|
| 1140 | "searching" example). Improved the example documentation. |
|---|
| 1141 | |
|---|
| 1142 | Added a filetype plugin for the Vim text editor. Updated the installation |
|---|
| 1143 | instructions. Updated the syntax coloring support to properly highlight |
|---|
| 1144 | quoted atoms and strings in the opening directive of parametric objects. |
|---|
| 1145 | Fixed an auto-indentation bug when opening and closing a conditional |
|---|
| 1146 | block in a single line in the last goal a predicate clause body. Thanks |
|---|
| 1147 | to Victor Noel for the bug report. |
|---|
| 1148 | |
|---|
| 1149 | Corrected missing installation of the "VERSION.txt" file when building |
|---|
| 1150 | Linux RPMs. |
|---|
| 1151 | |
|---|
| 1152 | |
|---|
| 1153 | 2.31.6 - May 26, 2008 |
|---|
| 1154 | |
|---|
| 1155 | Fixed a Logtalk runtime bug when using the :/1 control construct to |
|---|
| 1156 | call a predicate defined in a category extended by a category that |
|---|
| 1157 | is imported by the object making the call. |
|---|
| 1158 | |
|---|
| 1159 | Fixed a Logtalk compiler bug when compiling an alias/3 predicate |
|---|
| 1160 | directive within a category that extends other categories. |
|---|
| 1161 | |
|---|
| 1162 | Fixed a Logtalk compiler bug when compiling a class that imports a |
|---|
| 1163 | category that extends other categories. Thanks to Victor Noel for |
|---|
| 1164 | the bug report. |
|---|
| 1165 | |
|---|
| 1166 | Small performance improvement to the caching of category predicates |
|---|
| 1167 | when using static binding. |
|---|
| 1168 | |
|---|
| 1169 | Removed from the YAP config file the definition of the forall/2 |
|---|
| 1170 | predicate, which have been added as a built-in predicate in YAP |
|---|
| 1171 | version 5.1.3 (the current YAP CVS version must be used; the last |
|---|
| 1172 | stable version, 5.1.2, is broken on Windows). Added support for |
|---|
| 1173 | the proprietary if/1, else/0, elif/1, and endif/0 directives (when |
|---|
| 1174 | used outside Logtalk entities). |
|---|
| 1175 | |
|---|
| 1176 | Updated the SWI-Prolog config file with support for the proprietary |
|---|
| 1177 | if/1, else/0, elif/1, and endif/0 directives (when used outside |
|---|
| 1178 | Logtalk entities). |
|---|
| 1179 | |
|---|
| 1180 | Improved the "complements" example, moving the category initialization |
|---|
| 1181 | goal to the beginning of the example source file. |
|---|
| 1182 | |
|---|
| 1183 | Added support for the Pygments syntax highlighter (co-developed with |
|---|
| 1184 | Clara Dimene). |
|---|
| 1185 | |
|---|
| 1186 | Added a new sample Logtalk source file for testing syntax coloring |
|---|
| 1187 | support. |
|---|
| 1188 | |
|---|
| 1189 | Added missing auto-completion keywords for the ISO Prolog standard |
|---|
| 1190 | arithmetic functions to the SubEthaEdit, TextMate, Notepad++, jEdit, |
|---|
| 1191 | Vim, and Smultron text editors. |
|---|
| 1192 | |
|---|
| 1193 | Corrected a bug in the SubEthaEdit syntax coloring support for the |
|---|
| 1194 | imports_category/2-3 built-in predicate. Added some missing files |
|---|
| 1195 | (license and mode settings) to the SubEthaEdit mode bundle. |
|---|
| 1196 | |
|---|
| 1197 | Corrected a bug in the Vim syntax coloring support for the ISO Prolog |
|---|
| 1198 | built-in predicate current_char_conversion/2 and added missing support |
|---|
| 1199 | for for quoted atom escape sequences. |
|---|
| 1200 | |
|---|
| 1201 | Corrected a bug in the jEdit syntax coloring support for hexadecimal |
|---|
| 1202 | numbers and added missing support for the extends_category/2-3 and |
|---|
| 1203 | at_end_of_stream/0 built-in predicates. |
|---|
| 1204 | |
|---|
| 1205 | Added missing support for the syntax coloring of the external call |
|---|
| 1206 | Logtalk control construct, {}/1, to the Highlight package. Corrected |
|---|
| 1207 | a bug with 0'Char constants and with octal and hexadecimal escape |
|---|
| 1208 | sequences. |
|---|
| 1209 | |
|---|
| 1210 | Added missing support for the syntax coloring of the external call |
|---|
| 1211 | Logtalk control construct, {}/1, and for quoted atom escape sequences |
|---|
| 1212 | to the TextMate text editor. |
|---|
| 1213 | |
|---|
| 1214 | Added missing support for the syntax coloring of quoted atom escape |
|---|
| 1215 | sequences and of the built-in predicate at_end_of_stream/0 to the |
|---|
| 1216 | Source-highlight package. |
|---|
| 1217 | |
|---|
| 1218 | Added missing support for the syntax coloring of the built-in predicate |
|---|
| 1219 | at_end_of_stream/0 and of the scope operator ::/2 to the Kate text editor. |
|---|
| 1220 | Improved syntax coloring of parametric object opening directives. |
|---|
| 1221 | |
|---|
| 1222 | Added missing support for the syntax coloring of the built-in predicate |
|---|
| 1223 | unify_with_occurs_check/2 to the Emacs text editor. Corrected a bug in |
|---|
| 1224 | the syntax coloring of arithmetic comparison operators. |
|---|
| 1225 | |
|---|
| 1226 | Added missing support for the syntax coloring of quoted atom escape |
|---|
| 1227 | sequences and of the built-in control construct call/1 to the |
|---|
| 1228 | GtkSourceView 2.x text widget. |
|---|
| 1229 | |
|---|
| 1230 | Added missing support for the syntax coloring of variables, of quoted |
|---|
| 1231 | atom escape sequences, of the built-in method clause/2, of the external |
|---|
| 1232 | call Logtalk control construct {}/1, and of variables to the Nedit text |
|---|
| 1233 | editor. Corrected a bug with 0'Char constants and corrected some typos |
|---|
| 1234 | in the support for the current_event/2, implements_protocol/2-3, and |
|---|
| 1235 | abolish_category/1 built-in predicates. |
|---|
| 1236 | |
|---|
| 1237 | |
|---|
| 1238 | 2.31.5 - April 29, 2008 |
|---|
| 1239 | |
|---|
| 1240 | Added support for checking arithmetic expressions for calls to |
|---|
| 1241 | non-portable functions when using the "portability" compiler flag. |
|---|
| 1242 | |
|---|
| 1243 | Updated the implementation of the threaded/1 built-in predicate to |
|---|
| 1244 | ensure that thread creation errors (usually, virtual memory address |
|---|
| 1245 | space exhaustion) result in the corresponding exception rather than |
|---|
| 1246 | in a non-terminating call. Improved cancellation of all individual |
|---|
| 1247 | threads when one of them terminates with an exception or a failure. |
|---|
| 1248 | |
|---|
| 1249 | Simplified the terms used to post individual results from threaded/1 |
|---|
| 1250 | calls to the queue associated to the call. |
|---|
| 1251 | |
|---|
| 1252 | Corrected a bug in the built-in predicate threaded/1 when its argument |
|---|
| 1253 | is a conjunction (disjunction) of conjunctions (disjunctions). |
|---|
| 1254 | |
|---|
| 1255 | Added a workaround for a mutex creation error when reloading a source |
|---|
| 1256 | file with entities defining synchronized predicates. |
|---|
| 1257 | |
|---|
| 1258 | Updated the Logtalk runtime to unlock all mutexes hold by a thread when |
|---|
| 1259 | upon thread cancellation. |
|---|
| 1260 | |
|---|
| 1261 | Corrected a Logtalk compiler bug that allowed a predicate to be declared |
|---|
| 1262 | both dynamic and synchronized. Thanks to Paul Crocker for the bug report. |
|---|
| 1263 | |
|---|
| 1264 | Corrected a Logtalk compiler bug where local definition clauses for |
|---|
| 1265 | dynamic predicates are being generated for categories. Thanks to Victor |
|---|
| 1266 | Noel for the bug report. |
|---|
| 1267 | |
|---|
| 1268 | Updated the YAP and SWI-Prolog config files to set the default value of |
|---|
| 1269 | the "tmpdir" flag depending on the host operating-system. Added missing |
|---|
| 1270 | declaration for the multi-threading predicate thread_initialization/1. |
|---|
| 1271 | |
|---|
| 1272 | Added missing declarations for some proprietary built-in meta-predicates |
|---|
| 1273 | to the B-Prolog config file. |
|---|
| 1274 | |
|---|
| 1275 | Corrected a bug in the SWI-Prolog config file in the declaration of the |
|---|
| 1276 | proprietary built-in meta-predicate "soft cut". Thanks to Victor Noel |
|---|
| 1277 | for the bug report. |
|---|
| 1278 | |
|---|
| 1279 | Updated the XSB config file to use the new optimized call/N predicates |
|---|
| 1280 | found on the current XSB CVS version. |
|---|
| 1281 | |
|---|
| 1282 | Added an integration script, "xsbmt64lgt", for using Logtalk with the |
|---|
| 1283 | multi-threaded, 64 bits version of XSB. |
|---|
| 1284 | |
|---|
| 1285 | Simplified building of MacOS X Installer packages. Updated the Windows |
|---|
| 1286 | installation script to use the "C:\lgtsvn" as base. Simplified manual |
|---|
| 1287 | installation instructions. |
|---|
| 1288 | |
|---|
| 1289 | Updated the definitions of the predicate valid/1 for the library objects |
|---|
| 1290 | "list", "list(Type)", "numberlist", "set", "set(Type)", "varlist" to fail |
|---|
| 1291 | for lists with unbound tails after discussion with Jan Wielemaker and |
|---|
| 1292 | Ulrich Neumerkel. |
|---|
| 1293 | |
|---|
| 1294 | Corrected a bug in the library object "lgtunit" when running "throws" |
|---|
| 1295 | tests (make sure the generated exception is subsumed by the expected |
|---|
| 1296 | exception). Added a "lgtunit_loader" loader utility file for loading |
|---|
| 1297 | the Logtalk unit test library. |
|---|
| 1298 | |
|---|
| 1299 | Added a simple example, "debug_hooks", of using compilation hooks and |
|---|
| 1300 | term expansion for conditional compilation of debug statements. |
|---|
| 1301 | |
|---|
| 1302 | Updated the "primes" multi-threading example to allow any number of |
|---|
| 1303 | threads to be used in the computation of primes numbers. |
|---|
| 1304 | |
|---|
| 1305 | Added a new multi-threading example, "integration", implementing |
|---|
| 1306 | Recursive Gaussian Quadrature Methods for Numerical Integration for |
|---|
| 1307 | functions of a single variable, contributed by Paul Crocker. |
|---|
| 1308 | |
|---|
| 1309 | Added a new multi-threading example, "mtbatch", for benchmarking |
|---|
| 1310 | multi-threading performance. |
|---|
| 1311 | |
|---|
| 1312 | Added a new example, "ack", implementing the Ackermann function (general |
|---|
| 1313 | recursive function). |
|---|
| 1314 | |
|---|
| 1315 | Added support for using the Highlight package (version 2.6.9 or later) |
|---|
| 1316 | by Andre Simon with Logtalk source files. |
|---|
| 1317 | |
|---|
| 1318 | Updated the TextMate Logtalk bundle and its configuration instructions |
|---|
| 1319 | to make the "Compile" and "Generate ..." commands more general, making |
|---|
| 1320 | it compatible with most Prolog compilers. Added syntax coloring for |
|---|
| 1321 | standard arithmetic functions. Added a command for generating plain text |
|---|
| 1322 | files from XML documenting files. |
|---|
| 1323 | |
|---|
| 1324 | Corrected a syntax coloring bug with character codes using the 0'Char |
|---|
| 1325 | notation in the SubEthaEdit 2.x and Vim text editors and in the |
|---|
| 1326 | source-highlight package. |
|---|
| 1327 | |
|---|
| 1328 | Removed some redundant regular expressions from the jEdit text editor |
|---|
| 1329 | syntax coloring support files. |
|---|
| 1330 | |
|---|
| 1331 | Corrected syntax coloring bugs with variables starting with underscores |
|---|
| 1332 | (including anonymous variables) and with atoms containing an underscore |
|---|
| 1333 | in the Emacs text editor. Thanks to Joerg Schuster for the bug report. |
|---|
| 1334 | |
|---|
| 1335 | Updated the Logtalk grammar documentation to reflect the changes to |
|---|
| 1336 | category relations introduced in version 2.31.0. |
|---|
| 1337 | |
|---|
| 1338 | Added a "lgttxt.xsl" XSLT style-sheet and two shell scripts, "lgt2txt.sh" |
|---|
| 1339 | and "lgt2txt.js", for converting XML documenting files into text files. |
|---|
| 1340 | Updated the "lgt2*.sh" shell scripts for POSIX compliance, removing |
|---|
| 1341 | dependencies on bash shell features. |
|---|
| 1342 | |
|---|
| 1343 | Updated the "lgtxml.xsl" XSLT style-sheet to ensure that the generated |
|---|
| 1344 | HTML files are fully compliant with the HTML 4.01 standard. |
|---|
| 1345 | |
|---|
| 1346 | Updated the Debian installer package shell scripts for POSIX compliance, |
|---|
| 1347 | removing dependencies on bash shell features. |
|---|
| 1348 | |
|---|
| 1349 | |
|---|
| 1350 | 2.31.4 - February 20, 2008 |
|---|
| 1351 | |
|---|
| 1352 | Optimized the performance of threaded/1 calls by using a per-call |
|---|
| 1353 | message queue for collecting the individual call results and by |
|---|
| 1354 | using the message queue identifier as a tag for the individual |
|---|
| 1355 | calls. This solution avoids runtime synchronization of a large |
|---|
| 1356 | number of threads on the same message queue, simplifies compilation |
|---|
| 1357 | and runtime handling of threaded/1 calls, and simplifies thread |
|---|
| 1358 | cancellation, eliminating any risk of dangling individual thread |
|---|
| 1359 | results. |
|---|
| 1360 | |
|---|
| 1361 | Removed two redundant calls to the built-in predicate thread_exit/1 |
|---|
| 1362 | on the Logtalk compiler. |
|---|
| 1363 | |
|---|
| 1364 | Corrected a bug where a competitive or-parallelism call would |
|---|
| 1365 | prematurely fail with one or more individual calls still pending. |
|---|
| 1366 | |
|---|
| 1367 | Corrected a bug where a competitive or-parallelism call would succeed |
|---|
| 1368 | when all the individual calls had failed. |
|---|
| 1369 | |
|---|
| 1370 | Corrected a bug when compiling calls to the Logtalk multi-threading |
|---|
| 1371 | built-in predicates made from the top-level interpreter, i.e. from |
|---|
| 1372 | within the pseudo-object "user". |
|---|
| 1373 | |
|---|
| 1374 | Added foreach/3, forto/5, and fordownto/5 meta-predicates to the |
|---|
| 1375 | library object "loop". Updated the definitions of the forto/3-4 |
|---|
| 1376 | and fordownto/3-4 meta-predicates to allow the use of arithmetic |
|---|
| 1377 | expressions as arguments for convenience and clarity. |
|---|
| 1378 | |
|---|
| 1379 | Corrected a bug in the implementation of the predicate lookup/3 in |
|---|
| 1380 | the library object "bintree". |
|---|
| 1381 | |
|---|
| 1382 | Added a multi-threading example of the Fast Fourier Transform, "fft", |
|---|
| 1383 | contributed by Paul Crocker. |
|---|
| 1384 | |
|---|
| 1385 | Corrected a bug in the implementation of the bisection algorithm in |
|---|
| 1386 | the multi-threading example "functions". Added an implementation of |
|---|
| 1387 | the MATLAB humps function (contributed by Paul Crocker). |
|---|
| 1388 | |
|---|
| 1389 | Updated the multi-threading example "sorting" to workaround a mutex |
|---|
| 1390 | performance issue with XSB when generating lists of random numbers. |
|---|
| 1391 | |
|---|
| 1392 | Updated support for the TextMate text editor. Added a command for |
|---|
| 1393 | generating the PDF documentation of open source files. Added missing |
|---|
| 1394 | tab triggers to the Logtalk snippets. Updated installation notes. |
|---|
| 1395 | |
|---|
| 1396 | Corrected a bug in the jEdit syntax coloring support for the is/2 |
|---|
| 1397 | operator. |
|---|
| 1398 | |
|---|
| 1399 | |
|---|
| 1400 | 2.31.3 - January 28, 2008 |
|---|
| 1401 | |
|---|
| 1402 | Added a "VERSION.txt" file that is used to check compatibility between |
|---|
| 1403 | an existing Logtalk user folder (whose path is stored in the LOGTALKUSER |
|---|
| 1404 | environment variable) and a new Logtalk version. |
|---|
| 1405 | |
|---|
| 1406 | Updated the POSIX Prolog integration scripts to check for an outdated |
|---|
| 1407 | Logtalk user folder, creating a new one if necessary by running the |
|---|
| 1408 | "cplgtdirs" script (a backup is automatically made of the old directory). |
|---|
| 1409 | |
|---|
| 1410 | Updated the Windows installer to create a registry key with the Logtalk |
|---|
| 1411 | version number and to check for an outdated Logtalk user folder. |
|---|
| 1412 | |
|---|
| 1413 | Changed the predicate used to load Prolog files, adding an additional |
|---|
| 1414 | argument that represents a list of load/compile options (notably, |
|---|
| 1415 | encoding/1, which is necessary for supporting source files encodings |
|---|
| 1416 | such as ISO-8859-X). |
|---|
| 1417 | |
|---|
| 1418 | Updated the SICStus Prolog 4 config file to also accept UCS-2 encodings |
|---|
| 1419 | when using the encoding/1 directive (UCS-2 is subsumed by UTF-16). |
|---|
| 1420 | |
|---|
| 1421 | Added a workaround to the Quintus Prolog integration scripts for its |
|---|
| 1422 | lack of support for expanding environment variables in file names. |
|---|
| 1423 | |
|---|
| 1424 | |
|---|
| 1425 | 2.31.2 - January 21, 2008 |
|---|
| 1426 | |
|---|
| 1427 | Extended compatibility of the experimental Logtalk encoding/1 directive |
|---|
| 1428 | to CxProlog 0.96.3 and SICStus Prolog 4.0.2 and improved support for YAP |
|---|
| 1429 | and SWI-Prolog. |
|---|
| 1430 | |
|---|
| 1431 | Improved source file encoding handling by ensuring that a BOM present |
|---|
| 1432 | in a source file being compiled is inherited by the generated Prolog |
|---|
| 1433 | and XML files. |
|---|
| 1434 | |
|---|
| 1435 | Changed the atoms used to represent different encodings when using the |
|---|
| 1436 | encoding/1 directive; Logtalk now uses the encoding names specified by |
|---|
| 1437 | IANA (using the preferred MIME name whenever available). |
|---|
| 1438 | |
|---|
| 1439 | Updated the Logtalk compiler to throw an exception when the specified |
|---|
| 1440 | encoding is not supported by the used back-end Prolog compiler. |
|---|
| 1441 | |
|---|
| 1442 | Updated the "encodings" example to use the new encoding names and added |
|---|
| 1443 | new source files using UTF-16 and UTF-32 text encodings. |
|---|
| 1444 | |
|---|
| 1445 | Added POSIX and Windows integration scripts for Quintus Prolog. |
|---|
| 1446 | |
|---|
| 1447 | |
|---|
| 1448 | 2.31.1 - January 3, 2008 |
|---|
| 1449 | |
|---|
| 1450 | Duplicated the range of threaded_call/2 tags for multi-threading Prolog |
|---|
| 1451 | compilers with bounded integers. |
|---|
| 1452 | |
|---|
| 1453 | Updated the YAP config file to set the flag "language" to "iso". This |
|---|
| 1454 | is not strictly necessary to run Logtalk with YAP but it helps prevent |
|---|
| 1455 | nasty surprises when writing portable applications that rely on ISO |
|---|
| 1456 | Prolog semantics. |
|---|
| 1457 | |
|---|
| 1458 | Updated the SWI-Prolog integration script to test for the availability of |
|---|
| 1459 | the XPCE library before trying to load the "xpcehook.pl" XPCE hook file. |
|---|
| 1460 | |
|---|
| 1461 | Updated the Linux (RMP and Debian) and MacOS X package build scripts to |
|---|
| 1462 | include Prolog version compatibility information. |
|---|
| 1463 | |
|---|
| 1464 | Updated the "tak" multi-threading example to allow parameterization of |
|---|
| 1465 | the number of threads to use. |
|---|
| 1466 | |
|---|
| 1467 | Updated the "sorting", "hanoi", and "fibonacci" multi-threading examples |
|---|
| 1468 | to interpret the object parameter as the number of leaf threads (i.e. |
|---|
| 1469 | working threads that will not recursively create additional threads). |
|---|
| 1470 | |
|---|
| 1471 | Updated the TextMate text editor support to include commands to compile |
|---|
| 1472 | and to automatically generate the XHTML documentation of open source |
|---|
| 1473 | files. |
|---|
| 1474 | |
|---|
| 1475 | |
|---|
| 1476 | 2.31.0 - December 21, 2007 |
|---|
| 1477 | |
|---|
| 1478 | Added a new built-in protocol, "expanding", declaring goal_expansion/2 |
|---|
| 1479 | and term_expansion/2 public predicates. |
|---|
| 1480 | |
|---|
| 1481 | Added compiler support for user-defined goal expansion hooks. Changed |
|---|
| 1482 | the implementation of compiler term and goal expansion hooks to use |
|---|
| 1483 | object-defined predicates term_expansion/2 and goal_expansion/2. |
|---|
| 1484 | Changed the compiler option "hook" to accept object identifiers. |
|---|
| 1485 | |
|---|
| 1486 | Allow a category to explicitly complement an existing object, thus |
|---|
| 1487 | providing functionality similar to Objective-C categories. Added |
|---|
| 1488 | complements_object/2 built-in predicate. Added a new example, |
|---|
| 1489 | "complements", illustrating the new category functionality. |
|---|
| 1490 | |
|---|
| 1491 | When constructing a new category from other categories, the relation |
|---|
| 1492 | "extends" is now used instead of the relation "imports". The relation |
|---|
| 1493 | "imports" is now only used when an object imports a category. Added |
|---|
| 1494 | extends_category/2-3 built-in predicates. |
|---|
| 1495 | |
|---|
| 1496 | Modified the built-in predicate define_events/5 to throw an existence |
|---|
| 1497 | error instead of failing when the specified monitor object does not |
|---|
| 1498 | exists. |
|---|
| 1499 | |
|---|
| 1500 | Updated the Logtalk compiler to convert version numbers to atoms when |
|---|
| 1501 | generating XML documenting files (thus avoiding problems with some |
|---|
| 1502 | Prolog compilers that resulted in version numbers with a large number |
|---|
| 1503 | of fractional digits). |
|---|
| 1504 | |
|---|
| 1505 | Improved updating of runtime bookkeeping tables when loading source |
|---|
| 1506 | files. |
|---|
| 1507 | |
|---|
| 1508 | Renamed the predicate property "alias/1" to "alias_of/1" in order to |
|---|
| 1509 | disambiguate its meaning. |
|---|
| 1510 | |
|---|
| 1511 | Added a new config file, "k6.config", for the K-Prolog 6.0 beta |
|---|
| 1512 | version. |
|---|
| 1513 | |
|---|
| 1514 | Updated the B-Prolog config file to recognize mode/1 directives. |
|---|
| 1515 | Added some missing meta-predicate specifications to the config files |
|---|
| 1516 | of XSB and YAP. |
|---|
| 1517 | |
|---|
| 1518 | Updated the Windows GUI installer to support running Logtalk with |
|---|
| 1519 | CxProlog 0.96.1 and later versions. |
|---|
| 1520 | |
|---|
| 1521 | Added two new multi-threading examples, "fibonacci" and "hanoi", and |
|---|
| 1522 | corrected a bug in the recursive creation of threads on the "sorting" |
|---|
| 1523 | example. Updated the "primes" multi-threading example to also support |
|---|
| 1524 | eight threads. |
|---|
| 1525 | |
|---|
| 1526 | Updated the "hooks" example for illustrating goal expansion hooks in |
|---|
| 1527 | addition to term expansion hooks. |
|---|
| 1528 | |
|---|
| 1529 | Updated the "engines" example for compliance with the changes made |
|---|
| 1530 | to category relations. |
|---|
| 1531 | |
|---|
| 1532 | Added syntax coloring support for the new goal_expansion/1, |
|---|
| 1533 | complements_object/2, and extends_category/2-3 predicates to all |
|---|
| 1534 | supported text editors. |
|---|
| 1535 | |
|---|
| 1536 | Updated the TextMate code snippets to use the TM_FULLNAME variable |
|---|
| 1537 | instead of the deprecated "niutil" command to retrieve the user full |
|---|
| 1538 | name. Thanks to Michael Sheets for the update. |
|---|
| 1539 | |
|---|
| 1540 | |
|---|
| 1541 | 2.30.8 - November 9, 2007 |
|---|
| 1542 | |
|---|
| 1543 | Fixed bug in the compilation of synchronized predicates that breaks |
|---|
| 1544 | Logtalk on single-threaded Prolog compilers. |
|---|
| 1545 | |
|---|
| 1546 | |
|---|
| 1547 | 2.30.7 - November 5, 2007 |
|---|
| 1548 | |
|---|
| 1549 | Updated the multi-threading built-in predicates threaded_notify/1 and |
|---|
| 1550 | threaded_wait/1 to accept lists of notifications. |
|---|
| 1551 | |
|---|
| 1552 | Added a new read-only compiler flag, "context_switching_calls", allowing |
|---|
| 1553 | context switching calls to be disabled (they are enabled by default). |
|---|
| 1554 | |
|---|
| 1555 | Updated the B-Prolog config file to recognize eager_consume/1 directives. |
|---|
| 1556 | Updated the XSB config file to recognize use_subsumptive_tabling/1, |
|---|
| 1557 | use_variant_tabling/1, index/1, thread_private/1, and thread_shared/1 |
|---|
| 1558 | directives. |
|---|
| 1559 | Updated the YAP config file to recognize thread_local/1 directives. |
|---|
| 1560 | Updated the SICStus Prolog config files to recognize volatile/1 directives. |
|---|
| 1561 | Updated the SWI-Prolog config file to recognize thread_local/1, index/1, |
|---|
| 1562 | and hash/1 directives. |
|---|
| 1563 | |
|---|
| 1564 | Changed the backup directory names generated by the "cplgtdirs.*" shell |
|---|
| 1565 | scripts to not include whitespace characters. |
|---|
| 1566 | |
|---|
| 1567 | Updated the "xsbmtlgt.sh" integration script to start XSB-MT using the |
|---|
| 1568 | new command-line option "--shared_predicates" (requires current XSB CVS |
|---|
| 1569 | version). Updated the Windows GUI installer to support running Logtalk |
|---|
| 1570 | with XSB-MT. |
|---|
| 1571 | |
|---|
| 1572 | Added a multi-threading example, "barriers", of barrier synchronization. |
|---|
| 1573 | |
|---|
| 1574 | Updated the "functions" example sample queries for compatibility with the |
|---|
| 1575 | ISO Prolog standard regarding representation of float numbers. |
|---|
| 1576 | |
|---|
| 1577 | Added a workaround for a parsing bug in XSB while compiling the "sicstus" |
|---|
| 1578 | example. |
|---|
| 1579 | |
|---|
| 1580 | |
|---|
| 1581 | 2.30.6 - October 21, 2007 |
|---|
| 1582 | |
|---|
| 1583 | Replaced calls to the proprietary current_thread/2 predicate in the |
|---|
| 1584 | Logtalk runtime by calls to the thread_property/2 predicate as per |
|---|
| 1585 | the ISO DTR on multi-threading predicates. Added a goal_expansion/2 |
|---|
| 1586 | clause to the SWI-Prolog config file to automatically switch between |
|---|
| 1587 | the current_thread/2 and thread_property/2 predicates depending on |
|---|
| 1588 | availability. |
|---|
| 1589 | |
|---|
| 1590 | Changed handling of the encoding/1 directive by the Logtalk compiler in |
|---|
| 1591 | order to improve compatibility with YAP and SICStus Prolog. Removed from |
|---|
| 1592 | the config files the now obsolete '$lgt_set_stream_encoding'/2 predicate |
|---|
| 1593 | definition. Renamed the compiler option "supports_encoding_dir" to |
|---|
| 1594 | "encoding_directive" and changed its possible values to "unsupported", |
|---|
| 1595 | "full" (used in both Logtalk source files and compiler generated Prolog |
|---|
| 1596 | files), and "source" (used only in Logtalk source files). |
|---|
| 1597 | |
|---|
| 1598 | Renamed compiler option "underscore_vars" to "underscore_variables". |
|---|
| 1599 | Renamed compiler option "supports_break_predicate" to "break_predicate". |
|---|
| 1600 | |
|---|
| 1601 | Improved the performance of recursive predicate definitions synchronized |
|---|
| 1602 | by mutexes. Explicitly create all mutexes used by an entity at load time |
|---|
| 1603 | for compatibility with XSB. Several changes to multi-threading support in |
|---|
| 1604 | order to improve compatibility with current and forthcoming versions of |
|---|
| 1605 | YAP, SWI-Prolog, and XSB. |
|---|
| 1606 | |
|---|
| 1607 | Updated the Logtalk compiler for compatibility with both logical and |
|---|
| 1608 | immediate update semantics when compiling synchronized predicates. |
|---|
| 1609 | |
|---|
| 1610 | Updated the meta-predicate compilation sanity checks to verify the |
|---|
| 1611 | existence of the minimum number of normal arguments in a clause head |
|---|
| 1612 | required by the closure of maximum arity. |
|---|
| 1613 | |
|---|
| 1614 | Added a workaround for the lack of built-in support for character |
|---|
| 1615 | unbuffered input when using the Logtalk built-in debugger to the config |
|---|
| 1616 | files of ALS Prolog, B-Prolog, Ciao, CxProlog, IF/Prolog, JIProlog, |
|---|
| 1617 | Prolog II+, SICStus Prolog, XSB, and YAP. Thanks to Parker Jones for the |
|---|
| 1618 | bug report. |
|---|
| 1619 | |
|---|
| 1620 | Updated the YAP config file to auto-detect working Unicode support when |
|---|
| 1621 | setting the "encoding_directive" compiler option. |
|---|
| 1622 | |
|---|
| 1623 | Updated the XSB config file to auto-detect multi-threading support |
|---|
| 1624 | when setting the "threads" compiler option. Added an integration script |
|---|
| 1625 | (xsbmtlgt.sh) and supporting files for the multi-threaded version of XSB |
|---|
| 1626 | (requires current development version, available from the XSB CVS server). |
|---|
| 1627 | |
|---|
| 1628 | Added a MacPorts portfile for building MacOS X installer packages. |
|---|
| 1629 | |
|---|
| 1630 | Added a BOM to the "babel.lgt" UTF-8 file in the "encodings" example in |
|---|
| 1631 | order to improve compatibility with SICStus Prolog. |
|---|
| 1632 | |
|---|
| 1633 | Updated the library object "random" by replacing the synchronized/0 |
|---|
| 1634 | directive by a synchronized/1 directive listing only the predicates |
|---|
| 1635 | that modify the random number seed. |
|---|
| 1636 | |
|---|
| 1637 | Added syntax coloring support for the GtkSourceView 2.x text widget |
|---|
| 1638 | (used e.g. on the Gnome's Gedit text editor and on the MonoDevelop IDE). |
|---|
| 1639 | Removed syntax coloring for the obsolete atomic/1 predicate directive |
|---|
| 1640 | from the support files of Source-highlight, Emacs, SubEthaEdit, jEdit, |
|---|
| 1641 | and Kate. Optimized the regular expressions used in most syntax coloring |
|---|
| 1642 | configuration files of supported text editors. |
|---|
| 1643 | |
|---|
| 1644 | |
|---|
| 1645 | 2.30.5 - September 19, 2007 |
|---|
| 1646 | |
|---|
| 1647 | Added new multi-threading built-in predicates threaded_call/2, |
|---|
| 1648 | threaded_once/2, threaded_exit/2, and threaded_peek/2. These new |
|---|
| 1649 | predicates support the use of threaded call identifier tags in order to |
|---|
| 1650 | link specific threaded_call/2 and threaded_once/2 calls to specific |
|---|
| 1651 | threaded_exit/2 and threaded_peek/2 calls. Extended the "nondet" example |
|---|
| 1652 | in order to illustrate the new functionality. |
|---|
| 1653 | |
|---|
| 1654 | Changed the implementation of the built-in predicate threaded_exit/1 in |
|---|
| 1655 | order to avoid blocking when its argument is subsumed by the argument of |
|---|
| 1656 | the corresponding threaded_call/1 call instead of being a variant. |
|---|
| 1657 | |
|---|
| 1658 | Updated the Logtalk compiler to encapsulate resource errors inside |
|---|
| 1659 | error/2 exception terms (as specified in the ISO Prolog core standard). |
|---|
| 1660 | |
|---|
| 1661 | Corrected a bug in the library object "lgtunit" (wrong arity on two |
|---|
| 1662 | failed_test/2 predicate calls). |
|---|
| 1663 | |
|---|
| 1664 | Corrected two problems with the "testing" example: a wrong call on the |
|---|
| 1665 | object "dyn_tests" and a missing entry in the "libpaths.pl" file. Removed |
|---|
| 1666 | two pointless dynamic predicate directives in the "buffer" example. |
|---|
| 1667 | |
|---|
| 1668 | Improved documentation of multi-threading programming and predicate |
|---|
| 1669 | properties. Corrected the reference manual page describing the threaded/0 |
|---|
| 1670 | directive. |
|---|
| 1671 | |
|---|
| 1672 | Simplified installation scripts by moving shared distribution cleaning |
|---|
| 1673 | code into the "cleandist.sh" script. Updated the "install.sh" script to |
|---|
| 1674 | set the installation prefix to "/usr" on Debian systems. Updated the |
|---|
| 1675 | Linux RPM spec file in order to clean the building directory after the |
|---|
| 1676 | package creation. |
|---|
| 1677 | |
|---|
| 1678 | |
|---|
| 1679 | 2.30.4 - August 22, 2007 |
|---|
| 1680 | |
|---|
| 1681 | Allow the argument of {}/1 calls to be a variable at compile time. |
|---|
| 1682 | |
|---|
| 1683 | Updated the Qu-Prolog config file to match and require version 8.1 and |
|---|
| 1684 | added a "qplgt" integration script. |
|---|
| 1685 | |
|---|
| 1686 | Updated the XSB config file to match and require version 3.1 and to |
|---|
| 1687 | take advantage of the compiler option optimize/1 when loading Logtalk |
|---|
| 1688 | generated Prolog intermediate files. |
|---|
| 1689 | |
|---|
| 1690 | Added a new library object, "lgtunit", providing preliminary support for |
|---|
| 1691 | writing and running unit tests. Added a new example, "testing", defining |
|---|
| 1692 | sample unit tests. |
|---|
| 1693 | |
|---|
| 1694 | Added a new multi-threading example, "threads/tak", implementing the |
|---|
| 1695 | Takeuchi function (recursive arithmetic). |
|---|
| 1696 | |
|---|
| 1697 | Updated the "threads/philosophers" example to use notifications instead |
|---|
| 1698 | of a dynamic predicate for representing chopstick availability. Added an |
|---|
| 1699 | alternative implementation using a parametric object. Improved example |
|---|
| 1700 | documentation. |
|---|
| 1701 | |
|---|
| 1702 | Updated the "benchmarks" example to allow comparisons between calls to |
|---|
| 1703 | imported category predicates and calls to local object predicates. |
|---|
| 1704 | |
|---|
| 1705 | Updated Emacs support in order to fix problems with the syntax-coloring |
|---|
| 1706 | of some Logtalk built-in predicates and applied a patch contributed by |
|---|
| 1707 | Nicolas Pelletier to workaround a compatibility problem with XEmacs. |
|---|
| 1708 | |
|---|
| 1709 | Updated jEdit support in order to fix a problem with the syntax-coloring |
|---|
| 1710 | of the :/1 control construct. |
|---|
| 1711 | |
|---|
| 1712 | |
|---|
| 1713 | 2.30.3 - July 9, 2007 |
|---|
| 1714 | |
|---|
| 1715 | Updated the multi-threading built-in predicate threaded/1 to support |
|---|
| 1716 | both conjunctions of goals (akin to and-parallelism) and disjunctions |
|---|
| 1717 | of goals (akin to or-parallelism) as an argument. |
|---|
| 1718 | |
|---|
| 1719 | Removed the experimental threaded_race/1 multi-threading built-in |
|---|
| 1720 | predicate (its or-parallelism functionality is subsumed by the updated |
|---|
| 1721 | threaded/1 predicate). |
|---|
| 1722 | |
|---|
| 1723 | Corrected a bug in the implementation of the multi-threading built-in |
|---|
| 1724 | predicate threaded_exit/1 when there are more than one thread running |
|---|
| 1725 | the same non-deterministic goal (the fix ensures that all alternative |
|---|
| 1726 | solutions per threaded_exit/1 call come from the same computing thread). |
|---|
| 1727 | Thanks to Paul Crocker for the suggested bug fix solution. |
|---|
| 1728 | |
|---|
| 1729 | Updated the sample queries in the "threads/buffer"/SCRIPT.txt" file to |
|---|
| 1730 | match the updated entities in the example. |
|---|
| 1731 | |
|---|
| 1732 | Updated the "threads/functions" example to use the new version of the |
|---|
| 1733 | threaded/1 multi-threading built-in predicate. |
|---|
| 1734 | |
|---|
| 1735 | |
|---|
| 1736 | 2.30.2 - June 24, 2007 |
|---|
| 1737 | |
|---|
| 1738 | Updated the Logtalk compiler to throw a compilation error when duplicated |
|---|
| 1739 | or conflicting predicate scope directives are found. |
|---|
| 1740 | |
|---|
| 1741 | Updated the Logtalk compiler to correct a cosmetic glitch when reporting |
|---|
| 1742 | compilation errors. |
|---|
| 1743 | |
|---|
| 1744 | Updated the Logtalk compiler to check for mismatches between the argument |
|---|
| 1745 | of this/1 calls and the parametric object identifier. |
|---|
| 1746 | |
|---|
| 1747 | Corrected a bug in the implementation of the multi-threading built-in |
|---|
| 1748 | predicate threaded_ignore/1. |
|---|
| 1749 | |
|---|
| 1750 | Revamped the "threads/buffer" example to support setting the buffer |
|---|
| 1751 | maximum number of items. |
|---|
| 1752 | |
|---|
| 1753 | Added a new DCG example, "dcgs/morse.lgt", for parsing messages in Morse |
|---|
| 1754 | code. |
|---|
| 1755 | |
|---|
| 1756 | Extended the "parametric" example to illustrate a solution for dealing |
|---|
| 1757 | with inheritance when defining "setter" predicates/methods that return |
|---|
| 1758 | updated object identifiers. |
|---|
| 1759 | |
|---|
| 1760 | |
|---|
| 1761 | 2.30.1 - June 12, 2007 |
|---|
| 1762 | |
|---|
| 1763 | Added a new, experimental control construct, :/1, for calling imported |
|---|
| 1764 | category predicates without using message sending mechanisms. |
|---|
| 1765 | |
|---|
| 1766 | Added preliminary support for static binding when calling imported |
|---|
| 1767 | category using the new :/1 control construct for categories compiled |
|---|
| 1768 | and loaded using the compiler option "reload(skip)". |
|---|
| 1769 | |
|---|
| 1770 | Added a new control construct, <</2, which allows proving a goal within |
|---|
| 1771 | the context of a specified object. Useful for debugging and for writing |
|---|
| 1772 | object unit tests. |
|---|
| 1773 | |
|---|
| 1774 | Improved multi-threading support in order to make the built-in predicate |
|---|
| 1775 | threaded_exit/1 generate an exception instead of blocking indefinitely |
|---|
| 1776 | waiting for a reply from a non-existing thread. |
|---|
| 1777 | |
|---|
| 1778 | Updated the Logtalk compiler to generate an error when compiling from a |
|---|
| 1779 | source file new definitions for built-in entities. |
|---|
| 1780 | |
|---|
| 1781 | Updated the Logtalk compiler to generate simpler clauses for the book- |
|---|
| 1782 | keeping table of local predicate definitions for parametric entities. |
|---|
| 1783 | |
|---|
| 1784 | Updated the config files for ECLiPSe, Ciao Prolog, SICStus Prolog, |
|---|
| 1785 | SWI-Prolog, and YAP to use the renamed hook predicates introduced in |
|---|
| 1786 | Logtalk 2.30.0 for parsing Prolog proprietary directives. |
|---|
| 1787 | |
|---|
| 1788 | Updated the "benchmarks" example to compare the performance of calls to |
|---|
| 1789 | imported category predicates when using a message to "self" and a direct |
|---|
| 1790 | call. |
|---|
| 1791 | |
|---|
| 1792 | |
|---|
| 1793 | 2.30.0 - May 28, 2007 |
|---|
| 1794 | |
|---|
| 1795 | Added preliminary support for static binding when sending messages to |
|---|
| 1796 | objects compiled and loaded using the compiler option "reload(skip)". |
|---|
| 1797 | |
|---|
| 1798 | Allow non-instantiated arguments at compile time for the multi-threading |
|---|
| 1799 | built-in predicate threaded/1. |
|---|
| 1800 | |
|---|
| 1801 | Simplified and optimized the implementation of Logtalk multi-threading |
|---|
| 1802 | support. Use a single dispatcher thread for all objects instead of each |
|---|
| 1803 | object running its own dispatcher in order to minimize the number of |
|---|
| 1804 | created threads (which can be problematic on 32 bits systems). Updated |
|---|
| 1805 | the built-in predicate threaded/1 to make it deterministic and opaque to |
|---|
| 1806 | cuts (similar to once/1). |
|---|
| 1807 | |
|---|
| 1808 | Updated the Logtalk built-in database methods to always interpret rules |
|---|
| 1809 | whose body is the control construct true/0 as facts. Corrected a bug when |
|---|
| 1810 | compiling dynamic predicates that would prevent using of the clause/2 |
|---|
| 1811 | built-in database method. Corrected a bug when using the Logtalk built-in |
|---|
| 1812 | database method clause/2 with entities compiled in debug mode. Improved |
|---|
| 1813 | predicate lookup caching when asserting and retracting dynamic facts. |
|---|
| 1814 | |
|---|
| 1815 | Improved detection and reporting of entity existence errors. |
|---|
| 1816 | |
|---|
| 1817 | Added a quit option, "q", to the Logtalk built-in debugger. Modified |
|---|
| 1818 | the debugger behavior to automatically switch to trace mode when a spy |
|---|
| 1819 | point is found. |
|---|
| 1820 | |
|---|
| 1821 | Added two new compiler options, "xmldir" and "tmpdir", allowing per |
|---|
| 1822 | project definition of directories for storing XML documenting files |
|---|
| 1823 | and for storing intermediate compilation files (e.g. Prolog files). |
|---|
| 1824 | Removed the config file predicate '$lgt_alt_directory'/2. |
|---|
| 1825 | Older config files are incompatible with this new Logtalk version. |
|---|
| 1826 | |
|---|
| 1827 | Added a shortcut to the Logtalk built-in predicate logtalk_load/1, {}/1, |
|---|
| 1828 | to all config files (defined there in order to be easy to comment it out |
|---|
| 1829 | in case of conflict with some Prolog native feature or lack of compliance |
|---|
| 1830 | with the ISO Prolog standard regarding the definition of the {}/1 syntax. |
|---|
| 1831 | |
|---|
| 1832 | Allow the compiler flag "misspelt" to be set to "error". |
|---|
| 1833 | |
|---|
| 1834 | Updated the Logtalk compiler to not try to clean-up the dynamic predicates |
|---|
| 1835 | of redefined entities when reloading source files. Most Prolog compilers |
|---|
| 1836 | already behave as expected when reloading the intermediate Prolog files |
|---|
| 1837 | generated by the Logtalk compiler. For those Prolog compilers that do not |
|---|
| 1838 | replace old definitions for dynamic predicates with the new ones, it is |
|---|
| 1839 | not possible for Logtalk to implement a workaround that would work |
|---|
| 1840 | correctly in all cases. Consult the "configs/NOTES.txt" file for more |
|---|
| 1841 | information. |
|---|
| 1842 | |
|---|
| 1843 | Corrected a bug that prevents abolishing a dynamic entity loaded from a |
|---|
| 1844 | source file. Thanks to Victor Noel for the bug report. |
|---|
| 1845 | |
|---|
| 1846 | Renamed the '$lgt_copy_pl_directive'/1 and '$lgt_rewrite_pl_directive'/2 |
|---|
| 1847 | config files predicates to '$lgt_rewrite_and_copy_pl_directive'/2 and |
|---|
| 1848 | '$lgt_rewrite_and_recompile_pl_directive'/2. |
|---|
| 1849 | |
|---|
| 1850 | Updated the config file for B-Prolog to match (and require) the new 7.0 |
|---|
| 1851 | version; updated and simplified the corresponding integration scripts. |
|---|
| 1852 | |
|---|
| 1853 | Updated the XSB POSIX integration script to automatically detect if we |
|---|
| 1854 | are running the XSB stable version of the XSB CVS version. |
|---|
| 1855 | |
|---|
| 1856 | Added basic support for tabling to the config files of B-Prolog, XSB, |
|---|
| 1857 | and YAP. Added a simple example of using tabling directives within |
|---|
| 1858 | objects. |
|---|
| 1859 | |
|---|
| 1860 | Updated the SWI-Prolog and YAP config files to automatically detect if |
|---|
| 1861 | the Prolog systems have been compiled with multi-threading support and |
|---|
| 1862 | to set the Logtalk compiler flag "threads" accordingly. |
|---|
| 1863 | |
|---|
| 1864 | Corrected a bug when running Logtalk with SWI-Prolog that prevented the |
|---|
| 1865 | use of alternative compilation directories (i.e. turning on the "altdirs" |
|---|
| 1866 | compiler flag). Corrected a bug when running Logtalk with SWI-Prolog that |
|---|
| 1867 | can prevent make/0 from recompiling and reloading modified Logtalk source |
|---|
| 1868 | files. Updated the SWI-Prolog integration script, "swilgt.sh", to more |
|---|
| 1869 | reliably detect the compiler executable name. |
|---|
| 1870 | |
|---|
| 1871 | Added a "configs/swi_set_logtalk_context.pl" file defining a useful but |
|---|
| 1872 | fragile hack implementing a set_logtalk_context/1 built-in predicate for |
|---|
| 1873 | switching the Logtalk top-level execution context to objects other than |
|---|
| 1874 | the default pseudo-object "user" (you may use it as a debugging tool). |
|---|
| 1875 | |
|---|
| 1876 | Updated the CxProlog config file to use the new built-in predicates in |
|---|
| 1877 | version 0.95. Added a shell script, "cxlgt.sh", for easy integration of |
|---|
| 1878 | Logtalk with CxProlog on POSIX systems (with the help of Artur Miguel |
|---|
| 1879 | Dias, CxProlog author). |
|---|
| 1880 | |
|---|
| 1881 | Updated the Ciao, K-Prolog, and ECLiPSe config files to set the default |
|---|
| 1882 | value for the compiler flag "underscore_vars" to "dont_care" in order to |
|---|
| 1883 | avoid spurious warnings with some of the provided examples. |
|---|
| 1884 | |
|---|
| 1885 | Added a config file and integration scripts for the current XSB CVS |
|---|
| 1886 | version (3.0.1+), which supports some features needed by Logtalk not |
|---|
| 1887 | present in the current stable version (namely, expansion of environment |
|---|
| 1888 | variables). |
|---|
| 1889 | |
|---|
| 1890 | Added predicates depth/2 and variant/2 to the library object "term". |
|---|
| 1891 | |
|---|
| 1892 | Much improved "benchmarks" example, updated to allow running tests in |
|---|
| 1893 | three different scenarios: event support on, event support off, and |
|---|
| 1894 | using static binding. Moreover, metacalls are no longer used to run |
|---|
| 1895 | the benchmark goals, resulting in more meaningful and accurate results. |
|---|
| 1896 | |
|---|
| 1897 | Removed all the "make_*lgt.*" and "makeall_lgt.*" shell scripts, replaced |
|---|
| 1898 | by pre-made integration scripts that can be found on the new "integration" |
|---|
| 1899 | directory. Removed the "lgt_install.js" script. Renamed the POSIX install |
|---|
| 1900 | and uninstall scripts to, respectively, "install.sh" and "uninstall.sh". |
|---|
| 1901 | Updated the integration, uninstall, and user-setup POSIX shell scripts |
|---|
| 1902 | to use "$prefix/share/logtalk" as the default installation directory to |
|---|
| 1903 | better comply with the Filesystem Hierarchy Standard 2.3 for UNIX-like |
|---|
| 1904 | operating systems. |
|---|
| 1905 | |
|---|
| 1906 | Updated the integration scripts to automatically call the "cplgtdirs" |
|---|
| 1907 | script when the Logtalk user directory cannot be located. |
|---|
| 1908 | |
|---|
| 1909 | Updated the integration, documentation, uninstall, and user-setup POSIX |
|---|
| 1910 | shell scripts to try to locate the Logtalk installation directory and the |
|---|
| 1911 | Logtalk user directory when the environment variables LOGTALKHOME and |
|---|
| 1912 | LOGTALKUSER are not set. |
|---|
| 1913 | |
|---|
| 1914 | Updated the "install.sh" POSIX shell script to better clean and sanitize |
|---|
| 1915 | the file permissions on the installation directory. |
|---|
| 1916 | |
|---|
| 1917 | Updated the "build_release.sh" POSIX shell script to also build a Debian |
|---|
| 1918 | binary installer package (experimental). |
|---|
| 1919 | |
|---|
| 1920 | The Windows GUI installer no longer spans command-line shells running |
|---|
| 1921 | JScript scripts to build the Prolog integration shortcuts. This hopefully |
|---|
| 1922 | solves issues with security software silently blocking and breaking the |
|---|
| 1923 | Logtalk installation. |
|---|
| 1924 | |
|---|
| 1925 | Added basic syntax coloring support for the GNU Nano 2.x text editor. |
|---|
| 1926 | |
|---|
| 1927 | |
|---|
| 1928 | 2.29.5 - March 28, 2007 |
|---|
| 1929 | |
|---|
| 1930 | Added a new built-in predicate, threaded/1, for proving each goal in |
|---|
| 1931 | a conjunction in its own thread, simplifying common multi-threading |
|---|
| 1932 | tasks that previously required sequences of calls to the built-in |
|---|
| 1933 | predicates threaded_call/1 and threaded_exit/1. |
|---|
| 1934 | |
|---|
| 1935 | Simplified and optimized the implementation of Logtalk multi-threading |
|---|
| 1936 | support. |
|---|
| 1937 | |
|---|
| 1938 | Simplified implementation of the database built-in methods. Simplified |
|---|
| 1939 | caching of dynamic predicate lookups. Improved performance of the |
|---|
| 1940 | built-in methods retract/1 and retractall/1. |
|---|
| 1941 | |
|---|
| 1942 | Simplified the code generated when compiling entities in debugging mode. |
|---|
| 1943 | |
|---|
| 1944 | Corrected a bug in the built-in debugger when processing actions at a |
|---|
| 1945 | port that implies reading a port action again (e.g. print exception term, |
|---|
| 1946 | print debugging status, and help options). Allow the debugger command |
|---|
| 1947 | "skip" to work as the command "creep" in ports other than "call" and |
|---|
| 1948 | "redo". Added a new debugger command, "ignore". Suspend debugging when |
|---|
| 1949 | using the "break" debugger command. |
|---|
| 1950 | |
|---|
| 1951 | Generate a compilation error instead of just printing a warning when |
|---|
| 1952 | compiling calls to the multi-threading built-in predicates within an |
|---|
| 1953 | object with no threaded/0 directive present. |
|---|
| 1954 | |
|---|
| 1955 | Corrected a bug when compiling entities containing synchronization |
|---|
| 1956 | directives on single-threaded Prolog configurations. |
|---|
| 1957 | |
|---|
| 1958 | Improving reporting of working directory when loading or compiling source |
|---|
| 1959 | files by expanding any environment variables occurring in the path. |
|---|
| 1960 | |
|---|
| 1961 | Added a new compiler option, "reload", for defining the Logtalk behavior |
|---|
| 1962 | when reloading source files. Valid values are "always" (default value; |
|---|
| 1963 | defined in the config files) and "skip". |
|---|
| 1964 | |
|---|
| 1965 | Updated the programming examples to use the new "reload" compiler option |
|---|
| 1966 | when loading library entities. Simplified loading of example source files |
|---|
| 1967 | (by updating the utility loader files to automatically load all required |
|---|
| 1968 | library files). |
|---|
| 1969 | |
|---|
| 1970 | Updated GNU Prolog config file to take advantage of some built-in list |
|---|
| 1971 | predicates (requires version 1.2.14 or later); changed the compiler flag |
|---|
| 1972 | "underscore_vars" value to "dont_care" to avoid spurious warnings with |
|---|
| 1973 | some examples. |
|---|
| 1974 | |
|---|
| 1975 | Added a config file for B-Prolog 7.0b1. |
|---|
| 1976 | |
|---|
| 1977 | Updated the POSIX integration shell scripts to pass along any command |
|---|
| 1978 | line options to the corresponding Prolog compiler and to prevent some |
|---|
| 1979 | problems with paths containing spaces. |
|---|
| 1980 | |
|---|
| 1981 | Much improved syntax coloring and code completion support for the jEdit |
|---|
| 1982 | text editor. |
|---|
| 1983 | |
|---|
| 1984 | Updated the "threads/primes" example to use the new "threaded/1" built-in |
|---|
| 1985 | predicate. Updated the "threads/birthdays" example to better illustrate |
|---|
| 1986 | the use of the built-in multi-threading predicates. Added a new |
|---|
| 1987 | multi-threading example, "msort", implementing single-threaded and |
|---|
| 1988 | multi-threaded versions of the merge sort algorithm. |
|---|
| 1989 | |
|---|
| 1990 | Expanded the "operators" example to illustrate a simple solution for |
|---|
| 1991 | making operators local to source files (but global to all entities |
|---|
| 1992 | defined within the source files). |
|---|
| 1993 | |
|---|
| 1994 | |
|---|
| 1995 | 2.29.4 - February 19, 2007 |
|---|
| 1996 | |
|---|
| 1997 | Added a new library category, "listing", defining listing/0 and |
|---|
| 1998 | listing/1 methods for helping in debugging tasks. |
|---|
| 1999 | |
|---|
| 2000 | Added two new experimental multi-threading predicates, threaded_wait/1 |
|---|
| 2001 | and threaded_notify/1, which allows suspension of a thread's goal until |
|---|
| 2002 | a notification is received. Added two new examples, "threads/buffer" and |
|---|
| 2003 | "threads/blackboard", illustrating the use of these predicates. |
|---|
| 2004 | |
|---|
| 2005 | Simplified and changed implementation of the threaded built-in |
|---|
| 2006 | predicates in order to ensure that the threaded/0 directive is only |
|---|
| 2007 | required on objects calling these predicates. |
|---|
| 2008 | |
|---|
| 2009 | Only print a warning for a missing threaded/0 directive for objects. |
|---|
| 2010 | |
|---|
| 2011 | Corrected a ordering bug on the entity initialization goal that |
|---|
| 2012 | prevented using an object initialization goal that make use of |
|---|
| 2013 | the object thread. |
|---|
| 2014 | |
|---|
| 2015 | Corrected a bug when asserting rules into an object's database that |
|---|
| 2016 | resulted in only the first asserted rule being visible when calling |
|---|
| 2017 | the predicate through message sending. Thanks to Parker Jones for |
|---|
| 2018 | the bug report. |
|---|
| 2019 | |
|---|
| 2020 | Corrected a bug when compiling dynamic entities (defined in source |
|---|
| 2021 | files using the dynamic/0 directive) where declared predicates would |
|---|
| 2022 | be wrongly compiled as static instead of dynamic. |
|---|
| 2023 | |
|---|
| 2024 | Updated the "make_xsblgt.sh" integration script again to fix an |
|---|
| 2025 | additional problem resulting from the lack of support in XSB for |
|---|
| 2026 | using environment variables in file paths. |
|---|
| 2027 | |
|---|
| 2028 | Added minimal support for using Exuberant Ctags with Logtalk. |
|---|
| 2029 | |
|---|
| 2030 | Added auto indent support to the jEdit text editor. |
|---|
| 2031 | |
|---|
| 2032 | Added support for listing public predicates in the "Functions" window |
|---|
| 2033 | of the SuperEdi text editor. |
|---|
| 2034 | |
|---|
| 2035 | Converted TextMate code snippets from the old Property List format |
|---|
| 2036 | to XML in order to provide compatibility with the "e" Windows text |
|---|
| 2037 | editor. |
|---|
| 2038 | |
|---|
| 2039 | New example: 99 bottles of beer on the wall! Sing along! |
|---|
| 2040 | |
|---|
| 2041 | |
|---|
| 2042 | 2.29.3 - January 15, 2007 |
|---|
| 2043 | |
|---|
| 2044 | Corrected a bug in the Logtalk compiler optimizer code which was |
|---|
| 2045 | discarding some declaration and definition catchall clauses needed |
|---|
| 2046 | by the Logtalk built-in database methods when there is no initial |
|---|
| 2047 | declaration and definition for the referenced dynamic predicates. |
|---|
| 2048 | Thanks to Parker Jones for the bug report. |
|---|
| 2049 | |
|---|
| 2050 | Corrected a bug in the compilation of empty, standalone protocols |
|---|
| 2051 | and categories. |
|---|
| 2052 | |
|---|
| 2053 | Updated the "make_xsblgt.sh" integration script to workaround |
|---|
| 2054 | the lack of support in XSB for using environment variables in |
|---|
| 2055 | the argument of the reconsult/1 predicate. |
|---|
| 2056 | |
|---|
| 2057 | Corrected a bug in the "potions.lgt" example puzzle that prevented |
|---|
| 2058 | its solution of being found. |
|---|
| 2059 | |
|---|
| 2060 | |
|---|
| 2061 | 2.29.2 - January 10, 2007 |
|---|
| 2062 | |
|---|
| 2063 | Silently compile synchronized predicates as normal predicates on |
|---|
| 2064 | single-threaded Prolog compilers. |
|---|
| 2065 | |
|---|
| 2066 | When using the threaded_race/1 predicate, competing threads are |
|---|
| 2067 | now created detached. |
|---|
| 2068 | |
|---|
| 2069 | Corrected a bug that resulted in a loading error when reloading |
|---|
| 2070 | source files defining threaded objects. |
|---|
| 2071 | |
|---|
| 2072 | Corrected a bug in the implementation of the built-in predicate |
|---|
| 2073 | threaded_peek/1 that prevented alternative solutions from being |
|---|
| 2074 | retrieved using the built-in predicate threaded_exit/1. Removed |
|---|
| 2075 | the built-in predicate threaded_discard/1. |
|---|
| 2076 | |
|---|
| 2077 | The library object "random" is now a synchronized object. Updated |
|---|
| 2078 | the "philosophers" multi-threading example accordingly. |
|---|
| 2079 | |
|---|
| 2080 | Dropped loading of broken "cleanup" library from the YAP config file |
|---|
| 2081 | (the call_cleanup/2 predicate, required for Logtalk multi-threading, |
|---|
| 2082 | is now available as a built-in predicate in the YAP CVS version). |
|---|
| 2083 | |
|---|
| 2084 | |
|---|
| 2085 | 2.29.1 - December 28, 2006 |
|---|
| 2086 | |
|---|
| 2087 | Added a Logtalk version of John Fletcher's Prolog XML parser (see the |
|---|
| 2088 | folder "contributions/xml_parser"). |
|---|
| 2089 | |
|---|
| 2090 | Added shell scripts for helping building the distribution files of a |
|---|
| 2091 | new Logtalk release. Updated the MacOS X installer package to set |
|---|
| 2092 | default values for the Logtalk environment variables. Corrected a bug |
|---|
| 2093 | in the "logtalk.spec" file where the default value for the LOGTALKUSER |
|---|
| 2094 | environment variable only worked for the user doing the RPM installation. |
|---|
| 2095 | |
|---|
| 2096 | Corrected a bug in the reporting of the line number where a compilation |
|---|
| 2097 | error (or warning) occurred. Extended support for reporting warning and |
|---|
| 2098 | error line numbers to Quintus Prolog, Ciao Prolog, Qu-Prolog, and |
|---|
| 2099 | ECLiPSe. |
|---|
| 2100 | |
|---|
| 2101 | Corrected a bug when using partial lists with the predicates nth0/3-4 |
|---|
| 2102 | and nth1/3-4 provided by the "list" library object. |
|---|
| 2103 | |
|---|
| 2104 | Improved "philosophers" multi-threading programming example. |
|---|
| 2105 | |
|---|
| 2106 | |
|---|
| 2107 | 2.29.0 - December 18, 2006 |
|---|
| 2108 | |
|---|
| 2109 | Added a new built-in, empty object named "logtalk", which can play the |
|---|
| 2110 | role of both a class and a prototype. It may be used to define class |
|---|
| 2111 | hierarchies without forcing the use of metaclasses or reflective |
|---|
| 2112 | designs. |
|---|
| 2113 | |
|---|
| 2114 | Added a built-in protocol named "monitoring" with declarations for |
|---|
| 2115 | the before/3 and after/3 public event handler predicates. Updated |
|---|
| 2116 | the Logtalk compiler to print a warning when defining an event handler |
|---|
| 2117 | with no reference to the "monitoring" protocol. |
|---|
| 2118 | |
|---|
| 2119 | The default value of the compiler flag events/1 is now off. As most |
|---|
| 2120 | applications do not use events, this setting ensures the best possible |
|---|
| 2121 | message processing performance for those applications. |
|---|
| 2122 | |
|---|
| 2123 | Removed the experimental threaded_call/2 and threaded_exit/2 thread |
|---|
| 2124 | predicates, replaced by new threaded_once/1, threaded_ignore/1, |
|---|
| 2125 | threaded_race/1, threaded_peek/1, and threaded_discard/1 predicates. |
|---|
| 2126 | Renamed predicate directive atomic/1 to synchronized/1. Added new |
|---|
| 2127 | entity directive synchronized/0. Added support for new "synchronized" |
|---|
| 2128 | and "threaded" entity properties. |
|---|
| 2129 | |
|---|
| 2130 | Corrected a bug when using threaded calls as initialization goals |
|---|
| 2131 | within threaded objects. |
|---|
| 2132 | |
|---|
| 2133 | Corrected an elusive bug in the Logtalk compiler where a source file |
|---|
| 2134 | may not be properly closed when it contains a syntax error (thanks |
|---|
| 2135 | to Robert Shiplett for the bug report). |
|---|
| 2136 | |
|---|
| 2137 | Corrected a bug in the implementation of the built-in methods retract/1 |
|---|
| 2138 | and retractall/1 that could result in unexpected exceptions. Updated |
|---|
| 2139 | the built-in method assertz/1 to always use the lookup cache. |
|---|
| 2140 | |
|---|
| 2141 | Corrected a bug in the compilation of empty classes that are not |
|---|
| 2142 | instances of a metaclass. |
|---|
| 2143 | |
|---|
| 2144 | Corrected a bug in the built-in method predicate_property/2 where some |
|---|
| 2145 | predicate properties may not be returned when enumerating properties |
|---|
| 2146 | using backtracking. |
|---|
| 2147 | |
|---|
| 2148 | Modified the SWI-Prolog config file and integration scripts to set |
|---|
| 2149 | the flag "iso" to "true". Corrected an elusive bug in the definition |
|---|
| 2150 | of predicate '$lgt_directory_exists'/1 that resulted in "library not |
|---|
| 2151 | found" errors when loading Logtalk source files from within the |
|---|
| 2152 | SWI-Prolog initialization file (thanks to Robert Shiplett for the bug |
|---|
| 2153 | report). |
|---|
| 2154 | |
|---|
| 2155 | Updated the K-Prolog config file to workaround a problem when using |
|---|
| 2156 | library notation due to failure to check directory existence with the |
|---|
| 2157 | provided "libpaths.pl" file. |
|---|
| 2158 | |
|---|
| 2159 | Added a RELAX NG file describing the structure of the XML documenting |
|---|
| 2160 | files generated by Logtalk. |
|---|
| 2161 | |
|---|
| 2162 | Corrected a bug in the Logtalk DTD file (missing "copyright" tag |
|---|
| 2163 | declaration). |
|---|
| 2164 | |
|---|
| 2165 | Corrected a bug in the lgt2*.js scripts where the "custom.ent" file |
|---|
| 2166 | was not being copied when generating (X)HTML and PDF files. |
|---|
| 2167 | |
|---|
| 2168 | Added a new multi-threading example, "philosophers", illustrating a |
|---|
| 2169 | possible implementation of the "dining philosophers" problem. |
|---|
| 2170 | |
|---|
| 2171 | Improved the "metapredicates" example in order to illustrate the use |
|---|
| 2172 | of closures instead of goals as meta-arguments. |
|---|
| 2173 | |
|---|
| 2174 | Added a reference to the "e" Windows text editor, which supports |
|---|
| 2175 | the MacOS X TextMate 1.x text editor syntax configuration files. |
|---|
| 2176 | |
|---|
| 2177 | Updated the manuals index pages in order to workaround browsers bugs |
|---|
| 2178 | with parsing of empty "span" tags (e.g. Internet Explorer and Opera). |
|---|
| 2179 | |
|---|
| 2180 | |
|---|
| 2181 | 2.28.2 - November 6, 2006 |
|---|
| 2182 | |
|---|
| 2183 | Corrected a compiler bug where unknown entities will not be report when |
|---|
| 2184 | compiling a source file whenever an entity with the same name but of a |
|---|
| 2185 | different type is already known. |
|---|
| 2186 | |
|---|
| 2187 | Added a XPCE hook file ("configs/xpcehook.pl") supporting Logtalk message |
|---|
| 2188 | sending goals as XPCE call-back goals. The XPCE library is now loaded by |
|---|
| 2189 | default by the SWI-Prolog integration scripts. |
|---|
| 2190 | |
|---|
| 2191 | Added support for generating single PDF files of the User and Reference |
|---|
| 2192 | Manuals. Removed the PDF versions of the individual manual XHTML pages. |
|---|
| 2193 | |
|---|
| 2194 | The ECLiPSe config files now require release 5.10#26 or a later version. |
|---|
| 2195 | |
|---|
| 2196 | Added support for listing Logtalk entity names (objects, categories, and |
|---|
| 2197 | protocols) in the SubEthaEdit symbols menu. |
|---|
| 2198 | |
|---|
| 2199 | Added a Vim dictionary file for Logtalk keyword completion and support |
|---|
| 2200 | for automatic indentation. |
|---|
| 2201 | |
|---|
| 2202 | Added basic support for the MacOS X Smultron text editor. Added basic |
|---|
| 2203 | support for the Notepad++, SuperEdi, and ConTEXT Windows text editors. |
|---|
| 2204 | |
|---|
| 2205 | |
|---|
| 2206 | 2.28.1 - October 10, 2006 |
|---|
| 2207 | |
|---|
| 2208 | Added support for using XML entities using the notation "{entity name}" |
|---|
| 2209 | in info/1 documenting directives for the "author", "copyright", and |
|---|
| 2210 | "license" keywords. The XML entities are defined on a "custom.ent" file. |
|---|
| 2211 | |
|---|
| 2212 | Updated Logtalk bibliographic references (in file "BIBLIOGRAPHY.bib"). |
|---|
| 2213 | |
|---|
| 2214 | Added a "lgt_uninstall.sh" shell script for uninstalling Logtalk on POSIX |
|---|
| 2215 | operating systems. |
|---|
| 2216 | |
|---|
| 2217 | Improved RPM install-time messages on the defined Logtalk environment |
|---|
| 2218 | variables. |
|---|
| 2219 | |
|---|
| 2220 | Updated the ECLiPSe integration scripts and config files to work with |
|---|
| 2221 | and require version 5.10 (the first open source version of ECLiPSe). |
|---|
| 2222 | |
|---|
| 2223 | Corrected a typo on the "logtalk.dtd" file that prevents validation of |
|---|
| 2224 | XML documenting files that use a local reference to the DTD. |
|---|
| 2225 | |
|---|
| 2226 | |
|---|
| 2227 | 2.28.0 - September 28, 2006 |
|---|
| 2228 | |
|---|
| 2229 | Updated the Logtalk license to the final version of the "The Artistic |
|---|
| 2230 | License 2.0" (see http://www.perlfoundation.org/legal/ for details). |
|---|
| 2231 | |
|---|
| 2232 | Added experimental support for multi-threading programming on selected |
|---|
| 2233 | Prolog compilers. Added a new object directive, threaded/0, a new |
|---|
| 2234 | predicate directive, atomic/1, and four new built-in predicates, |
|---|
| 2235 | threaded_call/1-2 and threaded_exit/1-2. Added a new set of examples, |
|---|
| 2236 | "threads". Thanks to Paulo Nunes for helping developing and testing |
|---|
| 2237 | these new features. |
|---|
| 2238 | |
|---|
| 2239 | Expanded support for meta-predicates by allowing the declaration of meta- |
|---|
| 2240 | arguments as closures instead of goals. |
|---|
| 2241 | |
|---|
| 2242 | Added the generalized call/N predicate as a built-in method. This built-in |
|---|
| 2243 | method must be used in the implementation of meta-predicates which work |
|---|
| 2244 | with closures instead of goals. |
|---|
| 2245 | |
|---|
| 2246 | The metapredicate/1 directive should be considered deprecated. Use the |
|---|
| 2247 | meta_predicate/1 directive instead. |
|---|
| 2248 | |
|---|
| 2249 | Updated the Logtalk compiler to generate an error whenever a non-variable |
|---|
| 2250 | meta-argument is found in a clause head of a user-defined meta-predicate. |
|---|
| 2251 | |
|---|
| 2252 | Improved compilation of meta-predicate meta-arguments. Corrected a bug |
|---|
| 2253 | in the compilation of user meta-predicates that allowed illegal calls |
|---|
| 2254 | to non-public predicates on the caller object to be made from the object |
|---|
| 2255 | defining the meta-predicates. Thanks to Rémy Haemmerlé and François |
|---|
| 2256 | Fages for reporting the problem. |
|---|
| 2257 | |
|---|
| 2258 | Improved performance for non-cached messages, notably when running with |
|---|
| 2259 | YAP, GNU Prolog, and SWI-Prolog on all operating systems and with SICStus |
|---|
| 2260 | Prolog 4.0 on POSIX operating systems. |
|---|
| 2261 | |
|---|
| 2262 | Updated the Logtalk compiler to generate an error whenever a predicate |
|---|
| 2263 | directive appears in a source file after predicate clauses that call the |
|---|
| 2264 | predicate specified in the directive. |
|---|
| 2265 | |
|---|
| 2266 | Added support for "copyright" and "license" keys to the info/1 entity |
|---|
| 2267 | documenting directive. |
|---|
| 2268 | |
|---|
| 2269 | Improved compiler error messages to also report source file line number |
|---|
| 2270 | for selected Prolog compilers. |
|---|
| 2271 | |
|---|
| 2272 | Added PDF versions of all the manual XHTML pages. Added links to all the |
|---|
| 2273 | manual XHTML pages to the corresponding PDF versions. |
|---|
| 2274 | |
|---|
| 2275 | Corrected a bug (introduced in version 2.27.0) in the built-in predicates |
|---|
| 2276 | abolish_object/1, abolish_protocol/1, and abolish_category/1 that resulted |
|---|
| 2277 | in some clauses not being retracted when an object is abolished (thanks to |
|---|
| 2278 | Neng-Fa Zhou for the bug report). |
|---|
| 2279 | |
|---|
| 2280 | Corrected a bug (introduced in version 2.27.1) in the processing of the |
|---|
| 2281 | term_expansion/2 predicate. |
|---|
| 2282 | |
|---|
| 2283 | Corrected a bug in the compilation of redefined built-in predicates with |
|---|
| 2284 | no clauses. |
|---|
| 2285 | |
|---|
| 2286 | Added an experimental config file for CxProlog 0.93.1. |
|---|
| 2287 | |
|---|
| 2288 | Updated the SWI-Prolog config and hook files in order to support the |
|---|
| 2289 | edit/1 and make/0 development predicates. |
|---|
| 2290 | |
|---|
| 2291 | Changed the Logtalk - SWI-Prolog integration scripts to load the hook |
|---|
| 2292 | file "swihook.pl" after the other files in order to avoid some possible |
|---|
| 2293 | errors at startup. |
|---|
| 2294 | |
|---|
| 2295 | Updated the config file for the forthcoming SICStus Prolog 4.0 version |
|---|
| 2296 | to work in the current beta version. Modified the "make_sicstuslgt.*" |
|---|
| 2297 | shell scripts to work with both SICStus Prolog 3.12 and 4.0 versions. |
|---|
| 2298 | |
|---|
| 2299 | Updated the config file for YAP to workaround a problem on the Windows |
|---|
| 2300 | version where testing for directory existence fails if the path ends with |
|---|
| 2301 | a slash (or a double backslash); this problem prevents the use of library |
|---|
| 2302 | notation to load source files (problem already fixed in the current YAP |
|---|
| 2303 | CVS version). |
|---|
| 2304 | |
|---|
| 2305 | Updated the config file for B-Prolog to match (and require) the new 6.9 |
|---|
| 2306 | version; added integration shell scripts (for both Windows and POSIX |
|---|
| 2307 | systems). |
|---|
| 2308 | |
|---|
| 2309 | Updated the config files and the integration scripts for ECLiPSe in order |
|---|
| 2310 | to workaround bugs on the predicates abolish/1 and canonical_path_name/2. |
|---|
| 2311 | Modified the "make_eclipselgt.js" script to work with both ECLiPSe 5.8 |
|---|
| 2312 | and 5.9 versions. |
|---|
| 2313 | |
|---|
| 2314 | Dropped support for versions of XSB older than 3.0. Added support for |
|---|
| 2315 | smart compilation of source files to the XSB config file. |
|---|
| 2316 | |
|---|
| 2317 | Updated the config file for IF/Prolog 5.1 by adding a missing definition |
|---|
| 2318 | for predicate retractall/1 and avoiding some harmless singleton warnings. |
|---|
| 2319 | |
|---|
| 2320 | Add a ".txt" extension to all "NOTES" and "SCRIPT" files. |
|---|
| 2321 | |
|---|
| 2322 | Extended "dcgs", "parametric", and "metainterpreters" examples. |
|---|
| 2323 | |
|---|
| 2324 | Added Inno Setup GUI Windows installer script. |
|---|
| 2325 | |
|---|
| 2326 | Update all the JScript scripts to check if a compatible version of WSH |
|---|
| 2327 | is installed and to workaround some problems with spaces in file paths. |
|---|
| 2328 | |
|---|
| 2329 | Updated the "lgt_install.js" JScript script to copy the scripts/*.bat and |
|---|
| 2330 | the xml/*.bat batch scripts to the system's Windows directory instead of |
|---|
| 2331 | modifying the PATH environment variable. |
|---|
| 2332 | |
|---|
| 2333 | Updated the "cplgtdirs.*" shell scripts to make a backup copy of any |
|---|
| 2334 | previous LOGTALKUSER directory. |
|---|
| 2335 | |
|---|
| 2336 | Added post-install scripts to the LINUX RPM "logtalk.spec" file for |
|---|
| 2337 | setting the environment variable LOGTALKHOME for all users, defining |
|---|
| 2338 | a default value for the environment variable LOGTALKUSER, and running |
|---|
| 2339 | the Prolog integration scripts. |
|---|
| 2340 | |
|---|
| 2341 | Split the installation and customization instructions in two files, |
|---|
| 2342 | "INSTALL.txt" and "CUSTOMIZE.txt". |
|---|
| 2343 | |
|---|
| 2344 | Added shell scripts for converting the manual XHTML pages into PDF files |
|---|
| 2345 | using CSSToXSLFO. |
|---|
| 2346 | |
|---|
| 2347 | |
|---|
| 2348 | 2.27.1 - March 27, 2006 |
|---|
| 2349 | |
|---|
| 2350 | Allow calls to the built-in method parameter/2 with the first argument |
|---|
| 2351 | not instantiated at compile time. Detect and report as a compilation |
|---|
| 2352 | error parameter/2 indexes that are out of range. |
|---|
| 2353 | |
|---|
| 2354 | Optimized generation of predicate definition and declaration linking |
|---|
| 2355 | clauses, resulting in small lookup performance improvements and in space |
|---|
| 2356 | savings for the Prolog code generated when compiling Logtalk entities. |
|---|
| 2357 | |
|---|
| 2358 | Many minor code and documentation improvements to the Logtalk compiler. |
|---|
| 2359 | |
|---|
| 2360 | Added an object version of the tokenizer described in the Michael |
|---|
| 2361 | Covington's paper "Tokenization using DCG Rules" to the "dcgs" example. |
|---|
| 2362 | |
|---|
| 2363 | Improved integration code for Qu-Prolog and Logtalk ("configs/qphook.ql"). |
|---|
| 2364 | |
|---|
| 2365 | Improved library hierarchy methods that return lists of objects in order |
|---|
| 2366 | to avoid duplicated elements (library objects "proto_hierarchy.lgt" and |
|---|
| 2367 | "class_hierarchy.lgt"). Added new methods extension/1 and extensions/1 to |
|---|
| 2368 | the library object "proto_hierarchy.lgt". |
|---|
| 2369 | |
|---|
| 2370 | Documented the concept of "parametric object proxy". Added a new example, |
|---|
| 2371 | "proxies", illustrating the use of parametric object proxies. |
|---|
| 2372 | |
|---|
| 2373 | Added support for code completion and for listing entity names on the |
|---|
| 2374 | symbol pop-up menu to the MacOS X TextMate text editor. |
|---|
| 2375 | |
|---|
| 2376 | Updated the "cplgtdirs.*" scripts to also create an alias/shortcut to the |
|---|
| 2377 | "wenv" directory. |
|---|
| 2378 | |
|---|
| 2379 | Renamed the alternative compilation and documentation directory names on |
|---|
| 2380 | all config files to be compatible across operating-systems. Removed unused |
|---|
| 2381 | predicate '$lgt_reverse'/2 from all config files. |
|---|
| 2382 | |
|---|
| 2383 | Updated HTML manuals "print.css" CSS file for compatibility with the |
|---|
| 2384 | latest version of CSSToXSLFO. |
|---|
| 2385 | |
|---|
| 2386 | |
|---|
| 2387 | 2.27.0 - February 9, 2006 |
|---|
| 2388 | |
|---|
| 2389 | Improved performance for local calls to the built-in methods phrase/2-3. |
|---|
| 2390 | Allow the built-in methods phrase/2-3 to accept both partial and proper |
|---|
| 2391 | lists of terminals. |
|---|
| 2392 | |
|---|
| 2393 | Improved grammar rule translator. Report calls to undefined non-terminals |
|---|
| 2394 | when translating grammar rules. |
|---|
| 2395 | |
|---|
| 2396 | Added support for declaring grammar rule non-terminal aliases using the |
|---|
| 2397 | alias/3 directive. |
|---|
| 2398 | |
|---|
| 2399 | Added a new predicate property, non_terminal/1, for predicates resulting |
|---|
| 2400 | from the compilation of grammar rule non-terminals. |
|---|
| 2401 | |
|---|
| 2402 | Improved support for the built-in method expand_term/2 in order to allow |
|---|
| 2403 | bypassing of the default Logtalk grammar rule translator by defining |
|---|
| 2404 | clauses for the term_expansion/2 predicate. Added a "term_expansionp" |
|---|
| 2405 | protocol to the Logtalk library. Added a new example, "expansion", |
|---|
| 2406 | illustrating the use of the term_expansion/2 predicate. |
|---|
| 2407 | |
|---|
| 2408 | Added a new compiler flag, hook/1, allowing the specification of a |
|---|
| 2409 | compiler hook that is called for which term read from a source file. |
|---|
| 2410 | Added a simple example, "hooks", of using the Logtalk compiler hook |
|---|
| 2411 | to expand author abbreviations in info/1 directives into full names |
|---|
| 2412 | and email addresses. |
|---|
| 2413 | |
|---|
| 2414 | Added support for XSB 3.x to the runtime error handler. Updated the XSB |
|---|
| 2415 | 3.x config file with declarations for multi-threading meta-predicates. |
|---|
| 2416 | |
|---|
| 2417 | Removed a few choice-points when checking validity of entity directives. |
|---|
| 2418 | |
|---|
| 2419 | Added two new objects, list(Type) and set(Type), to the standard library |
|---|
| 2420 | supporting the validation of lists and ordered sets whose elements are |
|---|
| 2421 | restricted to a single type. |
|---|
| 2422 | |
|---|
| 2423 | Added a new DCG example for solving enigmas encoded using a cellphone |
|---|
| 2424 | keypad. |
|---|
| 2425 | |
|---|
| 2426 | Added a missing library dependency to the "puzzles" example SCRIPT file. |
|---|
| 2427 | |
|---|
| 2428 | Removed the experimental "systemp.lgt" protocol from the list of files |
|---|
| 2429 | loaded by the "library/all_loader.lgt" loader utility files to avoid |
|---|
| 2430 | compilation errors on some Prolog systems. |
|---|
| 2431 | |
|---|
| 2432 | Corrected a bug that prevented dynamic creation of categories using the |
|---|
| 2433 | built-in predicate create_category/4. |
|---|
| 2434 | |
|---|
| 2435 | Corrected a bug in the reporting of singleton variables, which failed to |
|---|
| 2436 | write an accurate message for facts and grammar rules. |
|---|
| 2437 | |
|---|
| 2438 | Corrected a bug in passing the correct calling context ("this") when |
|---|
| 2439 | processing meta-calls in objects. |
|---|
| 2440 | |
|---|
| 2441 | Corrected a bug in scope checking with local calls to reflection and |
|---|
| 2442 | database methods. |
|---|
| 2443 | |
|---|
| 2444 | Corrected a bug in checking the validity of the arguments of the op/3 |
|---|
| 2445 | directive appearing inside entities. |
|---|
| 2446 | |
|---|
| 2447 | Added predicates for testing if a term is a partial list or a proper list |
|---|
| 2448 | to all config files. |
|---|
| 2449 | |
|---|
| 2450 | Added a definition for missing open/4 ISO Prolog predicate to the config |
|---|
| 2451 | file of Bin Prolog. |
|---|
| 2452 | |
|---|
| 2453 | Added a workaround for a B-Prolog bug to this compiler config file. |
|---|
| 2454 | |
|---|
| 2455 | |
|---|
| 2456 | 2.26.2 - December 20, 2005 |
|---|
| 2457 | |
|---|
| 2458 | Improved error-checking for the Logtalk compiler and for the grammar rule |
|---|
| 2459 | translator. |
|---|
| 2460 | |
|---|
| 2461 | Small performance improvements for message sending and for the built-in |
|---|
| 2462 | database methods. |
|---|
| 2463 | |
|---|
| 2464 | Corrected a bug on the implementation of the built-in methods phrase/2-3 |
|---|
| 2465 | for negated grammar rule bodies (thanks to Mats Carlsson for pointing the |
|---|
| 2466 | error). |
|---|
| 2467 | |
|---|
| 2468 | Removed the read-only compiler flag "iso_initialization_dir". |
|---|
| 2469 | |
|---|
| 2470 | Corrected a compilation bug on the "metapredicates" example source file. |
|---|
| 2471 | Corrected several bugs on the performance monitor of the "searching" |
|---|
| 2472 | example. |
|---|
| 2473 | |
|---|
| 2474 | Switched off default generation of XML documenting files for the "symdiff" |
|---|
| 2475 | example in order to avoid file names compatibility problems on Windows. |
|---|
| 2476 | |
|---|
| 2477 | Updated compatibility notes on B-Prolog 6.8 and Qu-Prolog 7.0. Added a |
|---|
| 2478 | config file for the forthcoming SICStus Prolog 4.0 version (based only |
|---|
| 2479 | on publicly available information). Updated the config file for Amzi! |
|---|
| 2480 | Prolog to solve issues with predicate properties and to ensure that file |
|---|
| 2481 | system utility predicates are loaded. |
|---|
| 2482 | |
|---|
| 2483 | Added a config file for the current XSB CVS version and the corresponding |
|---|
| 2484 | integration shell scripts (for both Windows and POSIX systems). Modified |
|---|
| 2485 | the "cplgtdirs.*" shell scripts in order to make either links or copies of |
|---|
| 2486 | the config files and the "libpaths.pl" file with the required ".P" file |
|---|
| 2487 | name extension. |
|---|
| 2488 | |
|---|
| 2489 | Improved integration scripts documentation and help screens. |
|---|
| 2490 | |
|---|
| 2491 | Added a predicate for checking directory existence to the config files. |
|---|
| 2492 | |
|---|
| 2493 | |
|---|
| 2494 | 2.26.1 - November 28, 2005 |
|---|
| 2495 | |
|---|
| 2496 | Added a CSS style-sheet to the Logtalk XHTML documentation that can be |
|---|
| 2497 | used with CSSToXSLFO to generate nicely formatted PDF files suitable for |
|---|
| 2498 | printing with running headers and page numbers. |
|---|
| 2499 | |
|---|
| 2500 | Updated the Logtalk XHTML documentation for compliance with the XHTML 1.1 |
|---|
| 2501 | standard. |
|---|
| 2502 | |
|---|
| 2503 | Updated the "lgtxhtml.xsl" XSLT file in order to generate XHTML 1.1 files. |
|---|
| 2504 | |
|---|
| 2505 | Added a new, generic "lgtpdf.xsl" XSLT file. Redefined the "lgtpdfa4.xsl" |
|---|
| 2506 | and "lgtpdfus.xsl" files to import the "lgtpdf.xsl" file. |
|---|
| 2507 | |
|---|
| 2508 | Added support for the Lunasil XSL-FO processor to the "lgt2pdf.*" shell |
|---|
| 2509 | scripts. |
|---|
| 2510 | |
|---|
| 2511 | Updated the "lgt2pdf.sh", "lgt2xml.sh", and "lgt2html.sh" shell scripts |
|---|
| 2512 | in order to write a warning message when the current directory does not |
|---|
| 2513 | contain any XML documenting file. |
|---|
| 2514 | |
|---|
| 2515 | Added a definition for missing open/4 ISO Prolog predicate to the config |
|---|
| 2516 | files of Open Prolog, LPA Prolog compilers, and MasterProlog. |
|---|
| 2517 | |
|---|
| 2518 | |
|---|
| 2519 | 2.26.0 - November 7, 2005 |
|---|
| 2520 | |
|---|
| 2521 | Added support for defining predicate aliases when using uses/2 directives |
|---|
| 2522 | (using the format Predicate::Alias). |
|---|
| 2523 | |
|---|
| 2524 | Added Prolog modules migration code allowing modules to be compiled as |
|---|
| 2525 | objects and allowing messages to be sent to modules. Added a new "modules" |
|---|
| 2526 | example. |
|---|
| 2527 | |
|---|
| 2528 | Added a "Prolog Integration and Migration Guide" to the Logtalk |
|---|
| 2529 | documentation. |
|---|
| 2530 | |
|---|
| 2531 | Added support for syntax coloring of common Prolog module directives to |
|---|
| 2532 | the configuration files of the supported text editors. |
|---|
| 2533 | |
|---|
| 2534 | Added support for using library aliases on the second argument of the |
|---|
| 2535 | logtalk_library_path/2 predicate (using the format alias(path)). |
|---|
| 2536 | |
|---|
| 2537 | Added support for ignoring, copying as-is, or rewriting proprietary Prolog |
|---|
| 2538 | directives. The action to be taken is defined on a per-directive basis on |
|---|
| 2539 | the config files. |
|---|
| 2540 | |
|---|
| 2541 | Updated the config files of CIAO, ECLiPSe, SWI-Prolog, and YAP to define |
|---|
| 2542 | actions for some proprietary directives in order to allow some or most of |
|---|
| 2543 | the module libraries distributed with these compilers to be compiled as |
|---|
| 2544 | objects. |
|---|
| 2545 | |
|---|
| 2546 | Renamed some XML documentation-related compiler flags to more meaningful |
|---|
| 2547 | names: "xml" -> "xmldocs", "xsl" -> "xslfile", and "doctype" -> "xmlsref". |
|---|
| 2548 | No changes to the other flags or flag valid values. |
|---|
| 2549 | |
|---|
| 2550 | Updated documenting scripts to use system-wide resources from LOGTALKHOME |
|---|
| 2551 | and user-modifiable resources from LOGTALKUSER. |
|---|
| 2552 | |
|---|
| 2553 | Updated "cplgtdirs.*" shell scripts to create links to the documenting |
|---|
| 2554 | scripts and to the DTD and XML Schema specifications instead of making |
|---|
| 2555 | local copies. Updated the "cplgtdirs.js" Windows JScript script to create |
|---|
| 2556 | a link to the Logtalk manuals. |
|---|
| 2557 | |
|---|
| 2558 | Changed generation of predicate compiled functors to add an underscore |
|---|
| 2559 | between the original predicate functor and arity (further minimizing the |
|---|
| 2560 | chance of name conflicts). |
|---|
| 2561 | |
|---|
| 2562 | Improved compilation warning messages (separately handling plural and |
|---|
| 2563 | singular forms). |
|---|
| 2564 | |
|---|
| 2565 | Improved documentation of Windows JScript installation and integration |
|---|
| 2566 | scripts. |
|---|
| 2567 | |
|---|
| 2568 | Corrected a bug on the Logtalk built-in debugger on the processing of the |
|---|
| 2569 | abort option at a leashed port (option was ignored instead of aborting the |
|---|
| 2570 | debugging session). |
|---|
| 2571 | |
|---|
| 2572 | Added an option to choose between a "verbose" or "compact" listing of the |
|---|
| 2573 | default compilation flags at Logtalk startup (defined on the config files). |
|---|
| 2574 | |
|---|
| 2575 | Improved CIAO integration scripts in order to suppress some (harmless) |
|---|
| 2576 | warnings which are generated at first run. |
|---|
| 2577 | |
|---|
| 2578 | Updated SWI-Prolog hook file ("swihook.pl") in order to support Logtalk |
|---|
| 2579 | library notation when loading Logtalk files using the SWI-Prolog consult/1 |
|---|
| 2580 | predicate. |
|---|
| 2581 | |
|---|
| 2582 | Corrected a bug on the implementation of the built-in method abolish/1 |
|---|
| 2583 | that prevented abolishing of dynamic predicates with arity zero. |
|---|
| 2584 | |
|---|
| 2585 | Corrected a bug on the "gplgt" shell script generated by the make_gplgt.sh |
|---|
| 2586 | shell script where the value of the LOGTALKHOME environment variable would |
|---|
| 2587 | not be retrieved at runtime. |
|---|
| 2588 | |
|---|
| 2589 | Removed config file for older versions of XSB (up to 2.6). Renamed the |
|---|
| 2590 | config file for XSB 2.7.1 to simply "xsb.config". |
|---|
| 2591 | |
|---|
| 2592 | Consolidated the source files of the "birds", "errors", "lpa", "lo", |
|---|
| 2593 | "metainterpreters", "poem", "relations", "roots", and "symdiff" examples |
|---|
| 2594 | into single source files. Updated the "searching" example to take advantage |
|---|
| 2595 | of the uses/2 directive. |
|---|
| 2596 | |
|---|
| 2597 | Removed outdated documenting shell scripts from the "xml" directory. |
|---|
| 2598 | |
|---|
| 2599 | Corrected a bug when compiling a source file where the generated Prolog |
|---|
| 2600 | file might not be properly closed when a compilation error occurs. |
|---|
| 2601 | |
|---|
| 2602 | |
|---|
| 2603 | 2.25.3 - September 12, 2005 |
|---|
| 2604 | |
|---|
| 2605 | Consolidated the source files of the examples "bricks", "dynpred", "mi", |
|---|
| 2606 | "parametric", "points", "polygons", "reflection", "shapes", "sicstus", |
|---|
| 2607 | and "viewpoints" into single source files. |
|---|
| 2608 | |
|---|
| 2609 | Improved documentation on most example source files. Improved "parametric" |
|---|
| 2610 | example by adding a new parametric objects and by illustrating alternative |
|---|
| 2611 | ways of accessing object parameters. |
|---|
| 2612 | |
|---|
| 2613 | Updated several config files with declarations for some more non-standard |
|---|
| 2614 | Prolog meta-predicates. |
|---|
| 2615 | |
|---|
| 2616 | Corrected some omissions and typos on the B-Prolog - Logtalk integration |
|---|
| 2617 | instructions. |
|---|
| 2618 | |
|---|
| 2619 | Small performance optimization for messages and super-calls with not yet |
|---|
| 2620 | cached method lookups. |
|---|
| 2621 | |
|---|
| 2622 | |
|---|
| 2623 | 2.25.2 - August 11, 2005 |
|---|
| 2624 | |
|---|
| 2625 | Updated Logtalk installation and Prolog integration scripts in order to |
|---|
| 2626 | detect a wrongly defined LOGTALKHOME environment variable. |
|---|
| 2627 | |
|---|
| 2628 | Corrected a bug on the lgt_install.sh and make*lgt.sh shell scripts where |
|---|
| 2629 | the wrong variable was being referenced when testing the existence of the |
|---|
| 2630 | installation directory prefix. |
|---|
| 2631 | |
|---|
| 2632 | Corrected a bug on the makeall_lgt.sh shell script that failed to properly |
|---|
| 2633 | detect unsuccessful completion of individual Prolog integration scripts. |
|---|
| 2634 | |
|---|
| 2635 | |
|---|
| 2636 | 2.25.1 - August 8, 2005 |
|---|
| 2637 | |
|---|
| 2638 | Added support for using the "source-highlight" package (version 2.0 or |
|---|
| 2639 | later) by Lorenzo Bettini with Logtalk source files. |
|---|
| 2640 | |
|---|
| 2641 | Several optimizations to the syntax coloring configuration files of most |
|---|
| 2642 | of the supported text editors. Added support for code folding to the Vim, |
|---|
| 2643 | Kate, and TextMate text editors. |
|---|
| 2644 | |
|---|
| 2645 | Updated the SWI-Prolog shell integration script (make_swilgt.sh) to use |
|---|
| 2646 | either "swipl" or "pl" as the name of the Prolog executable, depending |
|---|
| 2647 | on the host operating system. |
|---|
| 2648 | |
|---|
| 2649 | Modified the way entity prefixes are generated for compiled code in order |
|---|
| 2650 | to further minimize possible conflicts resulting from the same prefix being |
|---|
| 2651 | used for different entities (bug report and fix by Brian Hulley). Changes |
|---|
| 2652 | to the prefix format are also reflected on the names of the automatically |
|---|
| 2653 | generated XML documenting files. |
|---|
| 2654 | |
|---|
| 2655 | Updated the lgt2html.* and lgt2xml.* documenting scripts in order to index |
|---|
| 2656 | parametric objects using the notation <entity>/<number of parameters>. |
|---|
| 2657 | |
|---|
| 2658 | Corrected a bug on the lgtxml.xsl XSLT file where links to related files |
|---|
| 2659 | pointed to .html files instead of .xml files. |
|---|
| 2660 | |
|---|
| 2661 | Updated the lgt_install.sh and the make_*lgt.sh shell scripts to check and |
|---|
| 2662 | report invalid installation directory prefixes. |
|---|
| 2663 | |
|---|
| 2664 | Added a new state-space search problem, "salt3.lgt", contributed by Paula |
|---|
| 2665 | Marisa Sampaio, to the "searching" example. |
|---|
| 2666 | |
|---|
| 2667 | |
|---|
| 2668 | 2.25.0 - May 23, 2005 |
|---|
| 2669 | |
|---|
| 2670 | Logtalk compiler is now source file-based instead of entity-based. Thus, |
|---|
| 2671 | a source file may now contain any number of entities, without the need of |
|---|
| 2672 | using source metafiles. Therefore, this version drops support for source |
|---|
| 2673 | metafiles and the .mlgt file name extension. |
|---|
| 2674 | |
|---|
| 2675 | The experimental encoding/1 directive, when used, must be the first term |
|---|
| 2676 | on a source file. Added an entry to the reference manual describing the |
|---|
| 2677 | directive. Improved "encodings" example. |
|---|
| 2678 | |
|---|
| 2679 | Added a new method, debugging/1, to the "debugger" pseudo-object for |
|---|
| 2680 | querying the system about entities compiled in debug mode. |
|---|
| 2681 | |
|---|
| 2682 | Improved source file and entity compilation and loading reporting. In |
|---|
| 2683 | particular, when using library notation for source files, the Logtalk |
|---|
| 2684 | compiler now prints the library path containing the source files being |
|---|
| 2685 | compiled or loaded. |
|---|
| 2686 | |
|---|
| 2687 | Added new shell scripts, makeall_lgt.*, which run all the make_*lgt.* |
|---|
| 2688 | shell scripts in sequence. |
|---|
| 2689 | |
|---|
| 2690 | Simplified compiler reporting of singleton variables in directives and |
|---|
| 2691 | clauses. |
|---|
| 2692 | |
|---|
| 2693 | Added an adaption of the "timetables" LPA Prolog++ example. |
|---|
| 2694 | |
|---|
| 2695 | Updated B-Prolog config file for the new 6.7 #2 version. Dropped support |
|---|
| 2696 | for older versions of B-Prolog. |
|---|
| 2697 | |
|---|
| 2698 | |
|---|
| 2699 | 2.24.0 - April 22, 2005 |
|---|
| 2700 | |
|---|
| 2701 | Added experimental support for a encoding/1 directive for declaring the |
|---|
| 2702 | text character encoding of a source file. This directive is fully based |
|---|
| 2703 | on a directive with the same name and with similar semantics found on |
|---|
| 2704 | recent development versions of SWI-Prolog. For now, this directive only |
|---|
| 2705 | works with SWI-Prolog as most Prolog compilers lack support for dealing |
|---|
| 2706 | with different text encodings. Added new flag "supports_encoding_dir". |
|---|
| 2707 | Added a new example, "encodings", of using the new encoding/1 directive. |
|---|
| 2708 | |
|---|
| 2709 | When a source file contains an encoding/1 directive, the XML documenting |
|---|
| 2710 | files will use the same encoding. When no encoding/1 directive is present, |
|---|
| 2711 | the XML documenting files will assume UTF-8 encoding. |
|---|
| 2712 | |
|---|
| 2713 | Added new info/1 documenting directive key, "parameters", allowing the |
|---|
| 2714 | declaration of both parameter names and parameter descriptions. Added new |
|---|
| 2715 | info/1 documenting directive key, "remarks", allowing general remarks |
|---|
| 2716 | about an entity to be stated. Added new info/2 documenting directive key, |
|---|
| 2717 | "arguments", allowing declaration of both predicate argument names and |
|---|
| 2718 | predicate argument descriptions. Added new info/2 documenting directive |
|---|
| 2719 | key, "examples", allowing the representation of predicate call examples. |
|---|
| 2720 | |
|---|
| 2721 | Much improved and accurate reporting of non-portable predicate calls when |
|---|
| 2722 | using the "portability" flag. |
|---|
| 2723 | |
|---|
| 2724 | Added a new directory to the Logtalk distribution, "contributions", which |
|---|
| 2725 | will be used for user-contributed code. On this release, it contains an |
|---|
| 2726 | implementation of the ISO 8601 standard by Daniel L. Dudley, providing a |
|---|
| 2727 | library of useful date predicates. |
|---|
| 2728 | |
|---|
| 2729 | Added new lgt2xml.* shell scripts for generating (X)HTML indexes of XML |
|---|
| 2730 | documenting files. |
|---|
| 2731 | |
|---|
| 2732 | Rewritten the lgtxhtml.xsl, lgthtml.xsl, lgtxml.xsl XSLT scripts in order |
|---|
| 2733 | to make it easier to define alternative CSS files for the generated HTML |
|---|
| 2734 | files. Rewritten the lgtpdfa4.xsl and lgtpdfus.xsl XSLT scripts in order |
|---|
| 2735 | to improve appearance of the generated PDF files. |
|---|
| 2736 | |
|---|
| 2737 | Improved the documentation of the "benchmarks" example and added new |
|---|
| 2738 | predicates for running batches of benchmark tests and for generating |
|---|
| 2739 | lists of known size for the benchmark tests of static code. |
|---|
| 2740 | |
|---|
| 2741 | Corrected a bug in the lgt2html.*, lgt2pdf.*, and cplgtdirs.sh shell |
|---|
| 2742 | scripts which resulted in failed transformations whenever the LOGTALKHOME |
|---|
| 2743 | and LOGTALKUSER environment variables or the output directory contained |
|---|
| 2744 | spaces or accented characters. |
|---|
| 2745 | |
|---|
| 2746 | Added workaround for Prolog compilers that define operators other than |
|---|
| 2747 | ','/2 that cannot be redefined (such as new B-Prolog 6.7). |
|---|
| 2748 | |
|---|
| 2749 | Added a Logtalk "clip" file for the TextPad Windows text editor. |
|---|
| 2750 | |
|---|
| 2751 | Renamed directory "misc" to the more meaningful name "scripts". |
|---|
| 2752 | |
|---|
| 2753 | Corrected a bug in the implementation of the built-in database methods |
|---|
| 2754 | asserta/1 and assertz/1 when asserting facts on objects compiled in debug |
|---|
| 2755 | mode. |
|---|
| 2756 | |
|---|
| 2757 | Corrected a bug in the method leash/1 of the built-in pseudo-object |
|---|
| 2758 | "debugger", which failed to accept an empty list as a valid argument. |
|---|
| 2759 | |
|---|
| 2760 | Corrected a bug in the header of the automatically generated XML |
|---|
| 2761 | documenting files when using the XML Schema specification (logtalk.xsd), |
|---|
| 2762 | which could prevented validation when the compiler flag "doctype" is set |
|---|
| 2763 | to "web". |
|---|
| 2764 | |
|---|
| 2765 | Corrected a compilation bug where Prolog clauses written outside entities |
|---|
| 2766 | on source metafiles would have their order reversed. Simplified splitting |
|---|
| 2767 | of source metafiles. |
|---|
| 2768 | |
|---|
| 2769 | Corrected a compilation bug where Prolog clauses written before an entity |
|---|
| 2770 | opening directive would not be copied to the generated Prolog file. |
|---|
| 2771 | |
|---|
| 2772 | Corrected a bug on the "roots" example in the object "class" which failed |
|---|
| 2773 | to properly test the validity of new object identifiers. |
|---|
| 2774 | |
|---|
| 2775 | Corrected a bug in the syntax coloring file for the Vim text editor, which |
|---|
| 2776 | resulted in an error message when opening a Logtalk source file for the |
|---|
| 2777 | first time. |
|---|
| 2778 | |
|---|
| 2779 | |
|---|
| 2780 | 2.23.1 - March 7, 2005 |
|---|
| 2781 | |
|---|
| 2782 | Simplified message sending compilation, improving performance of both |
|---|
| 2783 | entity compilation and runtime top-level message sending. |
|---|
| 2784 | |
|---|
| 2785 | Simplified implementation and improved performance of the built-in method |
|---|
| 2786 | current_predicate/2. |
|---|
| 2787 | |
|---|
| 2788 | Updated the runtime error handler for top-level ::/2 calls to recognize |
|---|
| 2789 | non-existing predicate exceptions thrown by XSB, SICStus Prolog, CIAO, |
|---|
| 2790 | B-Prolog, and recent development versions of SWI-Prolog. Rewritten the |
|---|
| 2791 | ::/2 predicate in order to minimize the overhead of the catch/3 calls |
|---|
| 2792 | associated with the runtime error handler, thus improving performance. |
|---|
| 2793 | |
|---|
| 2794 | Expanded the benchmarks example to test performance of the built-in |
|---|
| 2795 | database methods. |
|---|
| 2796 | |
|---|
| 2797 | Lookup caches are now cleaned before loading a redefined entity in order |
|---|
| 2798 | to avoid potential problems with entity initialization goals containing |
|---|
| 2799 | message sending calls (previous versions cleaned the caches only after |
|---|
| 2800 | entity loading). |
|---|
| 2801 | |
|---|
| 2802 | When reloading an object, its tables of dynamic predicate declarations |
|---|
| 2803 | and dynamic predicate definitions are now reseted. |
|---|
| 2804 | |
|---|
| 2805 | Corrected a compatibility problem with the "birds" example due to the use |
|---|
| 2806 | of an operator not available in some Prolog compilers. |
|---|
| 2807 | |
|---|
| 2808 | |
|---|
| 2809 | 2.23.0 - February 21, 2005 |
|---|
| 2810 | |
|---|
| 2811 | Optimized the code generated for local calls to the built-in predicates |
|---|
| 2812 | asserta/1, assertz/1, retract/1, and retractall/1, when the argument is |
|---|
| 2813 | a dynamic predicate declared by a scope directive in the object making |
|---|
| 2814 | the calls. |
|---|
| 2815 | |
|---|
| 2816 | Added caching of predicate compiled forms for dynamic facts when used |
|---|
| 2817 | with the database built-in methods clause/2, asserta/1, assertz/1, |
|---|
| 2818 | retract/1, and retractall/1, resulting in a significant performance |
|---|
| 2819 | improvement when using an object's dynamic database. Improved performance |
|---|
| 2820 | of the database built-in methods abolish/1, asserta/1, assertz/1, clause/2, |
|---|
| 2821 | retract/1, and retractall/1 when the cache is not used. |
|---|
| 2822 | |
|---|
| 2823 | Corrected a bug on the implementation of the built-in methods asserta/1 |
|---|
| 2824 | and assertz/1 that prevented asserting of rules. |
|---|
| 2825 | |
|---|
| 2826 | Corrected a bug on the implementation of built-in methods retractall/1, |
|---|
| 2827 | retract/1, and clause/2 that allowed access to local dynamic predicates |
|---|
| 2828 | from outside the container object. |
|---|
| 2829 | |
|---|
| 2830 | Added a runtime error handler for top-level ::/2 calls which tries to deal |
|---|
| 2831 | with exceptions thrown by calling non-existing predicates by translating |
|---|
| 2832 | Logtalk generated internal predicate names to user names. |
|---|
| 2833 | |
|---|
| 2834 | Print the total number of warnings after a call to the Logtalk built-in |
|---|
| 2835 | predicates logtalk_compile/1-2 and logtalk_load/1-2. |
|---|
| 2836 | |
|---|
| 2837 | |
|---|
| 2838 | 2.22.5 - February 9, 2005 |
|---|
| 2839 | |
|---|
| 2840 | Added scripts for easy integration of Logtalk with K-Prolog. Updated the |
|---|
| 2841 | K-Prolog config file, correcting a show-stopper bug and enabling support |
|---|
| 2842 | for using the "library" notation for loading source files. |
|---|
| 2843 | |
|---|
| 2844 | Updated JIProlog config file in order to allow smart compilation of source |
|---|
| 2845 | files. |
|---|
| 2846 | |
|---|
| 2847 | Changed format of preprocessor and runtime dynamic predicates that deal |
|---|
| 2848 | with predicate indicators for better performance. |
|---|
| 2849 | |
|---|
| 2850 | Simplified implementation of Logtalk built-in methods asserta/1 and |
|---|
| 2851 | assertz/1. |
|---|
| 2852 | |
|---|
| 2853 | Corrected a performance bug with calls to built-in predicates from objects |
|---|
| 2854 | and categories. |
|---|
| 2855 | |
|---|
| 2856 | Corrected spurious backtracking occurring on some calls to the built-in |
|---|
| 2857 | predicate define_events/5. |
|---|
| 2858 | |
|---|
| 2859 | Updated shell script "misc/cplgtdirs.sh" to prevent copy of Logtalk files |
|---|
| 2860 | when the destination directory already exists (thus avoiding overriding |
|---|
| 2861 | any user-modified files when upgrading Logtalk). |
|---|
| 2862 | |
|---|
| 2863 | Added syntax coloring for the predicate logtalk_library_path/2 to the |
|---|
| 2864 | supported text editors. Updated the syntax coloring file for the TextMate |
|---|
| 2865 | text editor, adding some missing ISO Prolog predicates. |
|---|
| 2866 | |
|---|
| 2867 | Improved printing of lists of unknown referenced entities, misspelt calls, |
|---|
| 2868 | and singleton variables when compiling source files. Simplified handling |
|---|
| 2869 | of references to unknown entities. |
|---|
| 2870 | |
|---|
| 2871 | Added workaround for Prolog compilers with broken read_term/3 singletons/1 |
|---|
| 2872 | option. |
|---|
| 2873 | |
|---|
| 2874 | Updated the Logtalk compiler/runtime and the documentation to always |
|---|
| 2875 | use the expression "compiler flag" instead of "compiler option" for |
|---|
| 2876 | consistency. Other minor documentation improvements. |
|---|
| 2877 | |
|---|
| 2878 | Corrected a bug with the abolishing of dynamic entities where the clauses |
|---|
| 2879 | corresponding to the alias/3 directive are not being abolished. |
|---|
| 2880 | |
|---|
| 2881 | Added new predicates '$lgt_call'/9 and '$lgt_once'/9 to all config files. |
|---|
| 2882 | |
|---|
| 2883 | Simplified and improved performance of compilation of directives containing |
|---|
| 2884 | predicate indicators. |
|---|
| 2885 | |
|---|
| 2886 | |
|---|
| 2887 | 2.22.4 - January 12, 2005 |
|---|
| 2888 | |
|---|
| 2889 | Simplified method lookup cache tables, resulting in a small message |
|---|
| 2890 | sending performance speedup. Improved method lookup caching for |
|---|
| 2891 | parametric objects. Added support for caching method lookups for |
|---|
| 2892 | parametric objects whose parameters contain cyclic terms. |
|---|
| 2893 | |
|---|
| 2894 | Added a new category, "assignvars", to the Logtalk standard library, |
|---|
| 2895 | containing an adaptation of the implementation of logical assignable |
|---|
| 2896 | variables developed by Nobukuni Kino. Added a new example, "assignvars", |
|---|
| 2897 | illustrating some possible uses of assignable variables in the context |
|---|
| 2898 | of parametric objects. |
|---|
| 2899 | |
|---|
| 2900 | Simplified compilation of op/3 directives: there is no longer need to |
|---|
| 2901 | repeat the directives both before and inside an entity in order to make |
|---|
| 2902 | the operators global and also use them in the compilation process. |
|---|
| 2903 | |
|---|
| 2904 | Simplified installation instructions. |
|---|
| 2905 | |
|---|
| 2906 | Corrected a compiler bug in the code that checks and prints a warning |
|---|
| 2907 | when redefined parametric objects. |
|---|
| 2908 | |
|---|
| 2909 | Corrected a bug in the built-in predicate abolish_category/1, which |
|---|
| 2910 | failed to delete import relation clauses between the category being |
|---|
| 2911 | abolished and other categories. |
|---|
| 2912 | |
|---|
| 2913 | |
|---|
| 2914 | 2.22.3 - December 30, 2004 |
|---|
| 2915 | |
|---|
| 2916 | Added a configuration file for XSB 2.7. |
|---|
| 2917 | |
|---|
| 2918 | Corrected a bug where the use of alternative compilation directories |
|---|
| 2919 | would fail the first time the logtalk_compile/1-2 or logtalk_load/1-2 |
|---|
| 2920 | predicates are used for a given file or library. |
|---|
| 2921 | |
|---|
| 2922 | Corrected a bug in the built-in methods asserta/1 and assertz/1 when |
|---|
| 2923 | asserting facts into an object being debugged, which resulted in wrong |
|---|
| 2924 | execution context information being printed when tracing calls to |
|---|
| 2925 | the asserted facts. |
|---|
| 2926 | |
|---|
| 2927 | Corrected a bug in the built-in methods asserta/1 and assertz/1 when |
|---|
| 2928 | asserting rules into an object being debugged, which resulted in rule |
|---|
| 2929 | bodies compiled with no information being printed for the rule head |
|---|
| 2930 | when tracing calls to the asserted rules. |
|---|
| 2931 | |
|---|
| 2932 | Corrected a bug in the dynamic creation of objects, protocols, and |
|---|
| 2933 | categories when the debug flag is on, which resulted in the table of |
|---|
| 2934 | entities being debugged not being updated. |
|---|
| 2935 | |
|---|
| 2936 | Corrected a bug in the handling of exceptions thrown when using the |
|---|
| 2937 | built-in debugger, which resulted in exceptions always being turned |
|---|
| 2938 | into failures. |
|---|
| 2939 | |
|---|
| 2940 | |
|---|
| 2941 | 2.22.2 - December 24, 2004 |
|---|
| 2942 | |
|---|
| 2943 | Improved performance of dynamic creation and compilation of objects, |
|---|
| 2944 | protocols, and categories. |
|---|
| 2945 | |
|---|
| 2946 | Improved error-checking code of methods asserta/1 and assertz/1 to |
|---|
| 2947 | prevent asserting of non-callable terms as facts. |
|---|
| 2948 | |
|---|
| 2949 | Improved error checking for documenting directives (info/1 and info/2). |
|---|
| 2950 | |
|---|
| 2951 | Improved the XSB integration script (make_xsblgt.sh) in order to use the |
|---|
| 2952 | configuration file and the libpaths file available from the $LOGTALKUSER |
|---|
| 2953 | directory. |
|---|
| 2954 | |
|---|
| 2955 | Improved installation instructions and installation scripts documentation. |
|---|
| 2956 | |
|---|
| 2957 | Added documentation to the user manual on describing predicate exceptions |
|---|
| 2958 | using the info/2 directive. |
|---|
| 2959 | |
|---|
| 2960 | Corrected a bug in the predicate_property/2 built-in method when called |
|---|
| 2961 | with the second argument instantiated to the alias/1 property. |
|---|
| 2962 | |
|---|
| 2963 | |
|---|
| 2964 | 2.22.1 - December 6, 2004 |
|---|
| 2965 | |
|---|
| 2966 | Improved installation instructions. Updated the Windows installation |
|---|
| 2967 | JScript script to add the Logtalk directories "misc" and "xml" to the |
|---|
| 2968 | system PATH environment variable and to reuse the environment variable |
|---|
| 2969 | LOGTALKUSER if already defined. |
|---|
| 2970 | |
|---|
| 2971 | Added helper batch scripts (misc/cplgtdirs.bat, xml/lgt2html.bat, and |
|---|
| 2972 | xml/lgt2pdf.bat) for easily running the corresponding Windows JScript |
|---|
| 2973 | scripts from the command-line (the two xml/lgt2*.bat scripts run the |
|---|
| 2974 | corresponding *.js scripts stored in the %LOGTALKUSER%/xml directory |
|---|
| 2975 | in order to support user customization). |
|---|
| 2976 | |
|---|
| 2977 | Updated the lgt2html.* and lgt2pdf.* shell scripts to use the environment |
|---|
| 2978 | variable LOGTALKUSER instead of LOGTALKHOME for finding supporting files, |
|---|
| 2979 | thus allowing for end-user customization of the scripts and their related |
|---|
| 2980 | files. |
|---|
| 2981 | |
|---|
| 2982 | Added documentation on read-only compiler flags (which are defined in the |
|---|
| 2983 | configuration files) to the User Manual. |
|---|
| 2984 | |
|---|
| 2985 | Updated the misc/lgt_install.js JScript installer script to workaround a |
|---|
| 2986 | Windows Scripting Host bug which may result in broken shortcuts in the |
|---|
| 2987 | created "Logtalk" program group. |
|---|
| 2988 | |
|---|
| 2989 | |
|---|
| 2990 | 2.22.0 - November 29, 2004 |
|---|
| 2991 | |
|---|
| 2992 | Implemented a notion of library as simply a directory containing source |
|---|
| 2993 | files. Added a new dynamic predicate, logtalk_library_path/2, for |
|---|
| 2994 | specifying library paths. Added a sample file (libpaths/libpaths.pl) for |
|---|
| 2995 | setting library paths for the Logtalk standard library and for all the |
|---|
| 2996 | supplied examples. |
|---|
| 2997 | |
|---|
| 2998 | Added support for using the notation <library>(<entity>) with the built-in |
|---|
| 2999 | predicates logtalk_compile/1-2 and logtalk_load/1-2 for compiling and |
|---|
| 3000 | loading source files contained on a library, without the need to first |
|---|
| 3001 | change the current working directory. |
|---|
| 3002 | |
|---|
| 3003 | Changed the library and the examples loading instructions to use the new |
|---|
| 3004 | notation <library>(<entity>). |
|---|
| 3005 | |
|---|
| 3006 | Improved installation instructions and installation scripts. Added a new |
|---|
| 3007 | environment variable, LOGTALKUSER, for defining the location of the copies |
|---|
| 3008 | of the user-modifiable Logtalk files in a multiple users setup environment. |
|---|
| 3009 | |
|---|
| 3010 | Added utility predicates to most configuration files for querying and |
|---|
| 3011 | changing the current working directory (needed for the <library>(<entity>) |
|---|
| 3012 | notation to work). |
|---|
| 3013 | |
|---|
| 3014 | Corrected a bug in the code that checks for file existence when compiling |
|---|
| 3015 | or loading source files and source metafiles. |
|---|
| 3016 | |
|---|
| 3017 | |
|---|
| 3018 | 2.21.6 - November 15, 2004 |
|---|
| 3019 | |
|---|
| 3020 | Added support for using alternative directories for storing the Prolog files |
|---|
| 3021 | and the XML documenting files resulting from entity compilation. A new read- |
|---|
| 3022 | only flag, "altdirs", allows the support for alternative directories to be |
|---|
| 3023 | turned on the configuration files of Prolog compilers providing the necessary |
|---|
| 3024 | operating-system access predicates for implementing this feature. |
|---|
| 3025 | |
|---|
| 3026 | Improved installation instructions and reporting of default compilation flags |
|---|
| 3027 | at startup. |
|---|
| 3028 | |
|---|
| 3029 | Added a sorely missing "Hello World!" example :-) |
|---|
| 3030 | |
|---|
| 3031 | |
|---|
| 3032 | 2.21.5 - November 2, 2004 |
|---|
| 3033 | |
|---|
| 3034 | Added a new optimization compiler flag, "events", which can be used to switch |
|---|
| 3035 | off event-driven programming support when not needed, on a per-object basis, |
|---|
| 3036 | resulting in improved message sending performance. |
|---|
| 3037 | |
|---|
| 3038 | Small performance optimization to the runtime creation of dynamic objects, |
|---|
| 3039 | protocols, and categories. |
|---|
| 3040 | |
|---|
| 3041 | Updated the error handling code of the built-in predicates create_object/4, |
|---|
| 3042 | create_protocol/3, and create_category/4 in order to throw an instantiation |
|---|
| 3043 | error when called with a non-instantiated argument. |
|---|
| 3044 | |
|---|
| 3045 | Updated the benchmarks example to calculate and subtract the benchmark loop |
|---|
| 3046 | time in order to print absolute timings for the benchmarked goals. |
|---|
| 3047 | |
|---|
| 3048 | Updated the Qu-Prolog patching instructions to also convert Logtalk source |
|---|
| 3049 | metafiles. |
|---|
| 3050 | |
|---|
| 3051 | Fixed a typo on the XSB compatibility notes in the configs/NOTES file. |
|---|
| 3052 | |
|---|
| 3053 | |
|---|
| 3054 | 2.21.4 - October 26, 2004 |
|---|
| 3055 | |
|---|
| 3056 | Corrected a silly bug in the definition of the predicate repeat/1 on the |
|---|
| 3057 | new "benchmarks" example. |
|---|
| 3058 | |
|---|
| 3059 | |
|---|
| 3060 | 2.21.3 - October 25, 2004 |
|---|
| 3061 | |
|---|
| 3062 | Corrected a silly bug in message translation which resulted in a small |
|---|
| 3063 | performance loss. Simplified implementation of message sending predicate |
|---|
| 3064 | ::/2, resulting in a small performance improvement. |
|---|
| 3065 | |
|---|
| 3066 | Added a new section on message sending performance to the user manual. |
|---|
| 3067 | |
|---|
| 3068 | Added a new example, "benchmarks", for helping measuring performance of |
|---|
| 3069 | Logtalk message sending between Prolog compilers and for comparing message |
|---|
| 3070 | sending with predicate calls in plain Prolog and with calls to modules |
|---|
| 3071 | predicates. |
|---|
| 3072 | |
|---|
| 3073 | Updated the YAP configuration file to hide some of the book-keeping tables |
|---|
| 3074 | of the Logtalk runtime engine and to use statistics/2 instead of cputime/0 |
|---|
| 3075 | for more accurate timings. |
|---|
| 3076 | |
|---|
| 3077 | Updated the Logtalk shell installation script to create the $prefix/bin |
|---|
| 3078 | directory if it does not exist. |
|---|
| 3079 | |
|---|
| 3080 | The lgt2pdf.sh and lgt2html.sh shell scripts now use "rm -f" when removing |
|---|
| 3081 | the DTD and XSD files in order to avoid prompting the the user about the file |
|---|
| 3082 | permissions. |
|---|
| 3083 | |
|---|
| 3084 | Updated the cplgtdirs.sh shell script to make all copied files user writable. |
|---|
| 3085 | |
|---|
| 3086 | |
|---|
| 3087 | 2.21.2 - October 18, 2004 |
|---|
| 3088 | |
|---|
| 3089 | Added support for declaring grammar rule non-terminals as public, protected, |
|---|
| 3090 | private, dynamic, or discontiguous using the notation Functor//Arity. Added |
|---|
| 3091 | support for documenting non-terminals using the info/2 and mode/2 directives. |
|---|
| 3092 | |
|---|
| 3093 | Added support for a new alias/1 predicate property. |
|---|
| 3094 | |
|---|
| 3095 | New experimental config file for JIProlog 3.0 (see the configs/NOTES file |
|---|
| 3096 | for details). |
|---|
| 3097 | |
|---|
| 3098 | Added a mode bundle for the TextMode 1.0.x (MacOS X) text editor providing |
|---|
| 3099 | syntax highlighting, folding, and code snippets for editing Logtalk source |
|---|
| 3100 | files. Corrected a bug in the syntax coloring of the :-/1-2 operator on the |
|---|
| 3101 | SubEthaEdit 2.x text editor. |
|---|
| 3102 | |
|---|
| 3103 | |
|---|
| 3104 | 2.21.1 - September 27, 2004 |
|---|
| 3105 | |
|---|
| 3106 | Added experimental support for a new built-in method, expand_term/2, which |
|---|
| 3107 | allows access to the Logtalk grammar rule translator. Corrected bug in the |
|---|
| 3108 | expansion of \+/1 in grammar rule bodies. Optimized code generated for |
|---|
| 3109 | message sending calls in the body of grammar rules. Improved error handling |
|---|
| 3110 | of the built-in methods phrase/2 and phrase/3. Added new section on definite |
|---|
| 3111 | clause grammars to the user manual. Added two new objects to the "dcgs" |
|---|
| 3112 | example, dcgtest and bypass, containing test cases for the Logtalk DCG |
|---|
| 3113 | translator and illustrating some programming techniques with grammar rules. |
|---|
| 3114 | |
|---|
| 3115 | Corrected a bug in the implementation of the built-in method clause/2 which |
|---|
| 3116 | prevented access to clauses of local dynamic predicates. |
|---|
| 3117 | |
|---|
| 3118 | Corrected some dead links on the XHTML manuals. |
|---|
| 3119 | |
|---|
| 3120 | Corrected a bug in the syntax coloring of numbers on the SubEthaEdit 2.x |
|---|
| 3121 | text editor. |
|---|
| 3122 | |
|---|
| 3123 | |
|---|
| 3124 | 2.21.0 - September 14, 2004 |
|---|
| 3125 | |
|---|
| 3126 | Added a new predicate directive, alias/3, which allows the definition of |
|---|
| 3127 | alternative predicate names in order to improve readability of inherited |
|---|
| 3128 | features and to solve conflicts between implemented, imported, or inherited |
|---|
| 3129 | predicates. |
|---|
| 3130 | |
|---|
| 3131 | Added new example, "aliases", illustrating the use of the new alias/3 |
|---|
| 3132 | predicate directive for improving readability of inherited features. |
|---|
| 3133 | |
|---|
| 3134 | Added new example, "diamonds", illustrating problems and solutions for the |
|---|
| 3135 | "diamond problem" (multi-inheritance conflicts and ambiguities) using the |
|---|
| 3136 | new alias/3 predicate directive. |
|---|
| 3137 | |
|---|
| 3138 | Allow categories to import other categories, i.e. allow categories to be |
|---|
| 3139 | defined as a composition of other categories. This feature should only be |
|---|
| 3140 | used when extending a category without breaking its functional cohesion |
|---|
| 3141 | (for example, when a modified version of a category is needed for importing |
|---|
| 3142 | into several unrelated objects). |
|---|
| 3143 | |
|---|
| 3144 | Added new example, "engines", illustrating importing a category from another |
|---|
| 3145 | category. |
|---|
| 3146 | |
|---|
| 3147 | Updated the syntax coloring configuration files for the supported text |
|---|
| 3148 | editors for the new alias/3 predicate directive. |
|---|
| 3149 | |
|---|
| 3150 | Added auto-complete strings for Logtalk methods and for Logtalk and Prolog |
|---|
| 3151 | built-in predicates and directives to the SubEthaEdit 2.x text editor. |
|---|
| 3152 | |
|---|
| 3153 | Corrected a bug which prevented compilation of metafiles containing |
|---|
| 3154 | parametric entities. |
|---|
| 3155 | |
|---|
| 3156 | |
|---|
| 3157 | 2.20.2 - August 31, 2004 |
|---|
| 3158 | |
|---|
| 3159 | Added a Windows JScript script for installing Logtalk. Improved the Windows |
|---|
| 3160 | JScript scripts used for easy integration of Logtalk with selected Prolog |
|---|
| 3161 | compilers. |
|---|
| 3162 | |
|---|
| 3163 | Improved user manual section on defining object and category metapredicates |
|---|
| 3164 | and on calling non-standard Prolog built-in metapredicates. Improved the |
|---|
| 3165 | description of some compiler options. |
|---|
| 3166 | |
|---|
| 3167 | Added some files missing from the "errors" example (which should have been |
|---|
| 3168 | included in the previous release). |
|---|
| 3169 | |
|---|
| 3170 | Added basic syntax coloring support for the BBEdit 8.x text editor. |
|---|
| 3171 | |
|---|
| 3172 | |
|---|
| 3173 | 2.20.1 - August 19, 2004 |
|---|
| 3174 | |
|---|
| 3175 | Added Windows JScript scripts for easy integration of Logtalk with CIAO and |
|---|
| 3176 | GNU Prolog. |
|---|
| 3177 | |
|---|
| 3178 | Added encoding attribute (set to UTF-8) to the xsl:output tag in the |
|---|
| 3179 | lgtxml.xsl, lgthtml.xsl, and lgtxhtml.xsl files. |
|---|
| 3180 | |
|---|
| 3181 | Replaced the Windows JScript scripts lgt2pdf.js and lgt2html.js by their |
|---|
| 3182 | final versions (the wrong ones shipped with Logtalk version 2.20.0). |
|---|
| 3183 | |
|---|
| 3184 | Updated the "errors" example to illustrate possible conflict errors when |
|---|
| 3185 | using the uses/2 directive. |
|---|
| 3186 | |
|---|
| 3187 | Updated the RPM logtalk.spec file to use the .tgz archive extension. |
|---|
| 3188 | |
|---|
| 3189 | |
|---|
| 3190 | 2.20.0 - August 16, 2004 |
|---|
| 3191 | |
|---|
| 3192 | Added support for the uses/2 predicate directive (whose semantics is similar |
|---|
| 3193 | to C++ using-declarations). Updated the uses/1 entity directive to accept as |
|---|
| 3194 | argument a single object identifier. |
|---|
| 3195 | |
|---|
| 3196 | Improved installation instructions for Windows users. |
|---|
| 3197 | |
|---|
| 3198 | Added four new sample bash shell scripts and Windows JScript scripts for |
|---|
| 3199 | converting XML documenting files to PDF, HTML, and XHTML using several XSL |
|---|
| 3200 | processors. |
|---|
| 3201 | |
|---|
| 3202 | Added missing namespace to XSL files in order to generated valid (X)HTML |
|---|
| 3203 | files with recent versions of XSLT processors. |
|---|
| 3204 | |
|---|
| 3205 | Updated the User Manual documentation on converting XML documenting files |
|---|
| 3206 | to other formats. |
|---|
| 3207 | |
|---|
| 3208 | Removed the texml.xsl XSLT file as the TeXMLatte application it depends on |
|---|
| 3209 | is no longer available. |
|---|
| 3210 | |
|---|
| 3211 | Added Windows JScript script for copying the Logtalk examples, library, and |
|---|
| 3212 | xml directories to the user directory. |
|---|
| 3213 | |
|---|
| 3214 | Added Windows JScript scripts for easy integration of Logtalk with ECLiPSe, |
|---|
| 3215 | SWI-Prolog, SICStus Prolog, and YAP. |
|---|
| 3216 | |
|---|
| 3217 | Added missing extension for source metafiles to the SWI-Prolog hook file. |
|---|
| 3218 | |
|---|
| 3219 | Corrected a bug in the lgtxhtml.xsl XSLT file where a wrong reference to |
|---|
| 3220 | the Logtalk CSS file is being used in the xml-stylesheet tag. |
|---|
| 3221 | |
|---|
| 3222 | The iso_initialization_dir/1 compiler option is now a read only flag, |
|---|
| 3223 | defined in the configuration files. |
|---|
| 3224 | |
|---|
| 3225 | |
|---|
| 3226 | 2.19.1 - August 2, 2004 |
|---|
| 3227 | |
|---|
| 3228 | Corrected a bug where entities could not be reloaded if they depend on |
|---|
| 3229 | other, not yet loaded entities. |
|---|
| 3230 | |
|---|
| 3231 | Corrected a bug where compiler options would not be used when compiling |
|---|
| 3232 | source metafiles. |
|---|
| 3233 | |
|---|
| 3234 | Corrected several typos on the Logtalk manuals. |
|---|
| 3235 | |
|---|
| 3236 | |
|---|
| 3237 | 2.19.0 - July 26, 2004 |
|---|
| 3238 | |
|---|
| 3239 | Added support for defining more than one entity per file using Logtalk |
|---|
| 3240 | source metafiles (*.mlgt), which the runtime engine automatically splits |
|---|
| 3241 | on single entity source files plus loading and compiling helper files. |
|---|
| 3242 | |
|---|
| 3243 | Updated the URL used on the automatically generated XML documenting files |
|---|
| 3244 | when compiling entities with the option doctype(web). |
|---|
| 3245 | |
|---|
| 3246 | Improved error checking when compiling calls to the {}/1 control construct. |
|---|
| 3247 | |
|---|
| 3248 | Corrected several typos and some outdated links on the Logtalk manuals. |
|---|
| 3249 | |
|---|
| 3250 | |
|---|
| 3251 | 2.18.0 - July 9, 2004 |
|---|
| 3252 | |
|---|
| 3253 | Added caching of method lookups in order to improve message processing |
|---|
| 3254 | performance (including messages to self and super calls). Applied several |
|---|
| 3255 | optimizations to runtime translation of messages in order to further |
|---|
| 3256 | improve performance. |
|---|
| 3257 | |
|---|
| 3258 | Improved error checking while parsing and compiling messages to self. |
|---|
| 3259 | |
|---|
| 3260 | Update ECLiPSe config files to compile the Prolog files generated by Logtalk |
|---|
| 3261 | (when compiling source files) in optimized mode instead of traceable mode. |
|---|
| 3262 | |
|---|
| 3263 | Updated description of patches needed for running Logtalk with XSB, added |
|---|
| 3264 | a shell script for easy integration of Logtalk with this Prolog compiler, |
|---|
| 3265 | and corrected a problem with its corresponding config file. |
|---|
| 3266 | |
|---|
| 3267 | Added multifile/1 directive to the syntax coloring configuration files of the |
|---|
| 3268 | supported text editors. |
|---|
| 3269 | |
|---|
| 3270 | |
|---|
| 3271 | 2.17.2 - June 14, 2004 |
|---|
| 3272 | |
|---|
| 3273 | Updated the Logtalk compiler to allow compilation of source files which |
|---|
| 3274 | contain only directives and no entity definition. |
|---|
| 3275 | |
|---|
| 3276 | Simplified loading of library and example entities by using Logtalk source |
|---|
| 3277 | files as loader files. |
|---|
| 3278 | |
|---|
| 3279 | Some improvements to the documentation, including the QUICK_START file and |
|---|
| 3280 | the User Manual for first-time users, and to the example descriptions. |
|---|
| 3281 | |
|---|
| 3282 | Corrected a bug in handling of local object operators that are also global |
|---|
| 3283 | operators. |
|---|
| 3284 | |
|---|
| 3285 | Corrected a bug where dynamic directives are not being generated for dynamic |
|---|
| 3286 | predicates that lack a scope directive or an initial set of clauses. |
|---|
| 3287 | |
|---|
| 3288 | Corrected a bug where local dynamic predicates would need a private scope |
|---|
| 3289 | directive in order to allow clauses of the predicate to be retracted. |
|---|
| 3290 | |
|---|
| 3291 | Simplified compilation of dynamic and discontiguous predicate directives. |
|---|
| 3292 | |
|---|
| 3293 | Added new "logic" example implementing a translator from logic propositions |
|---|
| 3294 | to conjunctive normal form. |
|---|
| 3295 | |
|---|
| 3296 | Corrected a problem with wrong end-on-lines on some files. |
|---|
| 3297 | |
|---|
| 3298 | Added a shell script for easy integration of Logtalk with CIAO Prolog. |
|---|
| 3299 | |
|---|
| 3300 | |
|---|
| 3301 | 2.17.1 - June 7, 2004 |
|---|
| 3302 | |
|---|
| 3303 | Added custom handling of specification of predicate exceptions in info/2 |
|---|
| 3304 | documenting directives when writing XML documenting files (declared as |
|---|
| 3305 | "exceptions is [Cond1-Term1, Cond2-Term2, ...]"; each pair (Condi, Termi) |
|---|
| 3306 | represents an error condition and its respective exception). |
|---|
| 3307 | |
|---|
| 3308 | Changed debugger command "e" to print exception terms instead of exiting |
|---|
| 3309 | Logtalk session. |
|---|
| 3310 | |
|---|
| 3311 | Corrected a compilation error with B-Prolog due to operator priorities. |
|---|
| 3312 | |
|---|
| 3313 | Corrected a possible problem with the redefinition of loaded entities that |
|---|
| 3314 | define (possibly at runtime) dynamic predicates. All clauses for an entity |
|---|
| 3315 | dynamic predicates are retracted before loading the new entity definition. |
|---|
| 3316 | |
|---|
| 3317 | Corrected a potential bug when pretty printing terms with variables in the |
|---|
| 3318 | debugger and in the created XML documenting files. |
|---|
| 3319 | |
|---|
| 3320 | Added four more DCGs examples ("walker movements", "iterative shell command |
|---|
| 3321 | parsing", "bill of materials", and "command language"). |
|---|
| 3322 | |
|---|
| 3323 | New "puzzles" and "metainterpreters" examples. |
|---|
| 3324 | |
|---|
| 3325 | Added a mode bundle for the SubEthaEdit 2.x (MacOS X) text editor providing |
|---|
| 3326 | syntax coloring for editing Logtalk source files. Optimized some of the |
|---|
| 3327 | regular expressions in the syntax coloring files for the Kate/Kwrite and Vim |
|---|
| 3328 | text editors. |
|---|
| 3329 | |
|---|
| 3330 | Removed predicate nth/3 from library entities listp, list, and difflist. |
|---|
| 3331 | Replaced by the predicates nth0/3 and nth1/3. Added new predicates nth1/4 |
|---|
| 3332 | and nth0/4. |
|---|
| 3333 | |
|---|
| 3334 | Updated the config file for Quintus Prolog to make use of the "files" |
|---|
| 3335 | library. |
|---|
| 3336 | |
|---|
| 3337 | Added experimental implementations for some Prolog compilers of the library |
|---|
| 3338 | portable protocol for operating system access (systemp.lgt). See the file |
|---|
| 3339 | library/experimental/NOTES for details. |
|---|
| 3340 | |
|---|
| 3341 | |
|---|
| 3342 | 2.17.0 - April 26, 2004 |
|---|
| 3343 | |
|---|
| 3344 | Added built-in debugging support implemented through the definition of a |
|---|
| 3345 | new pseudo-object named "debugger". Added "debug" compiler option. Renamed |
|---|
| 3346 | library entities "debuggerp" and "debugger" to, respectively, "event_dbgp" |
|---|
| 3347 | and "event_dbg". |
|---|
| 3348 | |
|---|
| 3349 | Improved installation instructions for multi-user environments. Added |
|---|
| 3350 | a shell script for installing Logtalk in Unix and Unix-like operating |
|---|
| 3351 | systems. Added a shell script for copying Logtalk xml, examples, and |
|---|
| 3352 | library directories to the user home directory. |
|---|
| 3353 | |
|---|
| 3354 | Added a logtalk.spec file for building Linux RPMs from sources. |
|---|
| 3355 | |
|---|
| 3356 | Added a set of shell scripts for easy integration of Logtalk with ECLiPSe, |
|---|
| 3357 | GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog, and YAP. |
|---|
| 3358 | |
|---|
| 3359 | Corrected bug in the definition of the pseudo-object "user" that resulted |
|---|
| 3360 | in mixed up metapredicate and type predicate properties. |
|---|
| 3361 | |
|---|
| 3362 | Removed config files for outdated versions of Qu-Prolog, SWI-Prolog, ECLiPSe, |
|---|
| 3363 | K-Prolog, CIAO, YAP, Amzi! Prolog, LPA Win-Prolog, SICStus Prolog, and XSB. |
|---|
| 3364 | |
|---|
| 3365 | |
|---|
| 3366 | 2.16.2 - April 2, 2004 |
|---|
| 3367 | |
|---|
| 3368 | Corrected a bug in the library category monitor (file library/monitor.lgt) |
|---|
| 3369 | that prevents its compilation. |
|---|
| 3370 | |
|---|
| 3371 | Changed the possible values of the read-only flag startup_message (defined |
|---|
| 3372 | in the config files) to "flags" (print banner and flag values), "banner" |
|---|
| 3373 | (print only the banner), and "none" (do not print neither the banner nor the |
|---|
| 3374 | flag values). Default value is "flags". |
|---|
| 3375 | |
|---|
| 3376 | Updated the "errors" example to illustrate the error messages thrown when |
|---|
| 3377 | trying to redefine Logtalk built-in control constructs. |
|---|
| 3378 | |
|---|
| 3379 | Corrected a small problem with the Logtalk language specification file for |
|---|
| 3380 | Apple's Xcode IDE. |
|---|
| 3381 | |
|---|
| 3382 | Added preliminary support for syntax coloring using the Windows text editor |
|---|
| 3383 | Crimson Editor. |
|---|
| 3384 | |
|---|
| 3385 | |
|---|
| 3386 | 2.16.1 - March 23, 2004 |
|---|
| 3387 | |
|---|
| 3388 | The local built-in method parameter/2 can now be used inside categories |
|---|
| 3389 | (but please read the warnings about such practice on the user manual). |
|---|
| 3390 | |
|---|
| 3391 | Updated the Logtalk compiler to report an error when the user tries to |
|---|
| 3392 | redefine a message sending or external call control construct inside an |
|---|
| 3393 | object or category. |
|---|
| 3394 | |
|---|
| 3395 | Corrected a bug in the compilation of metacalls whose meta-arguments are |
|---|
| 3396 | variables. |
|---|
| 3397 | |
|---|
| 3398 | Removed references to file sax.jar from the scripts used to convert XML |
|---|
| 3399 | documenting files into (X)HTML. Updated scripts html.sh, htmlnt.cmd, and |
|---|
| 3400 | htmldos.bat to use XT 20020426a or later version. |
|---|
| 3401 | |
|---|
| 3402 | Improved syntax coloring accuracy of built-in predicates and methods for |
|---|
| 3403 | the SubEthaEdit text editor. |
|---|
| 3404 | |
|---|
| 3405 | Updated config file for Qu-Prolog 6.4. |
|---|
| 3406 | |
|---|
| 3407 | |
|---|
| 3408 | 2.16.0 - March 3, 2004 |
|---|
| 3409 | |
|---|
| 3410 | Logtalk is now distributed under the Artistic License 2.0. |
|---|
| 3411 | |
|---|
| 3412 | Operators declared inside an entity are now local to the entity, not |
|---|
| 3413 | affecting the global operator table (complying with the Logtalk language |
|---|
| 3414 | specification). Input and output of terms from inside objects and |
|---|
| 3415 | categories now work as expected in the presence of local operator |
|---|
| 3416 | declarations. Added a new example named "operators". |
|---|
| 3417 | |
|---|
| 3418 | Updated built-in method predicate_property/2 for returning metapredicate/1 |
|---|
| 3419 | properties for both Logtalk and Prolog metapredicates. |
|---|
| 3420 | |
|---|
| 3421 | Added support for calls to non-ISO Prolog standard built-in metapredicates |
|---|
| 3422 | inside objects and categories. Added support for the declaration of non-ISO |
|---|
| 3423 | Prolog standard metapredicates in the config files. |
|---|
| 3424 | |
|---|
| 3425 | Small change to the way the Logtalk compiler reports the compilation of |
|---|
| 3426 | entities. Small optimizations to the compilation of Logtalk source files. |
|---|
| 3427 | |
|---|
| 3428 | Corrected a bug where calls to Logtalk built-in predicates would be |
|---|
| 3429 | reported as non-portable when the value of compiler option portability is |
|---|
| 3430 | set to warning. |
|---|
| 3431 | |
|---|
| 3432 | New config file for Qu-Prolog 6.4 (see the configs/NOTES file for details). |
|---|
| 3433 | |
|---|
| 3434 | Corrected a problem with the syntax coloring of quoted atoms and strings |
|---|
| 3435 | in the SubEthaEdit text editor. Added more accurate syntax highlight for |
|---|
| 3436 | built-in methods and built-in predicates. |
|---|
| 3437 | |
|---|
| 3438 | Updated the syntax coloring configuration files for all supported text |
|---|
| 3439 | editors to recognize the file extension used by the config files. |
|---|
| 3440 | |
|---|
| 3441 | |
|---|
| 3442 | 2.15.6 - February 9, 2004 |
|---|
| 3443 | |
|---|
| 3444 | Added "xmlspec" compiler option in order to specify the extension (dtd |
|---|
| 3445 | or xsd) of the file describing the XML documenting files specification. |
|---|
| 3446 | |
|---|
| 3447 | Renamed compiler option "named_anonymous_vars" to the more appropriated |
|---|
| 3448 | name "underscore_vars". Changed possible option values to "dont_care" and |
|---|
| 3449 | "singletons" (default). |
|---|
| 3450 | |
|---|
| 3451 | Added XSLT file for converting XML documenting files to XHTML 1.0 Strict |
|---|
| 3452 | files. Set the default encoding of all XSLT files to UTF-8. |
|---|
| 3453 | |
|---|
| 3454 | Added syntax coloring support for the KDE Kate and Kwrite text editors. |
|---|
| 3455 | |
|---|
| 3456 | Improved syntax coloring configuration files for VIM, jEdit, NEdit, |
|---|
| 3457 | SubEthaEdit, and Emacs text editors. |
|---|
| 3458 | |
|---|
| 3459 | Removed outdated support for MacOS X Project Builder and added support |
|---|
| 3460 | for the new MacOS X Xcode developer tool. |
|---|
| 3461 | |
|---|
| 3462 | Corrected bug in the built-in predicate current_logtalk_flag/2 that |
|---|
| 3463 | prevented some flag values from being returned after using the built-in |
|---|
| 3464 | predicate set_logtalk_flag/2. |
|---|
| 3465 | |
|---|
| 3466 | Corrected bug in the shapes example (wrong placement of the declaration |
|---|
| 3467 | of the predicate side/1). |
|---|
| 3468 | |
|---|
| 3469 | |
|---|
| 3470 | 2.15.5 - December 30, 2003 |
|---|
| 3471 | |
|---|
| 3472 | Make operator ^^/1 right-associative for consistency with remaining |
|---|
| 3473 | operator declarations. |
|---|
| 3474 | |
|---|
| 3475 | Added file BIBLIOGRAPHY containing a list of Logtalk publications in |
|---|
| 3476 | BibTeX format. |
|---|
| 3477 | |
|---|
| 3478 | Added a font-lock file for Emacs providing syntax coloring for editing |
|---|
| 3479 | Logtalk source files. |
|---|
| 3480 | |
|---|
| 3481 | Added an implementation of the Smalltalk dependent mechanism to the |
|---|
| 3482 | standard Logtalk library. |
|---|
| 3483 | |
|---|
| 3484 | Updated the config file for ECLiPSe 5.4~5.7 with missing ISO Prolog |
|---|
| 3485 | predicate definitions needed for successful compilation of all entities |
|---|
| 3486 | in the Logtalk standard library. |
|---|
| 3487 | |
|---|
| 3488 | Updated manual pages to comply with XHTML 1.0 Strict and to provide |
|---|
| 3489 | better navigation. |
|---|
| 3490 | |
|---|
| 3491 | |
|---|
| 3492 | 2.15.4 - July 9, 2003 |
|---|
| 3493 | |
|---|
| 3494 | Corrected a spurious backtracking bug in the DCG rule translator. Added |
|---|
| 3495 | two more examples of DCGs. |
|---|
| 3496 | |
|---|
| 3497 | New config file for XSB 2.6. Updated Logtalk compiler to compile cleanly |
|---|
| 3498 | under XSB after applying the patch described in configs/NOTES. |
|---|
| 3499 | |
|---|
| 3500 | Updated SWI-Prolog config file to hide compiled entity predicates (requires |
|---|
| 3501 | SWI-Prolog 5.2.3 or later version). New optional file configs/swihook.pl |
|---|
| 3502 | contains hook code that allows Logtalk entities to be compiled and loaded |
|---|
| 3503 | using SWI-Prolog load_files/2 and consult/1 predicates. |
|---|
| 3504 | |
|---|
| 3505 | Syntax definition file for the Hydra 1.1 (MacOS X) text editor providing |
|---|
| 3506 | syntax coloring for editing Logtalk source files. |
|---|
| 3507 | |
|---|
| 3508 | Updated syntax coloring files for jEdit, NEdit, Vim, and TextPad in order |
|---|
| 3509 | to recognize character code constants (0'x) and the DCG operator -->/2. |
|---|
| 3510 | |
|---|
| 3511 | |
|---|
| 3512 | 2.15.3 - June 27, 2003 |
|---|
| 3513 | |
|---|
| 3514 | Updated experimental support for DCG rules to prevent over-simplification |
|---|
| 3515 | of unification goals in the compilation of rules to clauses. Push-back |
|---|
| 3516 | lists can now be used on rule heads. |
|---|
| 3517 | |
|---|
| 3518 | The compilation mode of an entity (static/dynamic) is now stored in the |
|---|
| 3519 | corresponding entity table (implying recompilation of all entities). |
|---|
| 3520 | |
|---|
| 3521 | Updated GNU Prolog config file to hide compiled entity predicates. |
|---|
| 3522 | |
|---|
| 3523 | Updated SWI-Prolog config file for better integration of Logtalk with |
|---|
| 3524 | this compiler. |
|---|
| 3525 | |
|---|
| 3526 | |
|---|
| 3527 | 2.15.2 - April 2, 2003 |
|---|
| 3528 | |
|---|
| 3529 | Experimental support for DCG rules inside categories and objects. Added |
|---|
| 3530 | built-in methods phrase/2 and phrase/3. |
|---|
| 3531 | |
|---|
| 3532 | Updated GNU Prolog config file to not hide compiled entity predicates in |
|---|
| 3533 | order to avoid incompatibilities with dynamic entities. |
|---|
| 3534 | |
|---|
| 3535 | |
|---|
| 3536 | 2.15.1 - March 8, 2003 |
|---|
| 3537 | |
|---|
| 3538 | New example, msglog, of using events and monitors to record, replay, and |
|---|
| 3539 | print user messages. |
|---|
| 3540 | |
|---|
| 3541 | Corrected a typo on the jEdit templates that resulted in syntax errors. |
|---|
| 3542 | Corrected wrong year format in info/1 directive in all entity templates. |
|---|
| 3543 | Added missing version info key to jEdit prototype template. |
|---|
| 3544 | |
|---|
| 3545 | Corrected documentation of built-in local methods self/1 and sender/1. |
|---|
| 3546 | Updated documentation of built-in local methods parameter/2 and this/1. |
|---|
| 3547 | |
|---|
| 3548 | |
|---|
| 3549 | 2.15.0 - February 5, 2003 |
|---|
| 3550 | |
|---|
| 3551 | Changed "authors" key in info/1 directive to "author". |
|---|
| 3552 | |
|---|
| 3553 | Corrected documentation of built-in local method this/1. |
|---|
| 3554 | |
|---|
| 3555 | New geometric shapes example implemented in two versions, one |
|---|
| 3556 | prototype-based and the other one class-based. |
|---|
| 3557 | |
|---|
| 3558 | Improved support for jEdit text editor by adding a set of programming |
|---|
| 3559 | templates for use with the editor Templates plug-in. |
|---|
| 3560 | |
|---|
| 3561 | Added basic support for syntax highlighting and programming templates |
|---|
| 3562 | for MacOS X Project builder. |
|---|
| 3563 | |
|---|
| 3564 | |
|---|
| 3565 | 2.14.7 - January 10, 2003 |
|---|
| 3566 | |
|---|
| 3567 | Corrected a bug in the built-in methods asserta/1 and assertz/1 when |
|---|
| 3568 | asserting predicate rules. |
|---|
| 3569 | |
|---|
| 3570 | The built-in predicates logtalk_compile/1-2 and logtalk_load/1-2 now |
|---|
| 3571 | accept both an entity (an atom) or a list of entities (a list of atoms). |
|---|
| 3572 | |
|---|
| 3573 | Optimized the code generated when compiling or asserting clauses for |
|---|
| 3574 | dynamic predicates. |
|---|
| 3575 | |
|---|
| 3576 | Optimized protected inheritance performance on some Prolog compilers. |
|---|
| 3577 | |
|---|
| 3578 | |
|---|
| 3579 | 2.14.6 - December 31, 2002 |
|---|
| 3580 | |
|---|
| 3581 | Corrected a bug where the opening directive of an object that, |
|---|
| 3582 | simultaneously, implements a protocol, imports a category, instantiates |
|---|
| 3583 | a class, and specializes a superclass, will not be recognized. |
|---|
| 3584 | |
|---|
| 3585 | |
|---|
| 3586 | 2.14.5 - December 20, 2002 |
|---|
| 3587 | |
|---|
| 3588 | Simplified dynamic table of predicate declarations by removing two |
|---|
| 3589 | redundant arguments. |
|---|
| 3590 | |
|---|
| 3591 | Corrected a bug where sending messages such as true/0 or !/0 to an |
|---|
| 3592 | unknown object succeeded instead of throwing the correct exception. |
|---|
| 3593 | |
|---|
| 3594 | Simplified the code used to generate links in the lgtpdfa4.xsl and |
|---|
| 3595 | lgtpdfus.xsl XSLT files. |
|---|
| 3596 | |
|---|
| 3597 | |
|---|
| 3598 | 2.14.4 - November 5, 2002 |
|---|
| 3599 | |
|---|
| 3600 | Removed definition of deprecated built-in predicate logtalk_version/3. |
|---|
| 3601 | |
|---|
| 3602 | Show flag names when printing at startup the default flag values. |
|---|
| 3603 | |
|---|
| 3604 | Small change to messages printed on console with smart compilation of |
|---|
| 3605 | source files turned on. |
|---|
| 3606 | |
|---|
| 3607 | Updated YAP 4.3.x config file to use the YAP "system" library to access |
|---|
| 3608 | the operating system for time, date, and file properties (enabling smart |
|---|
| 3609 | source code compilation). |
|---|
| 3610 | |
|---|
| 3611 | Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files to workaround a bug |
|---|
| 3612 | in the PassiveTeX 1.21 XSL:FO processor. |
|---|
| 3613 | |
|---|
| 3614 | |
|---|
| 3615 | 2.14.3 - September 16, 2002 |
|---|
| 3616 | |
|---|
| 3617 | New compiler option, doctype, to set the doctype reference (if any) |
|---|
| 3618 | in the XML documenting files. Default value is "local" for backward |
|---|
| 3619 | compatibility. Updated the user manual section on compiler options. |
|---|
| 3620 | |
|---|
| 3621 | The Logtalk built-in predicate logtalk_version/3 should be considered |
|---|
| 3622 | deprecated (use current_logtalk_flag/3 instead). All references to this |
|---|
| 3623 | predicate have been removed from the manuals. |
|---|
| 3624 | |
|---|
| 3625 | Updated the jEdit syntax coloring config file for the new jEdit 4.1 |
|---|
| 3626 | version. |
|---|
| 3627 | |
|---|
| 3628 | Updated the lgtpdfa4.xsl and lgtpdfus.xsl XSLT files for compatibility |
|---|
| 3629 | with the XSL:FO processors Apache FOP 0.20.4, PassiveTeX, and RenderX |
|---|
| 3630 | and with the XSL W3C Recommendation of October 15, 2001. Updated the |
|---|
| 3631 | pdf.bat and pdf.sh scripts to reference the latest version of the |
|---|
| 3632 | Apache FOP processor (0.20.4). |
|---|
| 3633 | |
|---|
| 3634 | Changed the shell scripts html.sh and pdf.sh for compatibility with the |
|---|
| 3635 | sh, bash, and zsh shells. |
|---|
| 3636 | |
|---|
| 3637 | |
|---|
| 3638 | 2.14.2 - August 26, 2002 |
|---|
| 3639 | |
|---|
| 3640 | Calls to built-in method parameter/2 are now compiled inline, improving |
|---|
| 3641 | call performance. |
|---|
| 3642 | |
|---|
| 3643 | Updated Logtalk compiler to clean temporary compilation predicates after |
|---|
| 3644 | compiling an entity instead of only before compilation. |
|---|
| 3645 | |
|---|
| 3646 | Updated YAP 4.3.x config file for better Logtalk integration by hiding |
|---|
| 3647 | all internal compiler, runtime, and compiled entities static predicates. |
|---|
| 3648 | |
|---|
| 3649 | Updated GNU Prolog config file for better Logtalk integration by hiding |
|---|
| 3650 | all internal compiler, runtime, and compiled entities predicates. |
|---|
| 3651 | |
|---|
| 3652 | Updated the XSLT conversion scripts lgtxml.xsl and lgthtml.xsl to correct |
|---|
| 3653 | some HTML conformance errors in the generated pages. |
|---|
| 3654 | |
|---|
| 3655 | Corrected some XHTML conformance errors in the manual pages. |
|---|
| 3656 | |
|---|
| 3657 | |
|---|
| 3658 | 2.14.1 - July 31, 2002 |
|---|
| 3659 | |
|---|
| 3660 | New Windows NT script and updated Unix shell script for batch converting |
|---|
| 3661 | XML documenting files to HTML. Both scripts also generate an index.html |
|---|
| 3662 | file containing links to all converted XML documenting files. |
|---|
| 3663 | |
|---|
| 3664 | Corrected wrong XHTML DOCTYPE declaration in manual pages. |
|---|
| 3665 | |
|---|
| 3666 | |
|---|
| 3667 | 2.14.0 - July 26, 2002 |
|---|
| 3668 | |
|---|
| 3669 | Renamed all compiler and runtime internal predicates and all auxiliary |
|---|
| 3670 | predicates in the config files to start with a "$" character. |
|---|
| 3671 | |
|---|
| 3672 | New compiler option, code_prefix, to set a prefix for all Prolog code |
|---|
| 3673 | functors generated by Logtalk when compiling entities. Default is ''. |
|---|
| 3674 | |
|---|
| 3675 | New compiler option, named_anonymous_vars, that instructs the compiler to |
|---|
| 3676 | interpret variables that start with an underscore as anonymous variables |
|---|
| 3677 | (and to not report them as singleton variables). Default value is "off". |
|---|
| 3678 | |
|---|
| 3679 | Directive info/2 was wrongly declared as a entity directive instead of a |
|---|
| 3680 | predicate directive. |
|---|
| 3681 | |
|---|
| 3682 | Converted all manual pages to XHTML 1.0 format. Corrected a wrong link in |
|---|
| 3683 | the reference manual. Replaced GIF images by PNG versions. |
|---|
| 3684 | |
|---|
| 3685 | Updated BProlog 6.x config file to workaround the new 6.2 built-in |
|---|
| 3686 | predicate ::/2 that conflicts with the same named Logtalk message sending |
|---|
| 3687 | operator. |
|---|
| 3688 | |
|---|
| 3689 | Removed call to the obsolete built-in predicate nodbgcomp/0 from all |
|---|
| 3690 | ECLiPSe config files. |
|---|
| 3691 | |
|---|
| 3692 | |
|---|
| 3693 | 2.13.0 - June 15, 2002 |
|---|
| 3694 | |
|---|
| 3695 | Logtalk now outputs Prolog code using write_canonical/2 instead of |
|---|
| 3696 | write_term/3. Goals are better portability of the generated Prolog files |
|---|
| 3697 | and avoid issues with clauses with long bodies for Prolog compilers that |
|---|
| 3698 | use a term print depth limit to prevent problems with cyclic terms. |
|---|
| 3699 | |
|---|
| 3700 | Added report of default flag values at Logtalk startup. |
|---|
| 3701 | |
|---|
| 3702 | Logtalk now prints a warning when redefining parametric objects. |
|---|
| 3703 | |
|---|
| 3704 | Removed need of an abort/0 predicate from the Logtalk debugger example. |
|---|
| 3705 | Removed any definition of this predicate from the config files. |
|---|
| 3706 | |
|---|
| 3707 | Added missing definitions for some ISO built-in predicates to the Amzi! |
|---|
| 3708 | Prolog 6.2.2 config file. |
|---|
| 3709 | |
|---|
| 3710 | |
|---|
| 3711 | 2.12.0 - May 25, 2002 |
|---|
| 3712 | |
|---|
| 3713 | New read-only Logtalk flag "version". Corrected exception term generated |
|---|
| 3714 | when trying to modify a read-only flag using the set_logtalk_flag/2 |
|---|
| 3715 | built-in predicate. |
|---|
| 3716 | |
|---|
| 3717 | Updated config file for OpenProlog 1.1b5. |
|---|
| 3718 | |
|---|
| 3719 | New config file for ECLiPSe 5.4. |
|---|
| 3720 | |
|---|
| 3721 | Renamed config files for CIAO 1.7 (beta of 1.8) to "ciao_aux18.config" |
|---|
| 3722 | and "ciao18.config". |
|---|
| 3723 | |
|---|
| 3724 | Updated config file for Amzi! Prolog 6.2.2. |
|---|
| 3725 | |
|---|
| 3726 | New example of using some of the built-in database handling methods |
|---|
| 3727 | (dynpred). |
|---|
| 3728 | |
|---|
| 3729 | Syntax configuration files for jEdit 4.0, VIM 6.1, NEdit 5.2, and |
|---|
| 3730 | TextPad 4.5 text editors providing syntax highlighting for editing |
|---|
| 3731 | Logtalk source files. |
|---|
| 3732 | |
|---|
| 3733 | |
|---|
| 3734 | 2.11.0 - April 22, 2002 |
|---|
| 3735 | |
|---|
| 3736 | Added a "smart compilation" feature to the Logtalk compiler, controlled |
|---|
| 3737 | by a "smart_compilation" flag. Only available in Prolog compilers that |
|---|
| 3738 | provide access to file modification dates. |
|---|
| 3739 | |
|---|
| 3740 | Added a "startup_message" flag to control printing of the Logtalk banner |
|---|
| 3741 | at startup. |
|---|
| 3742 | |
|---|
| 3743 | Reworked Logtalk pre-processor compilation and loading reports. Compiler |
|---|
| 3744 | option "report" now toggles between normal reporting (as specified by the |
|---|
| 3745 | other flags) and silent compilation/loading of source files. |
|---|
| 3746 | |
|---|
| 3747 | |
|---|
| 3748 | 2.10.0 - April 5, 2002 |
|---|
| 3749 | |
|---|
| 3750 | Scope of object asserted predicates for which there is no declaration is |
|---|
| 3751 | now a function of the context instead of always being declared public. |
|---|
| 3752 | Asserting in this, the predicate is declared private, asserting in self, |
|---|
| 3753 | the predicate is declared protected, otherwise the predicate is declared |
|---|
| 3754 | public. |
|---|
| 3755 | |
|---|
| 3756 | Throw an error if a category contains clauses for dynamic predicates. |
|---|
| 3757 | |
|---|
| 3758 | Updated documentation on categories and built-in methods for database |
|---|
| 3759 | handling. |
|---|
| 3760 | |
|---|
| 3761 | Retracting all clauses for a dynamic predicate from an object now allows |
|---|
| 3762 | an inherited definition to be called when sending the corresponding |
|---|
| 3763 | message. In previous versions the message just failed. |
|---|
| 3764 | |
|---|
| 3765 | Added missing entries for the built-in predicates current_logtalk_flag/2 |
|---|
| 3766 | and set_logtalk_flag/2 to the Logtalk compiler built-in predicates table. |
|---|
| 3767 | |
|---|
| 3768 | Updated config file for Amzi! Prolog 6.1.74. |
|---|
| 3769 | |
|---|
| 3770 | Updated notes on patching XSB to work with Logtalk. |
|---|
| 3771 | |
|---|
| 3772 | |
|---|
| 3773 | 2.9.3 - February 9, 2002 |
|---|
| 3774 | |
|---|
| 3775 | New current_logtalk_flag/2 and set_logtalk_flag/2 built-in predicates. |
|---|
| 3776 | |
|---|
| 3777 | Updated documentation on new built-in predicates. |
|---|
| 3778 | |
|---|
| 3779 | Renamed SWI-Prolog config file swi330.config to swi.config. |
|---|
| 3780 | |
|---|
| 3781 | Renamed config file predicate lgt_default_compiler_option/2 to lgt_flag/2. |
|---|
| 3782 | |
|---|
| 3783 | New XSL style-sheets and shell scripts to convert Logtalk XML entity |
|---|
| 3784 | documenting files to PDF format using XSL Formating Objects. |
|---|
| 3785 | |
|---|
| 3786 | |
|---|
| 3787 | 2.9.2 - January 4, 2002 |
|---|
| 3788 | |
|---|
| 3789 | The Logtalk compiler can now print a warning when compiling source files |
|---|
| 3790 | that use non-ISO defined built-in predicates using a new portability/1 |
|---|
| 3791 | compiler option. Updated the relevant sections of the user manual and the |
|---|
| 3792 | errors example. |
|---|
| 3793 | |
|---|
| 3794 | Corrected a compiler bug where the entity relation tables only recorded |
|---|
| 3795 | the last entry per entity relation type. |
|---|
| 3796 | |
|---|
| 3797 | Updated config file for CIAO 1.7#162. |
|---|
| 3798 | |
|---|
| 3799 | |
|---|
| 3800 | 2.9.1 - December 5, 2001 |
|---|
| 3801 | |
|---|
| 3802 | Logtalk compiler now prints a warning when redefining or replacing an |
|---|
| 3803 | existing entity. |
|---|
| 3804 | |
|---|
| 3805 | Corrected a compiler bug in the error checking code for the info/1 |
|---|
| 3806 | and info/2 directives. |
|---|
| 3807 | |
|---|
| 3808 | Changed the order of object loading in the "mi" example to avoid |
|---|
| 3809 | spurious warning messages. |
|---|
| 3810 | |
|---|
| 3811 | Added a new problem ("bridge") to the "searching" example. Improved |
|---|
| 3812 | "performance" monitor to give correct reports on alternative solutions. |
|---|
| 3813 | Corrected a bug in the "water jug" state space example. |
|---|
| 3814 | |
|---|
| 3815 | |
|---|
| 3816 | 2.9.0 - October 22, 2001 |
|---|
| 3817 | |
|---|
| 3818 | Added config files for CIAO Prolog 1.7p115 and B-Prolog 6.0. |
|---|
| 3819 | |
|---|
| 3820 | Compiling and loading an entity that contains references to unknown |
|---|
| 3821 | entities (by default) prints a warning. Updated user and reference |
|---|
| 3822 | manuals. |
|---|
| 3823 | |
|---|
| 3824 | Rewritten all the compiler warning/error code and output messages. |
|---|
| 3825 | |
|---|
| 3826 | Changed compiled code functors postfixes from "_sdcl" and "_sdef" to |
|---|
| 3827 | "_idcl" and "_idef" (implies recompilation of all objects, protocols, |
|---|
| 3828 | and categories). |
|---|
| 3829 | |
|---|
| 3830 | Changed all occurrences and references to the term "entity_scope" to |
|---|
| 3831 | "scope". |
|---|
| 3832 | |
|---|
| 3833 | Removed some redundant productions from the Logtalk grammar. |
|---|
| 3834 | |
|---|
| 3835 | Updated documentation on the xml directory. Renamed some of the .xsl |
|---|
| 3836 | files. Added sample scripts to batch convert .xml files to .html files. |
|---|
| 3837 | |
|---|
| 3838 | Added a new loader utility file, all.loader, to load all library files |
|---|
| 3839 | loaded by the other loader files. |
|---|
| 3840 | |
|---|
| 3841 | Started work on documenting the Logtalk pre-processor/compiler source |
|---|
| 3842 | file. |
|---|
| 3843 | |
|---|
| 3844 | New "errors" example. Updated the "inheritance" example. |
|---|
| 3845 | |
|---|
| 3846 | |
|---|
| 3847 | 2.8.4 - March 9, 2001 |
|---|
| 3848 | |
|---|
| 3849 | Updated config files for BinProlog 8.0, K-Prolog 5.01, XSB 2.3, and |
|---|
| 3850 | Amzi! Prolog 4.103~5.0. |
|---|
| 3851 | |
|---|
| 3852 | New config file for Amzi! Prolog 6.1 beta. |
|---|
| 3853 | |
|---|
| 3854 | Corrected an incomplete entity definition in the Logtalk XML DTD. |
|---|
| 3855 | Rewrite the Logtalk XSLT files for improved compatibility with XSLT |
|---|
| 3856 | processors regarding handling of whitespace. |
|---|
| 3857 | |
|---|
| 3858 | A first cut of a XML Schema for the Logtalk XML documentation files |
|---|
| 3859 | (file xml/logtalk.xsd). |
|---|
| 3860 | |
|---|
| 3861 | Small improvements to the documentation. |
|---|
| 3862 | |
|---|
| 3863 | |
|---|
| 3864 | 2.8.3 - November 21, 2000 |
|---|
| 3865 | |
|---|
| 3866 | Corrected a bug where sending a message for a built-in method to an |
|---|
| 3867 | unknown object fails instead of generating the expected exception. |
|---|
| 3868 | |
|---|
| 3869 | Put some occurrences of atoms public, mode, and type between ()'s to |
|---|
| 3870 | avoid compilation errors in BinProlog 8.0 and other Prolog compilers |
|---|
| 3871 | that declare these atoms as operators. |
|---|
| 3872 | |
|---|
| 3873 | Corrected the definition of the state space of the "Missionaries and |
|---|
| 3874 | Cannibals" problem in the "searching" example that resulted in some |
|---|
| 3875 | wrong solutions. |
|---|
| 3876 | |
|---|
| 3877 | |
|---|
| 3878 | 2.8.2 - November 5, 2000 |
|---|
| 3879 | |
|---|
| 3880 | New .xsl file to convert .xml files to TeXML files. |
|---|
| 3881 | |
|---|
| 3882 | Fixed a problem with explicit compilation options being correctly parsed |
|---|
| 3883 | but not processed. |
|---|
| 3884 | |
|---|
| 3885 | Corrected a bug regarding default init options definition for the |
|---|
| 3886 | points, polygons, and bricks examples. Updated category initialization |
|---|
| 3887 | in roots example. |
|---|
| 3888 | |
|---|
| 3889 | |
|---|
| 3890 | 2.8.1 - October 28, 2000 |
|---|
| 3891 | |
|---|
| 3892 | New config file for K-Prolog 5.0. |
|---|
| 3893 | |
|---|
| 3894 | Improved compiler error detection and reporting of invalid directives |
|---|
| 3895 | and clauses. |
|---|
| 3896 | |
|---|
| 3897 | Corrected a problem with some Prolog compilers where compiling a file |
|---|
| 3898 | containing syntax errors may not close the file after the errors are |
|---|
| 3899 | reported. |
|---|
| 3900 | |
|---|
| 3901 | Many small improvements to all documentation. |
|---|
| 3902 | |
|---|
| 3903 | Small improvements to the .xsl files and to the output of .xml files. |
|---|
| 3904 | |
|---|
| 3905 | |
|---|
| 3906 | 2.8.0 - October 1, 2000 |
|---|
| 3907 | |
|---|
| 3908 | I have found just a few days ago that I have uploaded to the Logtalk web |
|---|
| 3909 | server a development version of Logtalk 2.7.0 instead of the final one! |
|---|
| 3910 | To avoid confusions I decided to release a new version. |
|---|
| 3911 | |
|---|
| 3912 | Changed implementation of the logtalk_compile/1-2 and logtalk_load/1-2 |
|---|
| 3913 | predicates to only accept a list of entities instead of either an entity |
|---|
| 3914 | or a list of entities, simplifying and improving the performance of these |
|---|
| 3915 | predicates. Improved error reporting for the logtalk_compile/1 and |
|---|
| 3916 | logtalk_load/1 predicates. Updated relevant sessions in the user and |
|---|
| 3917 | reference manuals. |
|---|
| 3918 | |
|---|
| 3919 | Simplified the implementation of the following predicates, by sharing |
|---|
| 3920 | the error checking code with the corresponding extended versions: |
|---|
| 3921 | implements_protocol/2, imports_category/2, instantiates_class/2, |
|---|
| 3922 | specializes_class/2, extends_protocol/2, and extends_object/2. |
|---|
| 3923 | |
|---|
| 3924 | Completed some missing library file dependencies documentation in some |
|---|
| 3925 | examples. |
|---|
| 3926 | |
|---|
| 3927 | New version of the QUICK_START help file. Updated tutorial. |
|---|
| 3928 | |
|---|
| 3929 | |
|---|
| 3930 | 2.7.0 - August 24, 2000 |
|---|
| 3931 | |
|---|
| 3932 | First release of the Logtalk standard library of objects, protocols and |
|---|
| 3933 | categories. |
|---|
| 3934 | |
|---|
| 3935 | Rewritten all examples to use the new Logtalk standard library. |
|---|
| 3936 | |
|---|
| 3937 | New logtalk_load/2 and logtalk_compile/2 Logtalk built-in predicates, |
|---|
| 3938 | accepting a list of compiler options. See the User and Reference Manuals |
|---|
| 3939 | for details. |
|---|
| 3940 | |
|---|
| 3941 | New XSLT file for viewing .xml files in Microsoft Internet Explorer 5.5 |
|---|
| 3942 | for Windows after installing the latest Microsoft XML Parser Preview |
|---|
| 3943 | Release. Small improvements in all XSLT files. |
|---|
| 3944 | |
|---|
| 3945 | Starting with this version all config files need to provide a definition |
|---|
| 3946 | for the compare/3 predicate if it is not built-in in the corresponding |
|---|
| 3947 | Prolog compiler. Also, default Logtalk compiler options are now also set |
|---|
| 3948 | in the config files using the lgt_default_compiler_option/2 predicate. |
|---|
| 3949 | |
|---|
| 3950 | Updated config file for CIAO 1.6p1. See the configs/NOTES file for |
|---|
| 3951 | details. |
|---|
| 3952 | |
|---|
| 3953 | |
|---|
| 3954 | 2.6.2 - July 4, 2000 |
|---|
| 3955 | |
|---|
| 3956 | Improved performance and error checking for the built-in predicates |
|---|
| 3957 | create_object/4, create_protocol/3 and create_category/4. |
|---|
| 3958 | |
|---|
| 3959 | Updated config file for BinProlog 7.83. |
|---|
| 3960 | |
|---|
| 3961 | Many small updates to all documentation. |
|---|
| 3962 | |
|---|
| 3963 | New PDF versions of the documentation formated for printing (with page |
|---|
| 3964 | numbers, table of contents and index)are now available in both A4 and |
|---|
| 3965 | US letter formats. |
|---|
| 3966 | |
|---|
| 3967 | |
|---|
| 3968 | 2.6.1 - May 5, 2000 |
|---|
| 3969 | |
|---|
| 3970 | Modified the structure of the automatically generated XML documenting |
|---|
| 3971 | files to improve XSL translation performance. Added a new, more standard |
|---|
| 3972 | compliant, XSL file to generate HTML files and renamed the old one to |
|---|
| 3973 | ie5.xsl. See the xml/NOTES file for details. Corrected an error in the |
|---|
| 3974 | logtalk.css CSS file. |
|---|
| 3975 | |
|---|
| 3976 | Modified the definitions of predicates lgt_file_extension/2 and |
|---|
| 3977 | lgt_file_name/2 in all config files. |
|---|
| 3978 | |
|---|
| 3979 | Updated all the user manual sessions related to automatic documentation. |
|---|
| 3980 | |
|---|
| 3981 | Updated all HTML documentation for future XHTML 1.0 conformance. |
|---|
| 3982 | |
|---|
| 3983 | Start adding documenting directives to most examples. |
|---|
| 3984 | |
|---|
| 3985 | |
|---|
| 3986 | 2.6.0 - April 27, 2000 |
|---|
| 3987 | |
|---|
| 3988 | Added support for documentation of objects, protocols, and categories, |
|---|
| 3989 | using automatic generation of XML files. |
|---|
| 3990 | |
|---|
| 3991 | Added info/1 and info/2 directives for documenting objects, protocols, |
|---|
| 3992 | categories, and predicates. Added definition of documentation file name |
|---|
| 3993 | extension and default file names for the DTD and XSL files to the config |
|---|
| 3994 | files. |
|---|
| 3995 | |
|---|
| 3996 | Improved error checking for the built-in predicates create_object/4, |
|---|
| 3997 | create_protocol/3 and create_category/4 to also detect invalid entity |
|---|
| 3998 | identifiers. |
|---|
| 3999 | |
|---|
| 4000 | Updated the user and reference manuals to describe the new automatic |
|---|
| 4001 | documenting features. |
|---|
| 4002 | |
|---|
| 4003 | Updated all HTML documentation to conform to HTML 4.01 strict standard. |
|---|
| 4004 | |
|---|
| 4005 | Corrected some wrong cross-reference links and titles in the reference |
|---|
| 4006 | and user manuals HTML pages. |
|---|
| 4007 | |
|---|
| 4008 | PDF versions of the manuals and tutorial are now available in both A4 |
|---|
| 4009 | and US letter formats. |
|---|
| 4010 | |
|---|
| 4011 | Corrected two errors in the searching example, one in the definition of |
|---|
| 4012 | the farmer problem state space and the other when backtracking over |
|---|
| 4013 | performance reports. |
|---|
| 4014 | |
|---|
| 4015 | |
|---|
| 4016 | 2.5.2 - March 7, 2000 |
|---|
| 4017 | |
|---|
| 4018 | Updated manuals to clarify some limitations of declaring and defining |
|---|
| 4019 | dynamic predicates inside categories and documented a way of using the |
|---|
| 4020 | built-in local method this/1 to access object parameters. |
|---|
| 4021 | |
|---|
| 4022 | Removed references to parametric categories from the Logtalk |
|---|
| 4023 | documentation (at runtime we can only access object parameters, |
|---|
| 4024 | not category parameters). |
|---|
| 4025 | |
|---|
| 4026 | Corrected two wrong declarations of built-in methods (forall/2 and |
|---|
| 4027 | retractall/1) in the Logtalk pre-processor. |
|---|
| 4028 | |
|---|
| 4029 | Corrected bug where predicates declared in dynamic entities may have |
|---|
| 4030 | a "static" instead of a "dynamic" property. |
|---|
| 4031 | |
|---|
| 4032 | Corrected a bug in category compilation that prevented a dynamic category |
|---|
| 4033 | from being abolished. Speedup predicate definition lookups for categories. |
|---|
| 4034 | |
|---|
| 4035 | |
|---|
| 4036 | 2.5.1 - February 18, 2000 |
|---|
| 4037 | |
|---|
| 4038 | Two new examples: birds, a bird identification expert system adopted |
|---|
| 4039 | (with permission) from an Amzi example, and viewpoints, a set of |
|---|
| 4040 | prototypes showing how to do property sharing and value sharing in |
|---|
| 4041 | Logtalk. |
|---|
| 4042 | |
|---|
| 4043 | Renamed config file yap421.config to yap430.config to match the name of |
|---|
| 4044 | the new YAP 4.3.0 public release (named 4.2.1 while on beta testing). |
|---|
| 4045 | |
|---|
| 4046 | Partial config file for Trinc Prolog R3. |
|---|
| 4047 | |
|---|
| 4048 | |
|---|
| 4049 | 2.5.0 - December 29, 1999 |
|---|
| 4050 | |
|---|
| 4051 | The Logtalk pre-processor now accepts arbitrary clauses and directives |
|---|
| 4052 | to appear in a file before an opening entity directive. The clauses and |
|---|
| 4053 | directives are added unchanged to the compiled file. |
|---|
| 4054 | |
|---|
| 4055 | Improved performance for all kinds of message sending. |
|---|
| 4056 | |
|---|
| 4057 | Two new examples: reflection, showing how to implement a simple |
|---|
| 4058 | class-based reflective system, and symdiff, showing how to use |
|---|
| 4059 | parametric objects to implement symbolic expression differentiation |
|---|
| 4060 | and simplification. |
|---|
| 4061 | |
|---|
| 4062 | Updated config file for the beta 8 release of SWI-Prolog 3.3.0. |
|---|
| 4063 | |
|---|
| 4064 | |
|---|
| 4065 | 2.4.0 - December 1, 1999 |
|---|
| 4066 | |
|---|
| 4067 | Logtalk is now an Open Source project, available under Perl's Artistic |
|---|
| 4068 | license. |
|---|
| 4069 | |
|---|
| 4070 | Two new examples: instmethods, illustrating the use of instance defined |
|---|
| 4071 | methods, and classvars, showing how to implement class variables. |
|---|
| 4072 | |
|---|
| 4073 | Updated Logtalk grammar to explicitly allow for user-defined types |
|---|
| 4074 | in mode/2 directives. |
|---|
| 4075 | |
|---|
| 4076 | New config files for SWI-Prolog 3.3.0, SICStus Prolog 3.8 and CIAO |
|---|
| 4077 | Prolog 1.4p0 (incomplete). |
|---|
| 4078 | |
|---|
| 4079 | Updated config file for B-Prolog 4.0. |
|---|
| 4080 | |
|---|
| 4081 | Updated config file for GNU Prolog to use the new call_with_args() |
|---|
| 4082 | built-in predicate added in version 1.1.0. |
|---|
| 4083 | |
|---|
| 4084 | Updated config file for YAP Prolog to use the new call_with_args() |
|---|
| 4085 | built-in predicate added in version 4.2.1. |
|---|
| 4086 | |
|---|
| 4087 | |
|---|
| 4088 | 2.3.1 - September 22, 1999 |
|---|
| 4089 | |
|---|
| 4090 | Logtalk pre-processor updated to only report one warning per redefined |
|---|
| 4091 | Logtalk or Prolog built-in predicate. |
|---|
| 4092 | |
|---|
| 4093 | Changed some occurrences of atom "public" to "(public)" in |
|---|
| 4094 | compiler/logtalk.pl file to avoid syntax errors in Prolog compilers |
|---|
| 4095 | (like BinProlog) that define "public" as an operator. Also put some |
|---|
| 4096 | terms between ()'s to avoid syntax errors with ALS Prolog 3.1 |
|---|
| 4097 | |
|---|
| 4098 | Update config file for ALS Prolog to work with version 3.1. |
|---|
| 4099 | |
|---|
| 4100 | Updated configs/NOTES file include a workaround to use Logtalk with |
|---|
| 4101 | XSB 2.0, some guidelines on how to write loader utility files for |
|---|
| 4102 | BinProlog 7.50, and a bug in ALS Prolog 3.1 that affects Logtalk. |
|---|
| 4103 | |
|---|
| 4104 | |
|---|
| 4105 | 2.3.0 - September 12, 1999 |
|---|
| 4106 | |
|---|
| 4107 | Metapredicate information is now stored with the other predicate |
|---|
| 4108 | properties, instead of being discarded after compiling the clauses of |
|---|
| 4109 | a metapredicate. Added predicate property metapredicate/1. It is now |
|---|
| 4110 | possible to assert clauses for dynamic metapredicates. |
|---|
| 4111 | |
|---|
| 4112 | Corrected a bug in the processing of metacalls in pseudo-object user. |
|---|
| 4113 | |
|---|
| 4114 | Corrected a bug in the implementation of private inheritance. |
|---|
| 4115 | Improved performance of protected inheritance. |
|---|
| 4116 | |
|---|
| 4117 | Corrected failure of processing initialization/1 and op/3 directives in |
|---|
| 4118 | create_object/4, create_category/4 and create_protocol/3 built-in |
|---|
| 4119 | predicates. |
|---|
| 4120 | |
|---|
| 4121 | Corrected a bug when calling private static category predicates from |
|---|
| 4122 | importing objects. Simplified code generated for categories. |
|---|
| 4123 | |
|---|
| 4124 | Rewrite code for the built-in method current_predicate/1 to avoid |
|---|
| 4125 | duplicated or wrong results when overriding predicate declarations |
|---|
| 4126 | and to ensure that all possible argument type errors are detected. |
|---|
| 4127 | |
|---|
| 4128 | Changed compilation of classes that do not instantiate any (meta)class |
|---|
| 4129 | in order to throw the correct exception when a message is sent to them. |
|---|
| 4130 | |
|---|
| 4131 | Changed compilation of root objects (that do not instantiate, specialize |
|---|
| 4132 | or extend other objects) so that calls to "super" (^^/1) fail (as they |
|---|
| 4133 | should) instead of generating a "predicate does not exist" error message. |
|---|
| 4134 | |
|---|
| 4135 | Changed implementation of "super" calls (^^/1) to avoid a potential |
|---|
| 4136 | endless loop problem when using these calls from the inheritance root |
|---|
| 4137 | object of a reflexive class-based systems. |
|---|
| 4138 | |
|---|
| 4139 | Pre-processor now checks for callable and object identifier errors. |
|---|
| 4140 | Runtime now checks for non-instantiated messages. |
|---|
| 4141 | |
|---|
| 4142 | Added new example (inheritance) about public, protected and private |
|---|
| 4143 | inheritance. |
|---|
| 4144 | |
|---|
| 4145 | Updated metapredicates, lo, kernel, and types examples. Most of the |
|---|
| 4146 | code in the last two examples is being updated to form the basis of an |
|---|
| 4147 | upcoming Logtalk standard library. |
|---|
| 4148 | |
|---|
| 4149 | Small changes in the pre-processor/runtime code for compatibility with |
|---|
| 4150 | ECLiPSe 4.2.2. Updated config files for this Prolog compiler. |
|---|
| 4151 | |
|---|
| 4152 | Rewrite some predicates in the config files for SWI-Prolog and LPA |
|---|
| 4153 | Mac & WIN Prologs for improved performance. |
|---|
| 4154 | |
|---|
| 4155 | New tutorial session about events and monitors. |
|---|
| 4156 | |
|---|
| 4157 | Updated documentation to match the changes made in this version. |
|---|
| 4158 | |
|---|
| 4159 | |
|---|
| 4160 | 2.2.0 - July 10, 1999 |
|---|
| 4161 | |
|---|
| 4162 | Implemented public, protected and private object inheritance, protocol |
|---|
| 4163 | implementation and category importation. |
|---|
| 4164 | |
|---|
| 4165 | New Logtalk built-in predicates instantiates_class/3, extends_object/3, |
|---|
| 4166 | extends_protocol/3, specializes_class/3, imports_category/3 and |
|---|
| 4167 | implements_protocol/3. The third argument returns the relation scope. |
|---|
| 4168 | |
|---|
| 4169 | Pre-processor now checks most directive errors. |
|---|
| 4170 | |
|---|
| 4171 | Changed ^^/1 (super call) implementation to only allow the use of a |
|---|
| 4172 | single predicate call for argument and to retain the original sender |
|---|
| 4173 | of the message (see the updated sicstus example). |
|---|
| 4174 | |
|---|
| 4175 | Fixed bug that prevented directives with a variable number of arguments |
|---|
| 4176 | (like dynamic(), public(), uses(), ...) being recognized. |
|---|
| 4177 | |
|---|
| 4178 | Changed definition of predicate read_term/3 in the configs files of Amzi!, |
|---|
| 4179 | Aquarius, Arity, Eclipse, IC, K, LPA Mac&WIN, Master and XSB to always |
|---|
| 4180 | instantiates the singleton variables list to the empty list. Needed to |
|---|
| 4181 | prevent backtracking problems in logtalk_load/1 and logtalk_compile/1 |
|---|
| 4182 | predicates. |
|---|
| 4183 | |
|---|
| 4184 | Removed choice-point in processing metacalls in predicate definitions. |
|---|
| 4185 | |
|---|
| 4186 | A banner with the Logtalk version is printed after loading the runtime/ |
|---|
| 4187 | pre-processor. |
|---|
| 4188 | |
|---|
| 4189 | Removed variables example. The category attributes is now part of the |
|---|
| 4190 | kernel example. Corrected some harmless syntax errors in directives in |
|---|
| 4191 | kernel/attributes.lgt, kernel/monitor.lgt and miscellaneous/queens.lgt. |
|---|
| 4192 | |
|---|
| 4193 | Changed name of blocks example to bricks and object "block" to "brick" |
|---|
| 4194 | in order to avoid problems with some Prolog compilers that use the atom |
|---|
| 4195 | "block" for operators or built-in predicates. |
|---|
| 4196 | |
|---|
| 4197 | |
|---|
| 4198 | 2.1.0 - May 11, 1999 |
|---|
| 4199 | |
|---|
| 4200 | Fixed some bugs in the definition of the pseudo-object user when sending |
|---|
| 4201 | the message predicate_property/2. |
|---|
| 4202 | |
|---|
| 4203 | Renamed config file for Calypso to GNU Prolog. |
|---|
| 4204 | |
|---|
| 4205 | New config file for LPA WinProlog 4.0. |
|---|
| 4206 | |
|---|
| 4207 | Corrected the omission in the documentation of the Logtalk grammar of the |
|---|
| 4208 | built_in entity property. |
|---|
| 4209 | |
|---|
| 4210 | New tutorial pages about building reflective class-based systems. |
|---|
| 4211 | |
|---|
| 4212 | Modified pre-processor to compile throw/1 as a control structure to |
|---|
| 4213 | ensure compatibility with the GNU-Prolog compiler. |
|---|
| 4214 | |
|---|
| 4215 | Modified pre-processor to ensure compatibility with Prolog compilers that |
|---|
| 4216 | use immediate update semantics instead of the ISO logical database update. |
|---|
| 4217 | |
|---|
| 4218 | Improved simplification of compiled object and category clauses. |
|---|
| 4219 | |
|---|
| 4220 | Rewrite and clean up pre-processor code for better compiler performance. |
|---|
| 4221 | |
|---|
| 4222 | Several updates to the examples files. |
|---|
| 4223 | |
|---|
| 4224 | Changed all example loader files to wrap the call to logtalk_load/1 inside |
|---|
| 4225 | an initialization/1 directive for ISO standard compliance. |
|---|
| 4226 | |
|---|
| 4227 | |
|---|
| 4228 | 2.0 GM - February 9, 1999 |
|---|
| 4229 | |
|---|
| 4230 | Removed some redundant choice-points that are being created when |
|---|
| 4231 | compiling Logtalk entities. |
|---|
| 4232 | |
|---|
| 4233 | Small compilation speed optimizations. |
|---|
| 4234 | |
|---|
| 4235 | Logtalk compiled files now contain the declarations for the message |
|---|
| 4236 | sending operators to ensure compatibility with some Prolog compilers. |
|---|
| 4237 | |
|---|
| 4238 | Changed the way Logtalk pre-processor writes directives to ensure |
|---|
| 4239 | compatibility with some Prolog compilers. Corrected a bug in the |
|---|
| 4240 | processing of the op/3 directive. |
|---|
| 4241 | |
|---|
| 4242 | Updated PrologII+ config file for version 4.5. |
|---|
| 4243 | |
|---|
| 4244 | Changed the definitions of catch/3 and throw/1 in the config files for |
|---|
| 4245 | LPA Prolog compilers. |
|---|
| 4246 | |
|---|
| 4247 | New config file for MasterProlog 4.1; removed config file for the |
|---|
| 4248 | old BIM Prolog 4.0. |
|---|
| 4249 | |
|---|
| 4250 | Corrected an error in the config file for OpenProlog in the definition |
|---|
| 4251 | of the write_term/3 predicate. |
|---|
| 4252 | |
|---|
| 4253 | Added a safer definition for write_term/3 predicate in the config |
|---|
| 4254 | files for Amzi, Aquarius, Arity, Eclipse, IC, K, LPA Mac, LPA Win, |
|---|
| 4255 | and XSB Prolog compilers. |
|---|
| 4256 | |
|---|
| 4257 | Added a QUICK_START file. |
|---|
| 4258 | |
|---|
| 4259 | |
|---|
| 4260 | 2.0 Beta 3 - February 1, 1999 |
|---|
| 4261 | |
|---|
| 4262 | Closed some encapsulation holes in the implementation of super calls. |
|---|
| 4263 | |
|---|
| 4264 | Changed Logtalk pre-processor to use write_term/3 instead of write/2 and |
|---|
| 4265 | writeq/2 to workaround some compatibility problems with some Prolog |
|---|
| 4266 | compilers. |
|---|
| 4267 | |
|---|
| 4268 | Changed mode operators priority and type to be compatible with the ISO |
|---|
| 4269 | standard. |
|---|
| 4270 | |
|---|
| 4271 | Modified definition of predicate read_term/3 in the config file for Amzi |
|---|
| 4272 | compiler to return the atom end_of_file instead of '!EOF' at the end of |
|---|
| 4273 | a file (this prevented Logtalk to complete compilation any file under |
|---|
| 4274 | this compiler). Improved detection of built-in predicates while compiling. |
|---|
| 4275 | |
|---|
| 4276 | Removed config file for wamcc. This compiler have been replaced by |
|---|
| 4277 | Calypso (developed by the same author). |
|---|
| 4278 | |
|---|
| 4279 | Updated K-Prolog config file for version 4.50. |
|---|
| 4280 | |
|---|
| 4281 | Improved documentation of template config file. |
|---|
| 4282 | |
|---|
| 4283 | Added SCRIPT files to the kernel and types examples. |
|---|
| 4284 | |
|---|
| 4285 | Updated Tutorial and User and Reference Manuals. |
|---|
| 4286 | |
|---|
| 4287 | New end user license. |
|---|
| 4288 | |
|---|
| 4289 | |
|---|
| 4290 | 2.0 Beta 2 - November 16, 1998 |
|---|
| 4291 | |
|---|
| 4292 | Built-ins logtalk_compile/1 and logtalk_load/1 updated to match |
|---|
| 4293 | the documentation regarding thrown errors and to accept a list of |
|---|
| 4294 | entities to compile/load. |
|---|
| 4295 | |
|---|
| 4296 | Modified the examples loader utility files to make only a call to |
|---|
| 4297 | logtalk_load/1 by using a list of entities. This should make it easy to |
|---|
| 4298 | modify these files for compilers that don't support arbitrary queries |
|---|
| 4299 | in a file. |
|---|
| 4300 | |
|---|
| 4301 | Logtalk runtime no longer tries to catch some of the errors thrown |
|---|
| 4302 | by ::/2. |
|---|
| 4303 | |
|---|
| 4304 | Added to all config files a Logtalk predicate to check if a file |
|---|
| 4305 | exists in the current working directory (used by the logtalk_load/1 |
|---|
| 4306 | and logtalk_compile/1 Logtalk built-in predicates). |
|---|
| 4307 | |
|---|
| 4308 | New configs files for the K-Prolog 4.14 and Calypso 1.0b6 Prolog |
|---|
| 4309 | compilers. |
|---|
| 4310 | |
|---|
| 4311 | Completed the config file for Open Prolog 1.03d38 (with the exception |
|---|
| 4312 | of lgt_current_date/3 that still have a dummy definition). |
|---|
| 4313 | |
|---|
| 4314 | Added a missing definition for Logtalk predicate forall/2 to the config |
|---|
| 4315 | file for Prolog II+ 4.4. |
|---|
| 4316 | |
|---|
| 4317 | Modified Logtalk pre-processor/runtime to avoid syntax errors when |
|---|
| 4318 | running on Open Prolog or Calypso and to remove some redundant |
|---|
| 4319 | choice-points that are being created when compiling categories and |
|---|
| 4320 | protocols. |
|---|
| 4321 | |
|---|
| 4322 | Modified some examples that use operators to avoid syntax errors in |
|---|
| 4323 | some Prolog compilers. |
|---|
| 4324 | |
|---|
| 4325 | Modified the implementation of the built-in method |
|---|
| 4326 | predicate_property/2 to avoid duplicate answers and to throw an |
|---|
| 4327 | instantiation error if the first argument is not bound. |
|---|
| 4328 | |
|---|
| 4329 | Modified definition of the pseudo-object user to hide Logtalk pre- |
|---|
| 4330 | processor predicates from the current_predicate/1 built-in method and |
|---|
| 4331 | to ensure that the predicate_property/2 built-in method returns |
|---|
| 4332 | Logtalk defined predicate properties for built-in Logtalk and Prolog |
|---|
| 4333 | predicates. |
|---|
| 4334 | |
|---|
| 4335 | Modified Prolog code generated by the pre-processor to further minimize |
|---|
| 4336 | possible conflicts with user defined predicates. |
|---|
| 4337 | |
|---|
| 4338 | Added a lgt_predicate_property/2 predicate to the config files to |
|---|
| 4339 | improve Logtalk portability. |
|---|
| 4340 | |
|---|
| 4341 | Updated Tutorial and User and Reference Manuals. |
|---|
| 4342 | |
|---|
| 4343 | |
|---|
| 4344 | 2.0 Beta 1 - October 18, 1998 |
|---|
| 4345 | |
|---|
| 4346 | Added basic support for implementation multi-inheritance. |
|---|
| 4347 | |
|---|
| 4348 | Logtalk pre-processor updated to try to detect misspelt local |
|---|
| 4349 | predicate calls. |
|---|
| 4350 | |
|---|
| 4351 | First public beta. |
|---|
| 4352 | |
|---|
| 4353 | |
|---|
| 4354 | 2.0 Alpha 1 - July, 1998 |
|---|
| 4355 | |
|---|
| 4356 | First release for registered users. |
|---|