Displaying 1 to 20 from 35 results

the-power-of-prolog - Introduction to modern Prolog

  •    HTML

Prolog is a programming language that is rooted in formal logic. It supports backtracking and unification as built-in features. Prolog allows us to elegantly solve many tasks with short and general programs. The goal of this material is to bridge the gap between the great traditional Prolog textbooks of the past and the language as it currently is, several decades after these books were written. You will see that many limitations of the past are no longer relevant, while several new constructs are now of great importance even though they are not yet covered in any available Prolog book.

VS Prolog 2010

  •    CSharp

VSProlog is a Visual Studio 2010 extension that allows coloring the prolog code. I use Prolog with Visual Studio and I was tired of having Visual Studio beheaving just like notepad, thus, this extension.

awesome-prolog - ⚡️ Curated list of Prolog packages and resources


A curated list of open-source Prolog frameworks, libraries and resources.Have a look at the Contributing Guidelines on how to get started.

SimpleProlog - Prolog interpreter in JavaScript/Node.js, WIP

  •    Javascript

SimpleProlog interpreter in JavaScript. If you submit a pull request, please be sure to add or update corresponding test cases, and ensure that npm test continues to pass.

hatlog - custom type systems for python in prolog: http://alehander42.me/prolog_type_systems

  •    Python

they describe the type rules for python nodes, e.g. and some builtin methods, e.g.

hopes - Higher Order Prolog with Extensional Semantics

  •    Haskell

HOPES is a prototype interpreter for a higher-order PROLOG-like language. The syntax of the language extends that of PROLOG by supporting higher-order constructs (such as higher-order predicate variables, partial application and lambda terms). In particular, the syntax allows clauses (and queries) that contain uninstantiated predicate variables. The interpreter implements a higher-order top-down SLD-resolution proof procedure described in CKRW13 together with the semantics of the language.

func - Apply and compose functions in Prolog

  •    Prolog

This module allows one to apply ($/2) and compose (of/2) terms as if they were functions. One often uses predicates as these functions, but one can define function behavior for arbitrary terms. See "What is a function" and "Defining functions" below. Why? Prolog predicates are more powerful than functions, but sometimes the syntax is awkward or requires meaningless effort from the developer (generating and maintaining intermediate variable names and goals). Using library(func) often results in more succinct, clearer code. For example, the use of atom_codes/2 in the Synopsis above.

regex - Regular expressions for Prolog

  •    Prolog

Regular expression support for Prolog. When Prologers want to match a string against a pattern, they typically write a DCG. DCGs are powerful and flexible. For medium to large patterns, they are also easier to read and maintain. However, for small and local patterns the overhead of writing and naming auxiliary predicates can be too much. In those circumstances, one might prefer a regular expression. This pack makes it possible.

prolog_puzzles - Prolog puzzles for fun and profit (mostly fun)

  •    Perl

These are exercises I created back in 2007 while TAing "Introduction to Artificial Intelligence and Logic Programming" at the Institute of Cognitive Science in Osnabrück, Germany. I know that a lot of people still personally hate me for this. If you never hacked in Prolog before, learn it! It's fun and it makes you a Better Person™.

Utilities - Uncategorized utilities

  •    Python

Uncategorized utilities that do not need their own repository. Small dumb utility to port obvious function matches across two IDA databases.

node-prolog-swi - A node.js interface to the SWI-Prolog library

  •    C

For now, this addon supports the creation of rules and facts 'on the fly' and querying. If you like it, use and/or fork it. Corrections and improvements are welcome.

zamia-ai - Free and open source A.I. system based on Python, TensorFlow and Prolog.

  •    Prolog

The Zamia AI project is a framework that provides a set of components needed to build completely free, open source end-to-end speech and natural language processing A.I. systems.

zamia-prolog - Embeddable Prolog dialect implemented in pure Python

  •    Python

Scalable and embeddable compiler/interpreter for a Zamia-Prolog (a Prolog dialect). Stores its knowledge base in a Database via SQLAlchemy - hence the scalability, i.e. the knowledge base is not limited by the amount of RAM available. Zamia-Prolog is written in pure python so it can be easily embedded into other python applications. Compiler and runtime have interfaces to register custom builtins which can either be evaluated at compile time (called directives in Zamia-Prolog) or at runtime.

ntp - End-to-End Differentiable Proving

  •    NewLisp

This is an implementation of the paper End-to-End Differentiable Proving. For a high-level introduction, see the NIPS oral, slides and poster. The main file for running NTP is ntp/experiments/learn.py which takes the path to a configuration file as argument.

clpb - Boolean Constraint Solving in Prolog

  •    Prolog

CLP(B), Constraint Logic Programming over Boolean variables, is available in SWI-Prolog as library(clpb). This repository contains usage examples and tests of the library.

clpfd - Constraint Logic Programming over Finite Domains

  •    Prolog

CLP(FD), Constraint Logic Programming over Finite Domains, is available in SWI-Prolog as library(clpfd). This repository contains usage examples that illustrate important concepts and principles of the CLP(FD) library.

clpz - Constraint Logic Programming over Integers

  •    Prolog

This repository contains information about CLP(Z). CLP(Z) requires SICStus Prolog.

ediprolog - Emacs Does Interactive Prolog

  •    Emacs

ediprolog lets you interact with SWI-Prolog in all Emacs buffers. You can consult Prolog programs and evaluate embedded queries. See also PceProlog.

letswicrypt - Prolog HTTPS Servers

  •    Prolog

Prolog is extremely well suited for writing web applications. This repository explains how to set up and run secure (HTTPS) web servers using SWI-Prolog with Let's Encrypt and other certificate authorities.