Google Группы больше не поддерживают новые публикации и подписки в сети Usenet. Опубликованный ранее контент останется доступен.

ELIT3.Семантика2

1 просмотр
Перейти к первому непрочитанному сообщению

Vladimir Pavlikov

не прочитано,
11 июл. 1999 г., 03:00:0011.07.1999
Попробую проиллюстрировать сказанное в предыдущем письме
примерами.

declare property sex as boolean -
декларация _понятия_ "пол". При этом уже явно указано, что речь
идет о некоем свойстве, способном принимать только два конкретных
значения. Так как реализующий тип - простой, может иметь лишь два
возможных значения, и допускает лишь установку своего значения
и его "выдачу" - сама декларация уже содержит реализацию. При
этом _любая_ декларация, любого "понятия", сама является собст-
венным "интерфейсом", т.е. в данном случае декларация определяет
все необходимое для использования этого свойства. Особо хочу под-
черкнуть, что само свойство независимо ни от чего, как и любое "поня-
тие вообще" - оно продекларировано вне каких-либо контекстов, типов
и предполагаемых ролей, т.е. "на внешнем уровне". Разумеется, те
или иные свойства и любые другие понятия могут декларироваться и,
тем более, реализовываться, и зависимо, т.е. для типов, контекстов,
ролей. И таких будет большинство.

Еще одна иллюстрация :

declare man, woman, sex
declare sex as property in (man, woman)

Первая строка декларирует три понятия, без уточнения, _какие_ это
понятия - "понятия, и все". Предполагается, что они могут быть дооп-
ределены позже, в возможно _разных_ ипостасях но, даже если они
и не будут доопределены - сама фиксация уже не бессмысленна.
Вторая строка доопределяет ранее продекларированное понятие, как
свойство, при этом могущее принимать два значения, являющихся
_понятиями_. Про сами man и woman еще ничего не известно - они
в дальнейшем могут быть описаны как типы, или как роли, или как и
то, и другое (разные описания), или не будут доопределяться вооб-
ще - это никак не мешает применению свойства "пол" уже сейчас.
Из этого следует, что даже описание и реализация "мужчины" и/или
"женщины" сложным типом или ролью вовсе не означает, что в лю-
бом объекте, имеющим свойство "пол", должны размещаться пара
громоздких объектов. Для реализации достаточно предоставить место
лишь для размещения UID самого _понятия_ (слова) в хранилище
системы.

Еще одна возможная форма объявления "пола" :

declare man, sex are man

предполагает наличие стандартного предиката is (да?) -

Pete.sex is man д.б. true.

Да, забыл указать - логика предполагается _тернарная_ :
true, false, unknown. Это позволит, в частности, проверять объекты
на наличие требуемых свойств/интерфейсов для определения при-
годности их использования в требуемой роли, а также сам факт дек-
ларирования понятий и то, в каких смыслах они продекларированы.
Да и вообще - от неизвестностей не уйти :)

В этом письме нет ни слова о том, как предлагается разбираться
с ситуациями разных, независимых деклараций одних и тех же
"слов" при внесении их в одну систему - не все сразу, пока удов-
летворитесь самим фактом, что я помню о существовании пробле-
мы :) - значит, какие-то соображения должны быть.
И еще - до сих пор нет никаких _определений_, которые неод-
нократно требовались. Но подождите еще немного - попробуйте
дать [компактное] определение свойства, до написания этого
письма - кто-нибудь поймет его _в_целом_? :) Терминологии и
определениям будет посвящено специальное письмо...

Владимир Павликов.

0 новых сообщений