view 3-Prolog/day1-unification.pl @ 78:75dbcd30dee5

Add final exercise code from Erlang It works, but it never made much sense because there was too much magic
author IBBoard <dev@ibboard.co.uk>
date Sat, 01 Jun 2019 20:10:37 +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).