Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Prolog
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Interfaces to other languages == Frameworks exist which can bridge between Prolog and other languages: * The [https://www.lpai.uk/int.htm LPA Intelligence Server] allows embedding [https://www.lpai.uk/win.htm LPA Prolog for Windows] in other programming languages, including: [[C (programming language)|C]], {{nowrap|[[C++]]}}, [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Visual Basic (classic)|Visual Basic]] (VB), [[Delphi (software)|Delphi]], [[.NET]], [[Lua (programming language)|Lua]], [[Python (programming language)|Python]], and others. It exploits the dedicated string data type which LPA Prolog provides * The [http://www.amzi.com/#apls Logic Server] Application Programming Interface ([[API]]) allows both the extension and embedding of Prolog in [[C (programming language)|C]], {{nowrap|[[C++]]}}, [[Java (programming language)|Java]], [[Visual Basic (classic)|Visual Basic]] (VB), [[Delphi (software)|Delphi]], [[.NET]], and any language or environment which can call a .dll or .so. It is implemented for [http://www.amzi.com/#apls Amzi! Prolog + Logic Server] but the API specification can be made available for any implementation. * [https://jpl7.org/ JPL] is a bi-directional Java Prolog bridge which ships with SWI-Prolog by default, allowing Java and Prolog to call each other (recursively). It is known to have good concurrency support and is under active development. * [http://interprolog.com/ InterProlog], a programming [[Library (computing)|library]] bridge between [[Java platform|Java]] and Prolog, implementing bi-directional predicate/method calling between both languages. Java objects can be mapped into Prolog terms and vice versa. Allows the development of [[graphical user interface]]s (GUIs) and other functions in Java while leaving logic processing in the Prolog layer. Supports [[XSB]] and [[SWI-Prolog]]. * [[Prova]] provides native syntax integration with Java, agent messaging and reaction rules. Prova positions itself as a rule-based scripting (RBS) system for middleware. The language breaks new ground in combining [[imperative programming|imperative]] and [[declarative programming]]. * [https://github.com/raydac/jprol/ PROL] An embeddable Prolog engine for Java. It includes a small IDE and a few libraries. * [https://www.gnu.org/software/gnuprologjava/ GNU Prolog for Java] is an implementation of ISO Prolog as a Java library (gnu.prolog) * [[Ciao (programming language)|Ciao]] provides interfaces to C, {{nowrap|C++}}, Java, and relational databases. * [http://sourceforge.net/projects/cs-prolog/ C#-Prolog] is a Prolog interpreter written in (managed) C#. Can easily be integrated in C# programs. Characteristics: reliable and fairly fast interpreter, command line interface, Windows-interface, builtin DCG, XML-predicates, SQL-predicates, extendible. The complete source code is available, including a parser generator that can be used for adding special purpose extensions. * [https://github.com/Trismegiste/WamBundle A Warren Abstract Machine for PHP] A Prolog compiler and interpreter in PHP 5.3. A library that can be used standalone or within Symfony2.1 framework which was translated from [http://stefan.buettcher.org/ Stephan Buettcher's] work in Java which can be found [here {{URL|http://stefan.buettcher.org/cs/wam/}}] * [http://tuprolog.unibo.it tuProlog] is a lightweight Prolog system for distributed applications and infrastructures, intentionally designed around a minimal core, to be either statically or dynamically configured by loading/unloading libraries of predicates. tuProlog natively supports multi-paradigm programming, providing a clean, seamless integration model between Prolog and mainstream object-oriented languages, namely Java, for tuProlog Java version, and any .NET-based language (C#, F#..), for tuProlog .NET version. * [https://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/janus.html%27) Janus] is a bi-directional interface between Prolog and Python using portable low-level primitives. It was initially developed for XSB by Anderson and Swift,<ref>Andersen, C. and Swift, T., 2023. The Janus System: a bridge to new prolog applications. In Prolog: The Next 50 Years (pp. 93-104). Cham: Springer Nature Switzerland.</ref> but has been adopted as a joint initiative by the XSB, Ciao and SWI-Prolog teams.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)