Skip to content

luke-feeney/awesome-prolog

 
 

Repository files navigation

Awesome Prolog Awesome

A curated list of open-source Prolog frameworks, libraries and resources.

Contents

API interfaces

Artificial Intelligence

Build Systems

  • biomake - GNU-Make-like building utility.

Compilers

  • SWI-Prolog - Widely used, comprehensive Prolog compiler.
  • GNU Prolog - ISO Prolog compiler with useful extensions.
  • YAP - High-performance Prolog compiler.
  • Ciao - A Prolog system with many extensions.
  • Eclipse CLP - A constraint logic programming system.
  • XSB - XSB logic programming and deductive database system.

Database

Date

Development

IDE

Interpreters

  • golog - Interpreter in Go.
  • erlog - Interpreter in Erlang.
  • chalk - Interpreter in Rust.
  • jiprolog - Interpreter in Java.
  • prolog.js - Interpreter in JavaScript.
  • prolog - Interpreter in Haskell.
  • ELPI - Embeddable λProlog Interpreter in OCaml.
  • scryer prolog - ISO-compatible interpreter in Rust.

JSON

  • djson - Declarative JSON.

Logging

Machine Learning

  • mlu - Probabilistic logic programs.
  • cplint - Reasoning suite for probabilistic logic programs.
  • cplint_datasets - Dataset for machine learning.

Math

Miscellaneous

Native

  • by_unix - Unix primitives library.
  • inotify - Linux notification library.
  • plmidi - Macos MIDI interface.
  • plgi - Gnome bindings.

Object Oriented Programming

  • logtalk - Object oriented logic programming.

Parsing

Regular Expressions

  • regex - Regular expressions library.

REST Frameworks

  • arouter - HTTP router/dispatcher.

Server

Testing

  • tap - Automated TAP testing.
  • quickcheck - QuickCheck randomized testing.
  • PlUnit - Prolog unit tests.

Text Editor Extensions

Utilities

  • pac - Anonymous predicates expansion utility.
  • list_util - List utility predicates.
  • gvterm - Reveal terms using Graphviz.
  • odf_sheet - Load and analyze ODF spreadsheets.
  • graphml - Create GraphML files.
  • fileutils - File manipulation library.
  • dia - UML loading predicates.
  • cplint_r - R plotting predicates.
  • tuProlog - Light-weight system for distributed applications and infrastructures.

Resources

Tutorials

Beginner

Advanced

Videos

Books

Community

Contributing

Contributions are super welcome!

Have a look at the Contributing Guidelines on how to get started.

License

CC0

About

Curated list of Prolog packages and resources

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published