Programming Language Paradigms - Quicksort Example
- Remember quicksort:
- Split list into 2 parts
- Recursively sort parts
- Join 2 parts
- Imperative Paradigm - Programs specify commands to do
- Declarative Paradigm - Functional Languages
- Declarative Paradigm - Logic Languages
Rules, facts, queries:
grandparent(X, Z) :- parent(X, Y), parent(Y, Z).
parent(jill, bill).
parent(bob, bill).
parent(adam, bob).
% Queries ...
male(bob).
father(X, Y) :- parent(X,Y),
male(X).
% Queries ...