Relation

Функция rel и класс +relation. Есть соглашение об именовании и “плюс“ как префикс означает класс. Но с другой стороны, классы рекомендуется обозначать с заглавной буквы, а в этом случае не так, что часто смущает. А, вообще, сама концепция “отношение“ в системе PicoLisp как продолжение объектной концепции и её связи с концепцией реляционной базы данных SQL, хотя встроенная база данных в системе объектная, но автору удалось ассимилировать обе концепции, расширив одну до другой с помощью концепции символа как контейнера для хранения произвольных информационных структур.

Указанный класс - абстрактный базовый класс всех отношений базы данных (списка внешних символов!), включающий остальные классы, классы специфицированных отношений типа +Number и даже класс +Symbol. Ну а функция rel определеяет отношение в текущем классе, используя список классов для этого отношения и, возможно, дополнительные аргументы для его инициализации.

То есть на базе реализации концепции “точечной пары“ в системе реализована и концепция “сущность-отношение“, но с разивитой спецификацией последней. “Объекты-отношения управляют значениями свойств сущностей, определяют модель базы данных приложения и отвечают за целостность взаимных ссылок на объекты и индексных деревьев. Отношения хранятся как свойства в классах сущностей, их методы вызываются как демоны (демоны отношений) всякий раз, когда изменяются значения свойств в сущности.”

Предопределенные классы отношений включают “скалярные” отношения, отношения между объектами, классы префиксов контейнеров и индексы префиксных классов … Можно акцентировать, что концепция отношений занимает такое же центральное место в системе, как и символ, а может даже и определяет специфику всей системы, конечно, на базе “архитектуры адресно-символьной виртуальной машины“. То есть идея встроенной базы данных акцентируется как центральная и её разитие далее реализуется как продукционная система Prolog (Pilog) для языка запросов и распределенной базы данных. Впрочем к теме базы данных я планирую возвращаться постоянно, к чему система PicoLisp постоянно сама подталкивает, проявляя в этом свою оригинальность и прагматизм.