Добрый день всем!

В продолжение темы выразимости прогонки. Рефал-4 — диалект, созданный как 
замкнутый относительно операции прогонки. Рефал Плюс — вроде как тоже в нём 
прогонка выразима.

Хочу поделиться следующей мыслью. Для того, чтобы (по аналогии с Рефалом-4) 
прогонка была выразима в Рефале-5, достаточно в него перенести из Рефала-4 
неуспехи и средства управления неуспехами ($GATE, $FENCE, $FAIL). $ERROR можно 
не переносить. Без «результатных блоков» можно обойтись. Все эквивалентные 
преобразования Рефала-4 в такой «расширенный» Рефал-5 переносятся с 
незначительными модификациями.

Вероятно, рефал-компании эта мысль хорошо известна, но в печатном виде я её не 
наблюдал, поэтому пишу сюда. Если кому-то интересно обоснование этой мысли, 
могу написать развёрнутое письмо.

С уважением,
Александр Коновалов

 

From: Александр Коновалов [mailto:a.v.konovalo...@mail.ru] 
Sent: Tuesday, March 20, 2018 11:52 AM
To: refal@botik.ru
Subject: Re[4]: Прогонка для Рефала Плюс

 

Добрый день, Сергей!

 

«А зачем? Ведь, наверняка, эта задача - решаемая. А, как объяснял Кристобаль 
Хунта, если задача решаемая, то тогда зачем же её решать? :-)»

 

Решать чтобы получить удовольствие от процесса решения, прежде всего. Из 
практических применений — можно написать оптимизатор для Рефала Плюс, который 
может прогонять указанные пользователем функции (что-то вроде аналога inline в 
C++) — тоже, чтобы получить удовольствие от процесса решения.

 

«Может быть, в этом направлении "копал" Андрей Немытых. Надо посмотреть, что у 
него сделано по теме "решение уравнений в свободном моноиде":»

 

Я немного знаком с его исследованиями, там речь идёт несколько о другом. На 
сколько я понимаю, там сопоставление с образцом описывается как решения 
уравнения в словах (Маканин и т.д.), для e-переменных описываются рестрикции в 
виде уравнений в словах. Например, если переменная e.X состоит из знаков 'B', 
то для неё задаётся уравнение 'B' e.X = e.X 'B', которое затем учитывается при 
прогонке. По крайней мере этим занимается его ученица Антонина Непейвода.

 

Есть видео недавнего доклада Антонины про суперкомпиляцию с уравнениями в 
словах (я там был, кстати):

http://sdat.ispras.ru/2018/02/1-%d0%bc%d0%b0%d1%80%d1%82%d0%b0-%d0%9e-%d0%b2%d0%b5%d1%80%d0%b8%d1%84%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%bc%d0%b0%d0%bd%d0%b8%d0%bf%d1%83%d0%bb/

 

Слайды:

http://refal.botik.ru/events/String_Manipulating_Supercompilation_Antonina_Nepeivoda_01032018.pdf

 

Антонина тоже есть в рассылке. Возможно, она дополнит и поправит меня в чём-то.

 

Может быть, Андрей делал и ещё что-то, только я не в курсе.

 

С уважением,

Александр Коновалов

 

 

------ Исходное сообщение ------

От: "Sergei Romanenko" <sergei.romane...@supercompilers.ru 
<mailto:sergei.romane...@supercompilers.ru> >

Кому: "Refal Botik" <refal@botik.ru <mailto:refal@botik.ru> >

Отправлено: 17.03.2018 0:10:52

Тема: Re: Re[2]: Прогонка для Рефала Плюс

 

2018-03-15 13:06 GMT+03:00 Александр Коновалов <a.v.konovalo...@mail.ru 
<mailto:a.v.konovalo...@mail.ru> >:

Возможно, я тогда в ближайшее свободное время соберусь с мыслями и напишу 
что-нибудь про прогонку Рефала Плюс.

 

А зачем? Ведь, наверняка, эта задача - решаемая. А, как объяснял Кристобаль 
Хунта, если задача решаемая, то тогда зачем же её решать? :-)

 

А какое-нибудь иное развитие получала прогонка Рефала-4 после тех двух 
препринтов? Пытались ли построить для этого исчисления алгоритм хотя бы для 
частных случаев? Были ли успехи?

 

Может быть, в этом направлении "копал" Андрей Немытых. Надо посмотреть, что у 
него сделано по теме "решение уравнений в свободном моноиде":

http://refal.botik.ru/events/events.htm

 

СР

Ответить