{"id":13517992,"url":"https://github.com/klaudiosinani/awesome-prolog","last_synced_at":"2025-05-11T04:30:38.206Z","repository":{"id":38205891,"uuid":"109619317","full_name":"klaudiosinani/awesome-prolog","owner":"klaudiosinani","description":"Curated list of Prolog packages and resources","archived":false,"fork":false,"pushed_at":"2022-08-24T08:06:02.000Z","size":52,"stargazers_count":535,"open_issues_count":13,"forks_count":38,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-05-10T13:02:28.377Z","etag":null,"topics":["awesome","list","logic","programming","prolog"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klaudiosinani.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"license.md","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-05T21:47:41.000Z","updated_at":"2025-05-07T13:38:30.000Z","dependencies_parsed_at":"2022-07-12T10:22:43.502Z","dependency_job_id":null,"html_url":"https://github.com/klaudiosinani/awesome-prolog","commit_stats":null,"previous_names":["klauscfhq/awesome-prolog","klaussinani/awesome-prolog"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Fawesome-prolog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Fawesome-prolog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Fawesome-prolog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Fawesome-prolog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klaudiosinani","download_url":"https://codeload.github.com/klaudiosinani/awesome-prolog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253518941,"owners_count":21921074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","list","logic","programming","prolog"],"created_at":"2024-08-01T05:01:39.483Z","updated_at":"2025-05-11T04:30:37.895Z","avatar_url":"https://github.com/klaudiosinani.png","language":null,"funding_links":[],"categories":["Technical","Programming Languages","Others","Other Lists","Bachelor-Level","Misc"],"sub_categories":["awesome-*","TeX Lists","Bachelor Informatik/KI"],"readme":"# Awesome Prolog [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e A curated list of open-source Prolog frameworks, libraries and resources.\n\n## Contents\n\n- [API Interfaces](#api-interfaces)\n- [Artificial Intelligence](#artificial-intelligence)\n- [Build Systems](#build-systems)\n- [Compilers](#compilers)\n- [Database](#database)\n- [Date](#date)\n- [Development](#development)\n- [IDE](#ide)\n- [Interpreters](#interpreters)\n- [JSON](#json)\n- [Logging](#logging)\n- [Machine Learning](#machine-learning)\n- [Math](#math)\n- [Miscellaneous](#miscellaneous)\n- [Native](#native)\n- [Object Oriented Programming](#object-oriented-programming)\n- [Parsing](#parsing)\n- [Regular Expressions](#regular-expressions)\n- [REST Frameworks](#rest-frameworks)\n- [Server](#server)\n- [Testing](#testing)\n- [Text Editor Extensions](#text-editor-extensions)\n- [Utilities](#utilities)\n- [Resources](#resources)\n\t- [Tutorials](#tutorials)\n\t- [Videos](#videos)\n\t- [Free Courses](#free-courses)\n\t- [Books](#books)\n\t- [Community](#community)\n- [Contributing](#contributing)\n- [License](#license)\n\n## API interfaces\n\n- [twitter_pack](https://github.com/samwalrus/twitter_pack) - Twitter API interface.\n- [amazon_api](http://packs.ndrix.com/amazon_api/index.html) - Amazon API interface.\n- [blog_core](https://blog-core.net) - Blog/CMS framework.\n- [irc_client](https://github.com/eazar001/irc_client) - Low-level IRC interface.\n- [geoip](https://github.com/JanWielemaker/geoip) - GeoIP interface.\n- [pl_omdb](https://github.com/eazar001/pl_omdb) - OMDB API interface.\n\n## Artificial Intelligence\n\n- [zamia-ai](https://github.com/gooofy/zamia-ai) - Open source AI system.\n\n## Build Systems\n\n- [biomake](https://github.com/evoldoers/biomake) - GNU-Make-like building utility.\n\n## Compilers\n\n- [SWI-Prolog](http://www.swi-prolog.org) - Widely used, comprehensive Prolog compiler.\n- [GNU Prolog](http://www.gprolog.org) - ISO Prolog compiler with useful extensions.\n- [YAP](https://github.com/vscosta/yap-6.3/) - High-performance Prolog compiler.\n- [Ciao](https://github.com/ciao-lang/ciao) - A Prolog system with many extensions.\n- [Eclipse CLP](https://eclipseclp.org/) - A constraint logic programming system.\n- [XSB](http://xsb.sourceforge.net/) - XSB logic programming and deductive database system.\n\n## Database\n\n- [prolongo](https://github.com/khueue/prolongo) - MongoDB driver.\n- [docstore](https://github.com/rla/docstore) - Document-oriented database.\n- [db_facts](http://stoics.org.uk/~nicos/sware/db_facts) - Centric abstraction layer for SQL.\n- [bio_db](http://stoics.org.uk/~nicos/sware/bio_db) - Biological datasets manager.\n- [prosqlite](http://stoics.org.uk/~nicos/sware/prosqlite) - SQLite interface.\n- [TerminuDB](https://github.com/terminusdb/terminusdb) - for knowledge graph representation \n\n## Date\n\n- [julian](https://github.com/mndrix/julian) - Date-time library.\n\n## Development\n\n- [typedef](http://www.swi-prolog.org/pack/list?p=typedef) - Type definitions.\n- [lambda](http://www.swi-prolog.org/pack/list?p=lambda) - Lambda expressions.\n- [func](https://github.com/mndrix/func/) - Function application and composition.\n- [condition](https://github.com/mndrix/condition) - Common Lisp-like condition system.\n- [function_expansion](https://github.com/mndrix/function_expansion) - Function-like macros.\n- [fsyntax](http://ciao-lang.org/ciao/build/doc/ciao.html/fsyntax_doc.html) - Ciao functional syntax.\n\n## IDE\n\n- [swish](https://github.com/SWI-Prolog/swish) - SWI-Prolog web IDE.\n- [Prolog Development Tool](http://sewiki.iai.uni-bonn.de/research/pdt/docs/start) - Prolog IDE for Eclipse.\n- [VSC-Prolog](https://github.com/arthwang/vsc-prolog) - Prolog extension for Visual Studio Code.\n\n## Interpreters\n\n- [golog](https://github.com/mndrix/golog) - Interpreter in Go.\n- [erlog](https://github.com/rvirding/erlog) - Interpreter in Erlang.\n- [chalk](https://github.com/rust-lang-nursery/chalk) - Interpreter in Rust.\n- [jiprolog](https://github.com/jiprolog/jiprolog) - Interpreter in Java.\n- [prolog.js](https://github.com/jldupont/prolog.js) - Interpreter in JavaScript.\n- [prolog](https://github.com/Erdwolf/prolog) - Interpreter in Haskell.\n- [ELPI](https://github.com/LPCIC/elpi) - Embeddable λProlog Interpreter in OCaml.\n- [scryer prolog](https://github.com/mthom/scryer-prolog) - ISO-compatible interpreter in Rust.\n\n## JSON\n\n- [djson](http://packs.ndrix.com/djson/index.html) - Declarative JSON.\n\n## Logging\n\n- [log4p](https://github.com/hargettp/log4p) - Logging library.\n- [httplog](https://github.com/JanWielemaker/httplog) - HTTP logfiles.\n\n## Machine Learning\n\n- [mlu](http://stoics.org.uk/~nicos/sware/mlu) - Probabilistic logic programs.\n- [cplint](https://github.com/friguzzi/cplint) -  Reasoning suite for probabilistic logic programs.\n- [cplint_datasets](https://github.com/friguzzi/cplint_datasets) - Dataset for machine learning.\n\n## Math\n\n- [matrix](https://github.com/friguzzi/matrix) - Matrix operations.\n- [nan_numerics_prime](https://github.com/jp-diegidio/Nan.Numerics.Prime-Prolog) - Prime numbers library.\n- [pljulia](https://github.com/samer--/pljulia) - Numerical and technical computing.\n\n## Miscellaneous\n\n- [Online compiler](https://www.tutorialspoint.com/execute_prolog_online.php) - Execute Prolog online.\n- [turing](https://bitbucket.org/ttmrichter/turing/src) - Turing Machine simulator.\n- [yesbot](https://github.com/eazar001/yesbot) - IRC Bot.\n- [webconsole](http://www.swi-prolog.org/pack/list?p=webconsole) - Browser as HTML console.\n- [prologmud](https://github.com/TeamSPoon/prologmud_samples) - Online text adventure game.\n\n## Native\n\n- [by_unix](http://stoics.org.uk/~nicos/sware/by_unix) - Unix primitives library.\n- [inotify](https://github.com/JanWielemaker/inotify) - Linux notification library.\n- [plmidi](https://github.com/samer--/plmidi) - Macos MIDI interface.\n- [plgi](http://www.swi-prolog.org/pack/list?p=plgi) - Gnome bindings.\n\n## Object Oriented Programming\n\n- [logtalk](http://www.swi-prolog.org/pack/list?p=logtalk) - Object oriented logic programming.\n\n## Parsing\n\n- [atom_feed](http://packs.ndrix.com/atom_feed/index.html) - Atom and RSS feeds parser.\n- [tokenize](https://github.com/aBathologist/tokenize) - Straightforward text tokenizing.\n- [markdown](https://github.com/rla/prolog-markdown) - Markdown parser.\n- [yaml](http://www.swi-prolog.org/pack/list?p=yaml) - YAML parser.\n\n## Regular Expressions\n\n- [regex](https://github.com/mndrix/regex) - Regular expressions library.\n\n## REST Frameworks\n\n- [arouter](https://github.com/rla/alternative-router) - HTTP router/dispatcher.\n\n## Server\n\n- [httppl](https://github.com/jamesbvaughan/httppl) - Simple HTTP server.\n- [letswicrypt](https://github.com/triska/letswicrypt) - HTTPS server.\n\n## Testing\n\n- [tap](https://github.com/mndrix/tap) - Automated TAP testing.\n- [quickcheck](https://github.com/mndrix/quickcheck) - QuickCheck randomized testing.\n- [PlUnit](http://www.swi-prolog.org/pldoc/package/plunit.html) - Prolog unit tests.\n\n## Text Editor Extensions\n\n- [prolog.vim](https://github.com/adimit/prolog.vim) - Prolog integration for Vim.\n- [ediprolog](https://github.com/triska/ediprolog) - Prolog integration for Emacs.\n- [sublimeprolog](https://github.com/alnkpa/sublimeprolog) - Prolog integration\n  for Sublime Text.\n- [repl.vim](https://github.com/ujihisa/repl.vim) - VIM REPL with support for SWIProlog.\n- [Ciao mode for Emacs](https://github.com/ciao-lang/ciao_emacs) - Emacs mode for Ciao and Prolog.\n\n## Utilities\n\n- [pac](http://www.swi-prolog.org/pack/list?p=pac) - Anonymous predicates expansion utility.\n- [list_util](https://github.com/mndrix/list_util) - List utility predicates.\n- [gvterm](http://www.swi-prolog.org/pack/list?p=gvterm) - Reveal terms using Graphviz.\n- [odf_sheet](http://www.swi-prolog.org/pack/list?p=odf_sheet) - Load and analyze ODF spreadsheets.\n- [graphml](http://www.swi-prolog.org/pack/list?p=graphml) - Create GraphML files.\n- [fileutils](http://www.swi-prolog.org/pack/list?p=fileutils) - File manipulation library.\n- [dia](http://www.swi-prolog.org/pack/list?p=dia) - UML loading predicates.\n- [cplint_r](https://github.com/frnmst/cplint_r) - R plotting predicates.\n- [tuProlog](http://apice.unibo.it/xwiki/bin/view/Tuprolog/WebHome) - Light-weight system for distributed applications and infrastructures.\n\n## Resources\n\n### Tutorials\n\n#### Beginner\n\n- [Learn Prolog Now!](http://learnprolognow.org/lpnpage.php?pageid=online) - Thorough introductory course to programming in Prolog.\n- [P-99: Ninety-Nine Prolog Problems](https://sites.google.com/site/prologsite/prolog-problems) - Practice problems in Prolog and Logic programming.\n- [The Power of Prolog](https://www.metalevel.at/prolog) - Introduction to modern Prolog.\n- [Simply Logical](http://book.simply-logical.space) - Intelligent reasoning by example.\n- [Prolog Wikibook](https://en.wikibooks.org/wiki/Prolog) - Thorough Prolog overview.\n\n#### Advanced\n\n- [Prolog for Software Engineering](https://www.cs.auckland.ac.nz/~j-hamer/07.363/prolog-for-se.html) - Software engineering fundamentals using Prolog.\n- [Prolog Modules](http://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/tutorials/swiplmodtut.html) - Fundamentals in SWI-Prolog Modules.\n- [Web Applications in SWI-Prolog](http://www.pathwayslms.com/swipltuts/html) - Building web application with SWI-Prolog.\n- [Constraint Logic Programming over Finite Domains](https://github.com/triska/clpz) - Fundamentals of Constraint Systems on Finite Domains.\n- [Printing Messages in SWI-Prolog](http://www.pathwayslms.com/swipltuts/message/index.html) - IO handling in libraries.\n\n### Videos\n\n- [Prolog Tutorial](https://www.youtube.com/watch?v=SykxWpFwMGs) - General hour-long video tutorial.\n- [Introduction to Prolog](https://www.youtube.com/watch?v=GHLfeGN5OMk) - Hour-long introduction to Prolog.\n- [Programming In Prolog](https://youtu.be/gJOZZvYijqk) - Four-part video introduction.\n\n### Free Courses\n- [Prolog Online Training](https://www.youtube.com/playlist?list=PLWPirh4EWFpFLjsd3IUqymnCVBaz1Yagg) - Tutorials Point's series on Prolog.\n- [Prolog in Artificial Intelligence](https://www.youtube.com/playlist?list=PLWPirh4EWFpEYxjEJyDoqplBhJF91Mwkp) - Tutorials Point's series on Prolog with lectures relating Prolog to AI.\n\n### Books\n\n- [Adventure in Prolog](http://www.amzi.com/AdventureInProlog/apreface.php) - Pragmatic approach to Prolog.\n- [Prolog Programming in Depth](http://www.covingtoninnovations.com/books.html#ppid) - Full coverage of the Prolog programming language.\n- [Logic, Programming and Prolog](http://www.j-paine.org/prolog/mathnotes/files/pms/node1.html) - Foundations of Logic programming and programming techniques in Prolog.\n- [Natural Language Processing for Prolog Programmers](http://www.covingtoninnovations.com/books.html#nlp) - Turning theories into practical techniques.\n- [Artificial Intelligence through Prolog](http://faculty.nps.edu/ncrowe/book/book.html) - In-depth coverage of key concepts on artificial intelligence.\n- [Building Expert Systems in Prolog](http://www.amzi.com/ExpertSystemsInProlog/index.htm) - Build prototype expert system shells and their underlying inference engines.\n- [Coding Guidelines for Prolog](https://arxiv.org/abs/0911.2899) - Coding standards and good practices for Prolog.\n- [The Art of Prolog](https://mitpress.mit.edu/books/art-prolog-second-edition) - Advanced programming techniques for Prolog.\n\n### Community\n\n- [Prolog FAQ](https://www.metalevel.at/prolog/faq) - Frequently Asked Questions list of the SWI-Prolog newsgroup.\n- [SWI-Prolog Discourse](https://swi-prolog.discourse.group/) - Official SWI-Prolog Discourse board.\n- [SWI-Prolog Mailing List](http://www.swi-prolog.org/Mailinglist.html) - Announcements, questions and discussion among SWI-Prolog users.\n- [SWI-Prolog Freenode](http://webchat.freenode.net/?channels=##prolog) - IRC channel of the SWI-Prolog community.\n- [SWI-Prolog Google Group](https://groups.google.com/forum/#!forum/swi-prolog) - SWI-Prolog user\n  discussion forum **DEPRECATED**.\n- [Stack Overflow Prolog](https://stackoverflow.com/questions/tagged/prolog) - User questions under the Prolog tag.\n- [Reddit Prolog](http://www.reddit.com/r/prolog) - Logic Programming and Prolog subreddit.\n\n## Contributing\n\nContributions are super welcome!\n\nHave a look at the [Contributing Guidelines](contributing.md) on how to get started.\n\n## License\n\n[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaudiosinani%2Fawesome-prolog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklaudiosinani%2Fawesome-prolog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaudiosinani%2Fawesome-prolog/lists"}