Re: Evolution of programming languages Was: Об отсечениях внутри блока.


Subject: Re: Evolution of programming languages Was: Об отсечениях внутри блока.
From: Arkady Klimov (klark@bagirra.net)
Date: Fri Dec 01 2000 - 18:23:48 MSK


----- Original Message -----
From: Anton Yu. Orlov <orlov@mccme.ru>
To: Arkady Klimov <klark@bagirra.net>
Cc: Andrei Klimov <Andrei.Klimov@supercompilers.com>; refal <refal@botik.ru>; Fedor Romanenko <fedor@blues.ru>
Sent: Friday, December 01, 2000 4:48 PM
Subject: Re: Evolution of programming languages (Was: Об отсечениях внутри блока.)

| Добрый день, всем!
|
| Отвечаю на вопрос о соответствии AC своей цели ;-).
|
| Arkady Klimov wrote:
|
| > Теперь было бы интересно узнать, как обстоят дела с отсечениями в АС и его реализации?
| > Нет ли там ограничения, исходящего от рефала Плюс: что нет переходов по отсечениям изнутри
| > блока в роли источника. Надеюсь, что нет, иначе о перспективе переводе с Рефала-6
| > в АС можно будет забыть.
|
| Это действительно вопрос реализации, так как подобные ограничения, конечно, никак не
| |влияют на синтаксис.
Формально да, но к АС мы фактически относимся не просто как к синтаксису, а как к нормальному (промежуточному) языку со своей
семантикой. А название может вводить в заблуждение, поэтому я и вставил оговорку "и его реализации", хотя дело тут, конечно, не в
реализации, а в зафиксированной семантике.

| В данный момент работа
| над реализацией еще далека от завершения, но перехват неуспехов уже сделан,
| и данного ограничения на использование отсечений там нет.
Отлично!

А как обстоят сейчас дела с документированностью АС? Сюда же относится и вопрос по семантике. По хорошему, нужно иметь полное
описание семантики, не зависящее от реализации. Вероятно его нужно писать параллельно с первой реализацией (или сразу по ее
завершении). Может кого еще подключить к этому (у кого есть к этому вкус)?
Вопрос о форме надо будет обсудить отдельно.

| Я предлагал такую трактовку отсечений в блоках (не зная, что именно
| это решение принято в Рефале-6) лишь в качестве приятного
| расширения Рефала+, но так как это оказывается необходимым для
| выражения понятий Рефала-6, я думаю можно быть уверенным, что так оно и
| останется в окончательной реализации.
Конечно, пусть останется. Если же нужно будет в рефале+ оставить старую семантику, это, как я понимаю, всегда можно сделать
средствами входного контроля и подходящего отображения из внешнего языка в АС.
|
| И, поскольку с разными Рефалами так все, оказывается, не просто, у меня
| есть вопрос по Рефалу-6. Как обстоят дела с отсечениями
| внутри источника, к которому применяется отрицание?
Неуспех внутри отрицания выходит как нормальное завершение со значением (пустым?), так?
Поэтому понятно, что выйти из отрицания ни обычный неуспех, ни тем более, усиленный отсечением, не может. А нормальный результат под
отрицанием выходит как простой (не усиленный) неуспех. Поэтому, конечно, под отрицанием с точки зрения заборов и отсечений
"начинается новая жизнь", так же как и с начала тела функции. Другое дело, должны ли отсечения быть сбалансированны явными заборами?
Это вопрос дизайна внешнего языка: либо они требуются явно, либо компилятор их будет вставлять сам. Как этот вопрос будет решен в
АС - по большому счету безразлично, так как это не язык для пользователя. (Но важно, чтобы это было как то решено и зафиксировано).
Вообще АС - исключительно приятный объект для воплощения хороших идей, поскольку нет ограничения, что это должно быть "удобно для
пользователя". Но все должно быть максимально логично и однородно.

| В Рефале+ они, как и внутри любого источника, должны быть сбалансированны
| заборами. Кроме того, отрицание в Рефале+ перехватывает неуспехи, идущие после знака равенства. Как я понимаю, в Рефале-6 это не
так?
Да, в рефале-6 это будет авария.

Аркадий.
|
| С уважением,
| Антон.
|
|



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