view 3-Prolog/day1-unification.pl @ 90:c27c87cd0f08

Add most of the Day 2 exercises for Haskell
author IBBoard <dev@ibboard.co.uk>
date Sun, 16 Jun 2019 21:09:33 +0100
parents 91d02b3d74f8
children
line wrap: on
line source

% "=" isn't assignment in Prolog, it is "unification" - finding something where
% both structures are identical
cat(lion).
cat(tiger).

% This rule makes sure that X, Y and Z match a lion, a tiger and a bear (oh my!)
dorothy(X, Y, Z) :- X = lion, Y = tiger, Z = bear.

% This rule checks whether both things are cats, if so then they are "twin_cats"
twin_cats(X, Y) :- cat(X), cat(Y).