The Power of Prolog: Videos



Logical Foundations of Prolog


Logic Logic
Predicate Logic Predicate Logic
Horn Clauses Horn Clauses


Prolog Syntax and Semantics


Terms Terms
Lists Lists
Type Tests Type Tests
Operators Operators
Clauses, Rules and Facts Clauses, Rules and Facts
Predicates Predicates
Queries Queries
Integer Arithmetic Integer Arithmetic
Meta-Predicates Meta-Predicates
List Differences List Differences
Pairs Pairs
Definite Clause Grammars (DCGs) Definite Clause Grammars (DCGs)
Conformity Testing Conformity Testing


Prolog Style and Technique


Naming Prolog Predicates Naming Prolog Predicates
Reading Prolog Code Reading Prolog Code
Writing Prolog Code Writing Prolog Code
Clean vs. Defaulty Representations Clean vs. Defaulty Representations
Argument Indexing Argument Indexing
Representing Strings Representing Strings
Sparrows on Eagles Sparrows on Eagles
Reading from Files Reading from Files
Memory usage of Prolog programs Memory usage of Prolog programs
Meta-interpreters Meta-interpreters
Dragon Curve Dragon Curve
Formatting Output Formatting Output
Faster labeling for N-Queens Faster labeling for N-Queens


Prolog Applications and Showcases


Bitcoinolog: Reasoning about Bitcoin Adresses with Prolog Bitcoinolog: Reasoning about Bitcoin Adresses with Prolog
Collatz Conjecture Collatz Conjecture
Knights and Knaves Knights and Knaves
Map Colouring Map Colouring
Sudoku Sudoku
N-Queens N-Queens
Term Rewriting Term Rewriting
School Timetabling School Timetabling
Web Scraping Web Scraping
Social Golfer Problem Social Golfer Problem
Knight's Tour Describing a Knight's Tour with Prolog
Photo Gallery Photo Gallery
Cryptography Cryptography


Prolog Development Environment


Configuring Emacs for Prolog Development Configuring Emacs for Prolog Development
ediprolog: Emacs Does Interactive Prolog ediprolog: Emacs Does Interactive Prolog
Debugging Prolog Code Debugging Prolog Code


The Discipline of Prolog


A Tour of Prolog A Tour of Prolog
Datalog Datalog
The Prolog Toplevel The Prolog Toplevel
Preparing Prolog Preparing Prolog
Applying the Koch method to Prolog Applying the Koch method to Prolog
Pondering Prolog Pondering Prolog
Prolog Antipatterns Prolog Antipatterns


These videos are all work in progress, and they may be replaced by better versions at any time. Hence, if possible, please use the links above to refer to them: They will always point to the latest versions.

More about Prolog: The Power of Prolog.