background preloader

SWI-Prolog

SWI-Prolog

PyLog Contact me Friday 25. march 2016: Dear backers, unfortunately, the FUN project was not successfully funded. I will now focus on FRP (Functional Reactive Programming) applied to real-time critical system specification and simulation. Recherche d’emploi ingénieur en informatique actuellement en CDI mais à l’écoute du marché Type de poste poste à dominante R&D en informatique, architecture Compétences aéronautique, DO 178B, logiciel embarqué, simulation, vérification, certification, outillage, automatisation, intelligence artificielle, programmation fonctionnelle (Haskell, OCaml), programmation logique (PROLOG)… (CV : HTML ou PDF ) Localisation région toulousaine ou télétravail (déplacements possibles) Contact PyLog is a first order logic library including a PROLOG engine in Python.Please do not hesitate to test it and to report bugs and comments. notePython 2.4 or newer is required! Any collaboration is welcome ;-) PyLog is available under the GNU Lesser General Public: >>> from PyLog import * Terms Atoms

Bruda.CA - Emacs - Prolog Mode for Emacs A variant of this very code now comes bundled with Emacs (23 and above). The bundled version includes extra features such as SMIE integration (which in turn handles correctly and completely Prolog's 0' construct). Therefore if you are using a newer Emacs you may be better off just using what comes bundled with it. This being said, some people consider this version superior in many ways. It is also the case that the new, bundled version is not available to older Emacsen, while this version works with any reasonably new version of Emacs and XEmacs. This Prolog mode has all the features one would expect, including syntax highlighting, auto indent, and full interaction with an inferior Prolog process. This mode supports in principle any Prolog system, though I am primarily maintaining it with SWI Prolog in mind. prolog.el version 1.25 [gzipped] works with Emacs 20 and above and reasonably recent versions of XEmacs (tested on 21.1 and higher).

Bildungsserver Hessen - SWI-Prolog-Editor [English-Version] With the SWI-Prolog-Editor (Version 4.26 from 2015.04.26) a Windows-programming-environment for the work with SWI-Prolog which is suitable for schools has become available. The current version of the SWI-Prolog-Editor is tested for in lessons. In the documentation you find the most important information for work with the SWI-Prolog-Editor. Languages By means of language files the SWI-Prolog-Editor can be used with different languages. Bulgarian (by Mikhail Balabanov, update from 2008.06.27) Chinese simplified (by Lin Jian) Chinese traditional (by Yu Kwokyeung, 2007.11.13) English (by Gerhard Röhner) Español (by José O. Galician (by Avelino Souto, 2008.05.30) German (by Gerhard Röhner) Greek (by George Kalpakas, 2008.08.23) Hungarian (by DirektX, 2010.09.13) Italian (by Marco Falda, 2009.14.12) Portuguese (by Jorge W.D. Quebec-French (by Simon-Pierre Morin, 2009.10.29) Romanian (by Marius Filip) Russian (by Janvarev Vladislav) Turkish (by Edip Serdar Güner, Update from 2010.11.07) Deinstallation Editor

Pythologic -- Prolog syntax in Python Python is widely acclaimed for supporting many programming paradigms; you can write procedural code, object oriented code, functional code, and thanks to metaclasses, even aspect oriented programming is not hard. However, Python has no support for the logical programming paradigm; this recipe aims to bring Python a little closer there. Start at the bottom of the source. The goal of this exercise is to enable the writing of functions like prolog_func(), where a collection of facts and rules can be written in a language reminiscent of Prolog and First-Order Logic. Putting logical inference code into Python has been done before, e.g. The "magic" is divided between Database.consult(), which turns all undefined names in the function to logical symbols, and the overloaded operators in the Struct and Symbol classes. This recipe has some problems: First of all, it is wildly unpythonic, in its abusive overhaul of the function semantics.

PDT - Download and Installation [SE-Wiki] Install JDK/JRE (at least version 1.7.X) Install Eclipse, version 4.4 (Luna) or above Install SWI-prolog, version 6.6.0 (or above) for your platform. Windows: Add the “bin” directory of your SWI-Prolog installation to the system PATH. Mac: Install MacPorts and type 'sudo port install swi-prolog'. Add'/opt/local/bin' to your system path (typically by adding it to the file /etc/paths). If you use Java 1.7 and encounter memory problems, start Eclipse with the command line options ”-Xmx512m -XX:MaxPermSize=128m”. Test your SWI-Prolog installation before you install the PDT or JTransformer. SWI-Prolog is installed, the SWI-Prolog executable “swipl-win” is in your path, your firewall does not block connections from Eclipse / Java to Prolog on MacOS: the X11 environment is installed and running

Using SWI-Prolog’s Modules Modularity is the cornerstone of modern software development. Good code, in any programming language, is arranged in small collections of related data structures and functionality which are then accessed in a consistent way in other similar collections. Prolog is a very old language. It was first created before modular software development was the standing religion and it was not designed for this degree of modularity. Prolog, too, was (and remains) a highly fragmented language. This tutorial will introduce the module system implemented in SWI Prolog in specific. Target Audience This tutorial is aimed at people with some knowledge of Prolog and some experience (but not a lot!) Requirements To work through this tutorial you will require the following: a working installation of SWI Prolog; an open shell with SWI Prolog’s interactor running; the reference documentation for SWI Prolog’s modules open and available in your browser; the apply.pl module source code also open in your browser.

Welcome to Pyke AI::Prolog AI::Prolog - Perl extension for logic programming. use AI::Prolog; use Data::Dumper; my $database = <<'END_PROLOG'; append([], X, X). append([W|X],Y,[W|Z]) :- append(X,Y,Z). END_PROLOG my $prolog = AI::Prolog->new($database); my $list = $prolog->list(qw/a b c d/); $prolog->query("append(X,Y,[$list])."); while (my $result = $prolog->results) { print Dumper $result; } AI::Prolog is merely a convenient wrapper for a pure Perl Prolog compiler. Regrettably, at the current time, this requires you to know Prolog. In Perl, we traditionally tell the language how to find a solution. For those who like to just dive right in, this distribution contains a Prolog shell called aiprolog and two short adventure games, spider.pro and sleepy.pro. aiprolog data/spider.pro aiprolog data/sleepy.pro When the aiprolog shell starts, you can type start. to see how to play the game. See the bin/ and data/ directories in the distribution. AI::Prolog is a pure Perl predicate logic engine. Create the Prolog program.

Natural Language Toolkit — NLTK 3.0 documentation Program Development Tools Next to using any editor capable of editing plain text files and running SWI-Prolog in a separate window there are several options to improve the user experience for the regular Prolog programmer. SWI-Prolog native development tools Built-in tools The built-in tools provide a feature rich evironment for developing with SWI-Prolog. The tools are built on top of the portable XPCE graphics system. They look outdated and the learning curve for the built-in Emacs clone is steep. PceEmacs is a GNU-Emacs clone in XPCE/Prolog, providing Prolog syntax highlighting based on parsing and cross-referencing the editor buffer. Both the Windows Prolog console swipl-win.exe and the app for MacOSX (swipl-win) provides a menu to access many of these facilities directly. We intend to allow the user to select preferred tools and combine them with whatever they like. SWISH (web based Prolog) SWISH provides a web-based tool for running Prolog. SWISH can run in several configurations. SWI-Prolog Editor (Windows)

SWISH -- SWI-Prolog for SHaring

Related: