mirror of
https://github.com/klaudiosinani/awesome-prolog.git
synced 2024-11-28 00:59:24 +03:00
9.7 KiB
9.7 KiB
Awesome Prolog
A curated list of open-source Prolog frameworks, libraries and resources.
Contents
- API Interfaces
- Artificial Intelligence
- Build Systems
- Compilers
- Database
- Date
- Development
- IDE
- Interpreters
- JSON
- Logging
- Machine Learning
- Math
- Miscellaneous
- Native
- Object Oriented Programming
- Parsing
- Regular Expressions
- REST Frameworks
- Server
- Testing
- Utilities
- Resources
- License
API interfaces
- twitter_pack - Twitter API interface.
- amazon_api - Amazon API interface.
- blog_core - Blog/CMS framework.
- irc_client - Low-level IRC interface.
- geoip - GeoIP interface.
- plasticsearch - OMDB API interface.
Artificial Intelligence
- zamia-ai - Open source AI system.
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.
Database
- prolongo - MongoDB driver.
- docstore - Document-oriented database.
- db_facts - Centric abstraction layer for SQL.
- bio_db - Biological datasets manager.
- prosqlite - SQLite interface.
Date
- julian - Date-time library.
Development
- typedef - Type definitions.
- lambda - Lambda expressions.
- func - Function application and composition.
- condition - Common Lisp-like condition system.
- function_expansion - Function-like macros.
IDE
- swish - SWI-Prolog web 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.
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
- matrix - Matrix operations.
- nan_numerics_prime - Prime numbers library.
Miscellaneous
- Online Compiler - Execute Prolog online.
- turing - Turing Machine Simulator.
- yesbot - IRC Bot.
- webconsole - Browser as HTML console.
- prologmud - Online text adventure game.
Native
- by_unix - Unix primitives library.
- inotify - Linux notification library.
- plmidi - Macos MIDI interface.
Object Oriented Programming
- logtalk - Object-oriented logic programming.
Parsing
- atom_feed - Atom and RSS feeds parser.
- tokenize - Straightforward text tokenizing.
- markdown - Markdown parser.
- yaml - YAML parser.
Regular Expressions
- regex - Regular expressions library.
REST Frameworks
- arouter - HTTP router/dispatcher.
Server
- httppl - Simple HTTP server.
Testing
- tap - Automated TAP testing.
- quickcheck - QuickCheck randomized testing.
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.
Resources
Tutorials
Beginner
- Learn Prolog Now! - Thorough introductory course to programming in Prolog.
- P-99: Ninety-Nine Prolog Problems - Practice problems in Prolog and Logic programming.
- The Power of Prolog - Introduction to modern Prolog.
- Simply Logical - Intelligent reasoning by example.
- Prolog Wikibook - Thorough Prolog overview.
Advanced
- Prolog for Software Engineering - Software engineering fundamentals using Prolog.
- Prolog Modules - Fundamentals in SWI-Prolog Modules.
- Web Applications in SWI-Prolog - Building web application with SWI-Prolog.
- Definite Clause Grammars - Using Definite Clause Grammars in SWI-Prolog.
- Constraint Logic Programming over Finite Domains - Fundamentals of Constraint Systems on Finite Domains.
- Printing Messages in SWI-Prolog - IO handling in libraries.
Videos
- Prolog Tutorial - General hour-long video tutorial.
- Introduction to PROLOG - Hour-long introduction to Prolog.
- Programming In Prolog - Four-part video introduction.
Books
- Adventure in Prolog - Pragmatic approach to Prolog.
- Prolog Programming in Depth - Full coverage of the Prolog programming language.
- Logic, Programming and Prolog - Foundations of Logic programming and programming techniques in Prolog.
- Natural Language Processing for Prolog Programmers - Turning theories into practical techniques.
- Artificial Intelligence through Prolog - In-depth coverage of key concepts on artificial intelligence.
- Building Expert Systems in Prolog - Build prototype expert system shells and their underlying inference engines.
Community
- Prolog FAQ - Frequently Asked Questions list of the SWI-Prolog newsgroup.
- SWI-Prolog Mailing List - Announcements, questions and discussion among SWI-PROLOG users.
- SWI-Prolog Freenode - IRC channel of the SWI-Prolog community.
- SWI-Prolog Google Group - SWI-Prolog user discussion forum.
- Stack Overflow Prolog - User questions under the Prolog tag.
- Reddit Prolog - Logic Programming and Prolog subreddit.