Logtalk 3.29.0

Paulo Moura in Development / Other

Logtalk screenshot

User Rating: 3.0 (25 votes)

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 mature open source object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. Logtalk main features are:

Separation between interface and implementation
Predicate directives (declarations) can be contained inside protocols (interfaces), which can be implemented by any object.

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.

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.

Support for multiple object hierarchies
No need to be constrained to a single, lengthy hierarchy rooted in some generic object.

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.

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.

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.

Static and dynamic object predicates
Any static object may contain both static and dynamic predicates.

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).

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.

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.

File Size: 11.7001953125 MB License: Open Source Price: FREE
Platform: Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows Vista x64, Windows 7, Windows 7 x64, Windows 8, Windows 8 x64, Windows 10, Windows 10 x64
Downloads: Total: 111 | This Month: 16 Released: 2019-09-03
Logtalk Similar Software

Logic Expression 3.00 Josip Rudic    

Program Logic Expression (LE) calculates and analyzes the logical (Boolean) expression. Supports logical operators: negation, conjunction, disjunction, exclusive disjunction, implication and ... useful tool for developers when calculating and analyzing logical expressions. Can also serve as a means of .... Free download of Logic Expression 3.00

DotNET Nuclear C# Compiler 1.0.3983.17298 DotNET Nuclear C# Compiler    

DotNET Nuclear C# Compiler is a handy, easy to use application specially designed to help you edit and compile your source code fast and easy. .... Free download of DotNET Nuclear C# Compiler 1.0.3983.17298

software pick   

Microsoft Small Basic 1.2 Microsoft    

Microsoft Small Basic is an easy-to-use programming tool. Microsoft Small Basic is a project that is aimed at making computer programming accessible to beginners. The project comprises a simple programming language that gathers inspiration from the original BASIC programming language; a modern and attractive programming environment; and rich, extensible libraries. Together they make .... Free download of Microsoft Small Basic 1.2

software pick   

Bitmap2LCD 3.8j Bitmap2LCD     update

Programming tool for monochrome grayscale, and color GLCD, data ... Support , Touch panel / Touch Screen Region Programming .... Free download of Bitmap2LCD 3.8j

Agena 2.16.1 Sourceforge     update

Agena is an easy-to-learn procedural programming language suited for everyday usage. It has been implemented as an interpreter and can be used in scientific, educational, linguistic, and many other applications. Its syntax looks like very simplified Algol 68 with elements taken from Lua and SQL. Agena provides fast real and .... Free download of Agena 2.16.1

software pick   
Popular Software in Development / Other

Foxit PDF SDK ActiveX Professional 4.0.0.1918 Foxitsoftware    

Allows developers to add PDF displaying capability to their applications. Free download of Foxit PDF SDK ActiveX Professional 4.0.0.1918

Artifactory 6.12.2 JFrog Ltd.     update

Centralizes all aspects of managing software binaries. Free download of Artifactory 6.12.2

SmartGit for Mac OS X 19.1 syntevo GmbH     update

Intended for developers who prefer a graphical user interface. Free download of SmartGit for Mac OS X 19.1

software pick   

PyScripter Portable 3.6.0 Kiriakos Vlahos     update

An open-source Python Integrated Development Environment. Free download of PyScripter Portable 3.6.0

Sigil 0.9.15 Strahinja Markovic     update

Easily create and edit your own personalized e-books in no time. Free download of Sigil 0.9.15

software pick