Main > Development > Compilers >

Logtalk 2.37.5

Logtalk 2.37.5

Sponsored Links

Logtalk 2.37.5 Ranking & Summary

RankingClick at the star to rank
Ranking Level
User Review: 0 (0 times)
File size: 704.4KB
Platform: Mac OS X, Mac OS X Server, Mac OS X Intel, Ma
License: Freeware
Price: Not available
Downloads: 11
Date added: 2009-10-28
Publisher: Paulo Moura

Logtalk 2.37.5 description

Logtalk 2.37.5 brings you canvenience of using such an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler.

As a multi-paradigm language, Logtalk 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.

Major Features:

  1. Separation between interface and implementation: Predicate directives (declarations) can be contained inside protocols (interfaces), which can be implemented by any object.
  2. Parametric objects: Object identifiers can be compound terms containing free variables that can be used to parametrize object predicates. This allows us to interpret predicate clauses as providing instantiations of a parametric object identifier. I.e. through parametric object we can associate any number of methods with a compound term.
  3. Support for both class-based and prototype-based systems: You may have, in the same application, class-based hierarchies (with instantiation and specialization relations) and prototype-based hierarchies (with extension relations). Moreover, fundamental language features such as protocols (interfaces) and categories (components) can be used simultaneously by classes, instances, and prototypes.
  4. Support for multiple object hierarchies: No need to be constrained to a single, lengthy hierarchy rooted in some generic object.
  5. Private, protected, and public inheritance: Logtalk supports private, protected, and public inheritance in a way similar to C++. Moreover, any entity relation can be qualified using a scope keyword. E.g. an object can privately implement a protocol, thus making all protocol declared predicates private.
  6. Private, protected, and public object predicates: Set the scope of your object predicates to match your protocol design and let the runtime system enforce your choices.
  7. Static and dynamic objects: Objects can be either static or dynamic. Static objects are defined in source files which are compiled and loaded in the same way as Prolog files. Dynamic object can be either defined in source files or created at runtime.
  8. Static and dynamic object predicates: Any static object may contain both static and dynamic predicates.
  9. Logtalk syntax extends standard Prolog syntax: Logtalk uses standard Prolog syntax with the addition of a few operators and directives for a smooth learning curve. Prolog code can be easily encapsulated inside objects with little or no changes. Moreover, Logtalk can transparently interpret most Prolog modules as Logtalk objects for easy reusing of existing code (e.g. libraries).
  10. Event-driven programming: Predicates can be implicitly called when a spied event occurs, allowing programming solutions which minimize object coupling. In addition, events provide support for behavioral reflection and can be used to implement the concepts of pointcut and advice found on Aspect-Oriented Programming.
  11. Component-based programming: Predicates can be encapsulated inside categories, which can be virtually imported by any object, without any code duplication and irrespective of object hierarchies. Thus, objects may be defined through composition of categories, which act as fine-grained units of code reuse. Categories may also extend existing objects. Categories can be used to implement aspects and mixin-like behavior without resorting to inheritance.
  12. Multi-threading programming: High level multi-threading programming is available when running Logtalk with selected back-end Prolog compilers, allowing objects to support both synchronous and asynchronous messages. Independent and-parallelism and competitive or-parallelism are also supported. Easily take advantage of modern multi-processor and multi-core computers without bothering with the details of creating and destroying threads, implement thread communication, or synchronizing threads.
  13. Multi-inheritance support: Logtalk supports multi-inheritance of both protocol and implementation. An object may implement several protocols and extend, specialize, or instantiate several objects. Multi-inheritance conflicts are solved implicitly by the Logtalk lookup algorithms or explicitly by using predicate directives.
  14. Good performance: Logtalk code is compiled using the same technics that you use to write efficient Prolog code. In addition, Logtalk supports both static binding and dynamic binding (with method lookup caching), greatly improving performance. Benchmark results for some Prolog compilers are available here.
  15. Close integration with the ISO Prolog Standard: Logtalk is designed for smooth integration with any Prolog compiler that conforms or closely follows the ISO Prolog Standard.
  16. Compatible with most Prolog compilers: Logtalk interfaces with a specific back-end Prolog compiler via a minimal configuration file making it compatible with almost any modern compiler.
  17. Automatic generation of XML documentation files: Logtalk automatically generates a documentation file in XML format for every compiled object, protocol, or category. The system includes all the necessary XSL(T) files and scripts to convert documenting files to (X)HTML and PDF.
  18. Dynamic language: Logtalk is a dynamic language that allows hierarchies, objects, protocols, categories, and methods (predicates) to be freely created and modified at runtime. Other dynamic language features include support for meta-programming and both structural and behavioral reflection.

Enhancements:

  • Updated the Logtalk multi-threading features, replacing all calls to the call_cleanup/2 built-in predicate with calls to the more reliable setup_call_cleanup/3 built-in predicate. This change requires recent versions of SWI-Prolog, XSB, and YAP when writing multi-threading code.
  • Improved performance of the database built-in methods retractall/1 and retract/1 whenever their use requires updating the internal predicate definition lookup tables.
  • Corrected a bug in the Logtalk runtime when printing a compatibility warning regarding the back-end Prolog compiler version being used.
  • Corrected a bug in the implementation of the :/1 control construct when some but not all imported categories are compiled for static binding.
  • Corrected a event handling bug in the processing of meta-calls whose meta-arguments have the format Object:Closure.
  • Corrected a bug in the runtime error handler for top-level message sending calls where the reported exception term context argument would be unbound.
  • Corrected a bug in the compilation of multifile directives and multifile predicate clauses within objects and categories for the pseudo-object
  • "user". Corrected a bug in the compilation of multifile predicate clauses for other objects and categories.
  • Corrected a safety meta-predicate compilation bug when using static binding to optimize a call to a local meta-predicate made by a normal, public predicate.
  • Corrected a safety meta-predicate compilation bug when using a meta-predicate call in the body of a user-defined meta-predicate clause in order to change the number of extra arguments of a closure.
  • Added a monitor/1 predicate to the library event registry objects. Updated the definition of the monitors/1 and monitored/1 predicates in order to avoid using the non-standard predicate sort/2.
  • Added support for adding the Logtalk mime-type to systems supporting the freedesktop.org shared mime-info database.
  • Added support for adding the Logtalk mime-type and the file description for Logtalk source files to the Windows installer.
  • Updated the RPM spec file and build script to no longer require root access. The RPM package built from these files is no longer relocatable.
  • Updated the POSIX (un)install shell scripts to print the version number of the Logtalk release being (un)installed.
  • Updated the "lgt2pdf.sh" and "lgt2txt.sh" POSIX shell scripts in order to prevent accidental deletion of the "logtal.dtd" and "logtalk.xsd" files in the Logtalk installation directory. Thanks to Michael Igler for the bug report.
  • Added information about using the Sublime Text Windows text editor for editing Logtalk source files.
  • Added a set of Logtalk source code snippets and a set of compilation and documenting tools for the Gnome's Gedit text editor (see the file "wenv/gedit/NOTES.txt" for details).
  • Replaced GeSHi support with a new language file written from scratch. Added syntax coloring support for the module directive reexport/1 to all supported text editors and syntax highlighters.
  • Updated documentation in order to remove references to deprecated syntax for sequences of predicate indicators in predicate directives. Updated documentation on built-in meta-predicates to correctly described their semantics when used within categories.
  • Added a simple example, "multifile", illustrating how to use multifile predicates within Logtalk objects and categories.
  • Updated the "securemp" example in order to illustrate using a call to a meta-predicate to change the number of extra arguments of a closure.

Requirements:

  • Compatible Prolog compiler.

Logtalk 2.37.5 Screenshot

Advertisements

Logtalk 2.37.5 Keywords

Bookmark Logtalk 2.37.5

Hyperlink code:
Link for forum:

Logtalk 2.37.5 Copyright

WareSeeker periodically updates pricing and software information of Logtalk 2.37.5 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Logtalk 2.37.5 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed

Allok Video Splitter 2.2.0 Review:

Name (Required)
Email(Required)
Captcha
Featured Software

Want to place your software product here?
Please contact us for consideration.

Contact WareSeeker.com
Related Software
iDrum runs as both a standalone native OS X application and as a plug-in for Pro Tools, GarageBand, Logic, and Ableton Live. This means you can use iDrum to create beats from right within your favorite music software environment, perfectly synced with your arrangement and always right where you left it when you return to your project after your next world tour. Free Download