Re: Refal+ abstract syntax


Subject: Re: Refal+ abstract syntax
From: Arkady Klimov (klark@bagirra.rinet.ru)
Date: Fri Nov 26 1999 - 12:58:27 MSK


----- Original Message -----
From: Andrey Slepuhin <pooh@msu.ru>
To: Sergei M. Abramov <abram@botik.ru>
Cc: Arkady Klimov <klark@bagirra.rinet.ru>; <refal@botik.ru>
Sent: Friday, November 26, 1999 11:08 AM
Subject: Re: Refal+ abstract syntax>

> Добрый день всем!
>
> Сергей Михайлович, спасибо за перевод в читаемый формат. Однако само
> содержание
> мне нравится все меньше. В самом деле, если у нас функция есть
> последовательность
> e.Statement, а e.Statement - это почти все что угодно, то мы можем
очень
> легко
> описать некорректную программу. Например, что семантически будет
> означать
> последовательность t.Pattern t.Format ?
Не вижу проблемы - вполне понятная семантика. Скажу более - и
полезная! Результатом t.Pattern является исходное выражение, которое
было результатом предыдущего "действия". При этом этому выражению,
прошедшему сквозь pattern, приписывается новый формат, равный жесткой
части этого pattern. После этого сопоставление с t.Format должно
выполняться статически! Как вы понимаете, это может быть полезным,
когда на один жесткий образец сходятся несколько путей и не все
гарантированно имеют нужный формат. Тогда недостающую "форматность"
можно обеспечить дополнительным образцом!

> Исходный синтаксис Сергея Романенко при некоторой его запутанности
> (тропы, хвосты, источники...) обладает одним _очень_ важным
свойством -
> _любая_ программа в этом синтаксисе семантически корректна [1] (мне
во
> всяком
> случае пока не удалось придумать контрпример). Я пытался как-нибудь
> упростить
> этот синтаксис, но все попытки упрощения приводили к потере свойства
> [1].
> Мне кажется, что этим свойством пренебрегать нельзя.
Я с этим согласен, поэтому приглашаю всех приводить контрпримеры этому
свойству предложенного мной AS.
Спасибо.
Аркадий.
>
> Всего доброго,
> Андрей.



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD