Logtalk



Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, it includes support for both prototypes and classes, protocols (interfaces), component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming. Logtalk is a programming language that falls into the object-oriented category, its main purpose being that of enhancing the Prolog language capabilities with additional features, which can come in.

Hi!
Logtalk 2.35.1 is now available for downloading. This release improves support for using module meta-predicates and explicit module qualified calls in object and category predicates, improves support for object proxies, improves compilation reports, corrects a bug in the implementation of the smart_compilation compiler flag, improves support for ECLiPSE and GNU Prolog, improves the installers documentation, and includes updated config files for all Prolog compilers.
Upgrading from previous release:
Logtalk* Config files from previous versions are incompatible with this release.
Known compatibility issues:
* YAP: multi-threading support is currently broken. No timeframe for fixing the current bugs. Use YAP single-threaded version until the bugs are fixed.
* XSB (CVS version): some bugs in multi-threading support prevent some thread examples from running.
* Ciao: support for multifile/1 predicate directives is broken. No reply so far to my bug report to the Ciao developers.

Swi Prolog Logtalk

Detailed release notes:
* Allow explicitly qualified module calls in the body of category and object predicate clauses without requiring the calls to be wrapped within a {}/1 control construct to ensure successful compilation. This requires an hack in the config files of most back-end Prolog compilers with module systems as the implementations of the predicate_property/2 built-in predicate cannot be used to test if :/2 is a built-in control construct. Updated the config files of Amzi! Prolog, Ciao, IF/Prolog, Quintus Prolog, SICStus Prolog, SWI-Prolog, XSB, and YAP.
* Improved the Logtalk compiler compatibility with Prolog meta_predicate/1 directives that use the integer zero as an alternative to the atom ':' for denoting meta-arguments that are goals.
* Added limited support for calling Prolog meta-predicates defined in module libraries (meta-arguments must be goals, not closures; the Logtalk compiler assumes that an imported_from/1 property is defined for these predicates).
* Implemented a 'warnings' value for the 'report' compiler option, providing a less verbose compilation reporting where only warnings are printed.
* Corrected a Logtalk compiler bug where warnings related to synchronized predicates would be reported even with the 'report' flag set to 'off'.
* Added support to the message sending mechanisms for using the object proxy access notation when the message receiver is only known at runtime.

Logtalk Testing

* Changed the semantics of the Logtalk notation for accessing object proxies when sending a message to allow backtracking over the proxy goal.

Logtalk Intellij

* Updated the Logtalk compiler to avoid reporting multiples reference to the same unknown parametric object.
* Corrected a bug in the implementation of the 'smart_compilation' compiler flag that would result in a misleading successful compilation of a source file containing syntax errors after the first failed compilation when the errors are not corrected between compilations. Thanks to Joerg Schuster for the bug report.
* Added a '$lgt_delete_file'/1 predicate to all config files. For back-end Prolog compilers that don't support a built-in predicate for deleting files, the '$lgt_delete_file'/1 predicate simply fails. This predicate is used by the Logtalk compiler to ensure correct behavior of the compiler flag 'smart_compilation'.
* Updated the YAP config file to ensure that the 'syntax_errors' proprietary flag is set to 'error'.
* Integration with GNU Prolog now requires version 1.3.1 or later of this compiler.
* Added a workaround to the ECLiPSE config files in order to support smart compilation of source files (due to the non-standard implementation of the read_term/3 predicate that fails for syntax errors instead of throwing an exception).

Logtalk Swi Prolog Download


* Updated the library object 'term', adding a singletons/2 predicate and renaming the predicate vars/2 to variables/2 (the old name is still available but shall be considered deprecated). Both the variables/2 and the singletons/2 predicates return variables ordered as found when doing a depth-first, left-to-right term traversal. Optimized the implementation of the predicates ground/1 and variables/2 to use the Prolog built-in versions of these predicates when available.
* Moved the Prolog Integration and Migration Guide into the User Manual.
* Updated the 'BIBLIOGRAPHY.bib' file with recent Logtalk publications.
* Updated the 'build_release.sh' POSIX shell script steps for building the MacOS X installer.
* Updated the Windows installer to disable by default the installation of the integration shortcuts for Ciao Prolog and Quintus Prolog as these compilers require patches that render Logtalk incompatible with the other compilers.
* Simplified loading and testing instructions for the XML parser included in the 'contributions' directory. Added a missing logtalk_library_path/2 entry for XML parser directory.
Happy logtalking!

Gnu Prolog Logtalk Download

Logtalk

Logtalk Download

Paulo



Comments are closed.