На этом шаге мы рассмотрим автоматическое преобразование типов.
Совсем не обязательно, чтобы при сопоставлении двух Пролог-переменных они принадлежали одному и тому же домену. Переменные могут быть связаны с константами из различных доменов. Такое (избирательное) смешение допускается, т.к. Пролог автоматически выполняет преобразование типов (из одного домена в другой), но только в следующих случаях:
Аргумент из домена my_dom, который объявлен следующим образом:
domains
my_dom=<base domain> % <base domain>- это стандартный домен
может свободно смешиваться с аргументами из этого основного домена и с аргументами всех совместимых с ним стандартных доменов. Если основной домен - string, то с ним совместимы аргументы из домена symbol; если же основной домен integer, то с ним совместимы домены real, char, word и др.
Такое преобразование типов означает, например, что вы можете:
Существует набор правил, определяющих, к какому домену принадлежит результат смешивания разных доменов.
На следующем шаге мы рассмотрим сопоставление и унификацию.