☰
↑
←
→
🔍
TOC
Additional Features of Prolog
and the ISO Standard
»
Table of Contents
ON THIS PAGE
The ISO Prolog standard
An Overview of The ISO Prolog Standard
Programming Interface (Writing and Running Programs)
(ISO-)Prolog Syntax and Terminology
Prolog Syntax — Defining Operators
Prolog Syntax — Operators (Contd.)
Prolog Syntax — Operators (Contd.)
The Execution Mechanism of (classical) Prolog
Built-in Arithmetic
Built-in Arithmetic (Contd.) – The arithexpression type
Built-in Arithmetic (Contd.)
Arithmetic Programs
Dynamic Checking of Basic Types
Type Checking Predicates (Contd.)
Structure Inspection
Structure Inspection (Contd.)
Example of Structure Inspection: Arrays
Example of Structure Inspection: Arrays (Contd.)
Example of Structure Inspection: Subterms of a Term
'Higher-Order' Structure Inspection
Conversion Between Strings and Atoms (New Atom Creation)
Meta-Logical Predicates
Meta-Logical Predicates (Contd.) – choosing implementations
Meta-Logical Predicates (Contd.) – choosing implementations
Comparing Non-ground Terms
Comparing Non-ground Terms (Contd.)
Input/Output
Input/Output (Contd.)
Input/Output (Contd.)
Pruning Operator: Cut
Pruning Operator: Cut (Contd.)
Types of Cut: White and Green Cuts
Types of Cut: Red Cuts
Types of Cut: Red Cuts (Contd.)
Types of Cut: Red Cuts (Contd.)
Meta-Calls and Implementing Higher Order
Further Higher Order Facilities
Further Higher Order Facilities (Ciao)
Meta-calls – Aggregation Predicates
Meta-calls – Aggregation Predicates (Contd.)
Meta-calls – Aggregation Predicates: Examples and Exercises
Meta-calls – Negation as Failure
Meta-calls – Negation as Failure – Ensuring Correctness
Cut-Fail
Dynamic Program Modification (I)
Dynamic Program Modification (II)
Dynamic Program Modification (III)
Meta-Interpreters
Meta-Interpreters: extending the basic meta-interpreter
Incomplete Data Structures - Example: Difference Lists
Playing with difference lists
Quick-sort using standard lists and append
Quick-sort using standard lists and append
Quick-sort using difference lists (no append!)
Quick-sort using difference lists (no append!)
Quick-sort using difference lists (no append!)
Parsing (using append and traditional lists)
Parsing (using difference lists)
Parsing (same, using string syntax)
Parsing (same, using additional syntax: DCGs)
Parsing (same, using additional syntax: DCGs)
Parsing + actions (calling plain Prolog from DCGs)
Other issues in Prolog (see "The Art of Prolog" and Bibliography)
Some Typical Libraries in Prolog Systems
Some Additional Libraries and Extensions (Ciao)
Some Additional Libraries and Extensions (Ciao, Contd.)
Some Additional Libraries and Extensions (Ciao, Contd.)
Table of Contents