Although some libraries alleviate this problem by providing higher-level abstractions to deal with the complexity of custom conversions between artefacts of the two languages, such libraries are difficult to implement and evolve, because of a lack of appropriate underlying building blocks for encapsulating, categorising and applying Java–Prolog conversion routines. Furthermore, appropriate mappings may depend on the particular context in which a conversion is accomplished. This is an error-prone task since often a considerable amount of mappings must be developed and organised. Most of these approaches provide limited support to allow programmers to customise how Prolog artefacts should be reified in the Java world, or how to reason about Java objects on the Prolog side. Springer-Verlag Berlin Heidelberg".The number of approaches existing to enable a smooth interaction between Java and Prolog programs testifies the growing interest in solutions that combine the strengths of both languages. Proceedings of the 25th International Conference on Logic Programming (ICLP), July 2009. From Plain Prolog to Logtalk Objects: Effective Code Encapsulation and Reuse (Invited Talk).Logic Programming and Nonmonotonic Reasoning. Gorgias-C: Extending Argumentation with Constraint Solving (PDF). ^ "Developer Tools – LogtalkDotOrg/logtalk3 Wiki – GitHub".^ Practical Aspects of Declarative Languages.Applications of Declarative Programming and Knowledge Management. Programming Patterns for Logtalk Parametric Objects. Logtalk: Design of an Object-Oriented Logic Programming Language. It has also been used to implement a reasoning system that allows preference reasoning and constraint solving. Logtalk has been used to process STEP data models used to exchange product manufacturing information. Logtalk features on-line help, a documenting tool (that can generate PDF and HTML files), an entity diagram generator tool, a built-in debugger (based on an extended version of the traditional Procedure Box model found on most Prolog compilers), a unit test framework with code coverage analysis, and is also compatible with selected back-end Prolog profilers and graphical tracers. Logtalk allows use of back-end Prolog compiler libraries from within object and categories. Supported back-end Prolog compilers include B-Prolog, Ciao Prolog, CxProlog, ECLiPSe, GNU Prolog, JIProlog, Quintus Prolog, Scryer Prolog, SICStus Prolog, SWI-Prolog, Tau Prolog, Trealla Prolog, XSB, and YAP. It also provides a module system based on de facto standard core module functionality (internally, modules are compiled as prototypes). Object-orientation emphasizes developing discrete, reusable units of software, while logic programming emphasizes representing the knowledge of each object in a declarative way.Īs an object-oriented programming language, Logtalk's major features include support for both classes (with optional metaclasses) and prototypes, parametric objects, protocols ( interfaces), categories (components, aspects, hot patching), multiple inheritance, public/protected/private inheritance, event-driven programming, high-level multi-threading programming, reflection, and automatic generation of documentation.įor Prolog programmers, Logtalk provides wide portability, featuring predicate namespaces (supporting both static and dynamic objects), public/protected/private object predicates, coinductive predicates, separation between interface and implementation, simple and intuitive meta-predicate semantics, lambda expressions, definite clause grammars, term-expansion mechanism, and conditional compilation. Logtalk aims to bring together the advantages of object-oriented programming and logic programming. If you have found what you have found useful about Logtalk and you have felt comfortable, we will be very happy if you come back to whenever you want and need to. We are confident that we have achieved this, although we are always working to make small improvements. Everything we had collected about Logtalk also had to be presented in a clear, readable way, in a structure that facilitated the user experience, with a clean and efficient design, and that prioritised loading speed. It was clear to us that in order to achieve our goal, it was not enough to have correct and verified information about Logtalk. That's what motivated us to create a reliable, safe and effective site. Saturation, poor usability, and the difficulty to discern between correct and incorrect information about Logtalk are often difficult to overcome. However, this access to everything related to Logtalk is not always easy. Never in the history of mankind has there been so much information about Logtalk as there is today thanks to the internet.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |