Re: Re[2]: Рефал "мертв"? Да здравствует Рефал.

2021-06-23 Пенетрантность Arkady Klimov arkady . klimov_AT_gmail . com
Попытаюсь тоже конкретизировать свое представление о рефал-мышлении.
1. Рекурсивный функциональный стиль - да, но это есть и в Лиспе (и многих
других языках).
2. А прежде всего - представление об элементарном шаге как о дереве
решений, причем не обязательно двоичном, где на ветвях - предикаты,
выраженные, в частности, образцами, но не только.
Именно поэтому условия и блоки (в том числе прозрачные, с запятыми и
откатами) считаю необходимыми (indispensable). А тонкое управление откатами
(заборы, отсечение) - уже, пожалуй, лишнее.
3. А еще хочется отметить неявную конкатенацию - хотя почему она лучше
явного конструктора, сказать трудно.
Возможно, дает ощущение какой-то свободы (?) - от необходимости все
загонять в предопределенные типы.
4. Наконец, Рефал - это непревзойденный пример того, как можно минимальными
языковыми средствами выразить все богатство идей и потребностей.
Соответственно, воспитывает тот же минимализм в конструировании.

ср, 23 июн. 2021 г. в 12:41, nikolai.kondratiev_AT_gmail.com :

> Это, вероятно, функциональный стиль программирования вообще. Возможно, что
> Erlang, например, тоже требует похожего мышления.
>
> Немного о другом.
> Я весьма скептически отношусь к понятию IQ и к тестам соответственно, но
> вроде бы этот показатель стабилен для различных тестов и почти не
> тренируется. Инвариантность IQ говорит в его пользу.
>
> Мне где-то попадалась информация о том, что изучение нового языка
> (естественного), сильно отличающегося от уже освоенных, увеличивает IQ на
> 2-3 единицы.
>
> Когда я об этом узнал, то подумал, что мое знание Рефала добавило что-то к
> моему "программистскому IQ".
>
> Такая вот лже-ученая мысль (смайлик).
>
> Коля
>
> -Ursprüngliche Nachricht-
> Von: Boyko Bantchev boykobb_AT_gmail.com 
> Gesendet: Montag, 21. Juni 2021 14:27
> An: refal@botik.ru
> Betreff: Re: Re[2]: Рефал "мертв"? Да здравствует Рефал.
>
> Здравствуйте все!
>
> Несколько человек высказалось в поддержку существования специфического для
> Рефала мышления в решении задач. Однако при этом никто не указывает, в чём
> эта специфика состоит.
> А вопрос интересен даже только ввиду того, что, по-видимому, и среди
> рефальщиков не все разделяют данную точку зрения.
>
> Тем более важно уточнить, в чём состоит связанная с Рефалом специфика,
> если говорить об (согласно Александру Гусеву) «обучении Рефалу не как
> языку, а как методу мышления». Имеется ли, например, порождённая Рефалом
> методология программирования, которую можно излагать и которой можно
> следовать, необязательно прибегая к собственно программированию на Рефале,
> и которая вместе с тем достаточно чётко отличается от других существующих
> методологий?
>


-- 
___
*С уважением, *
*Аркадий Климов,*
*с.н.с. ИППМ РАН,*
*+7(499)135-32-95*
*+7(916)072-81-48*


Re: Re[2]: Рефал "мертв"? Да здравствует Рефал.

2021-06-21 Пенетрантность Boyko Bantchev boykobb_AT_gmail . com
Здравствуйте все!

Несколько человек высказалось в поддержку существования
специфического для Рефала мышления в решении задач. Однако
при этом никто не указывает, в чём эта специфика состоит.
А вопрос интересен даже только ввиду того, что, по-видимому,
и среди рефальщиков не все разделяют данную точку зрения.

Тем более важно уточнить, в чём состоит связанная с Рефалом
специфика, если говорить об (согласно Александру Гусеву) «обучении
Рефалу не как языку, а как методу мышления». Имеется ли, например,
порождённая Рефалом методология программирования, которую можно
излагать и которой можно следовать, необязательно прибегая к
собственно программированию на Рефале, и которая вместе с тем
достаточно чётко отличается от других существующих методологий?


Re: Re[2]: Рефал "мертв"? Да здравствует Рефал.

2021-06-21 Пенетрантность Arkady Klimov arkady . klimov_AT_gmail . com
Добрый день, Василий!
Не знаю за других, но я сидел неделю в отпуске на даче и комп не включал.
Поэтому и молчал.
Я поддерживаю мысль о специфическом рефал-мышлении. Когда-то, не имея
рефала под рукой, приходилось писать на С алгоритмы логического вывода -
так я их просто записывал на рефале на бумаге, а потом в комп вводил код на
С. А сначала пытался писать сразу на С - и ничего не получалось!
Правильно ли я вас понял, что вы имеете опыт использования рефала-6? Мне
было бы интересно узнать подробности.
Мне кстати, тоже приходилось "расшифровывать" свои старые программы, но в
этом, конечно, виноват был не язык, а автор программ.
Когда-то еще в 80-х и я писал на рефале-2, мне нравилась реализация на
Бэсм-6, где был замечательный интерфейс с фортраном, можно было легко
писать свои новые "машинные операции".
Но сейчас я соглашусь с Александром (Г), что это архаика.
Перспективной считаю многодиалектную многоплатформенную реализацию,
потенциал который заложен в последней реализации рефала+, но увы, пока
только потенциал.
Там продвинутые пользователи имели бы полную свободу экспериментировать
собственными синтаксисами, встраивать анализаторы, преобразователи, свои
представления данных и т.п.
Но поднять это на чистом энтузиазме наверно сложно. Пока остается только
мечтать.
Для примера хочу поделиться, как я экспериментировал с синтаксисом в рамках
рефала-6:
переменные терма - просто идентификаторы (со строчной буквы), переменные
символа имеют префикс ".", выражения - "_" (после которых может сразу
стоять цифра). Не предлагаю считать это чем-то эталонным. Просто для
любопытства.
Это перевод чисел в десятичное представление (в список цифр).
(Для очень больших чисел (из 1 цифр и более) он работает заметно
быстрее, чем встроенная функция SYMB. Встроенные функции LENCONT и GETS
специфичны для (моей версии) рефала-6.)
Файл CVD.rf6 (из дистрибутива рефала-6):
-- Fast Convert numbers to Decimal

-- Note: d0=10^29 > 2^96 ; lencont(d0^2)==224
$ENTRY CVD n =  224 n 10>;

Cvd1 l ld n _1 d,  : {
 '<' = ; -- n < d^2
 .   =  32> n _1 d <* d d>>;
 };
Cvd2 {
   n d = ;
   n _1 d ,  : {
0  n2 = ;
n1 n2 =  ;
   };   };
Cvd3 {
   n = ) -30 29>;
   n _1 d ,  : n1 n2 =  ;
   };

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

пн, 21 июн. 2021 г. в 11:39, Александр Гусев gusev_aleksandr_AT_mail.ru <
refal@botik.ru>:

> Добрый день, Василий!
>
> Активность в сообществе действительно невысока нынче. Всем нужно как-то
> выживать, а выживать только на Рефале не получается у всех. ))
>
> «Есть две новости: плохая и хорошая»
>
> «Плохая» в том, что Рефал-2 в существующем виде очень архаичен и по этой
> причине не может стать популярным. Публика пугается самого простого —
> синтаксиса. Цитировать не буду. Нужно иметь готовые задачи и, желательно,
> достаточный опыт в данном диалекте, чтобы продолжать им пользоваться на
> новой платформе.
>
> «Хорошая» в том, я интересуюсь развитием Базисного Рефала, который
> достаточно близок к Рефал-2, как я понимаю. Т.е. несложно для желающих
> синтаксис Рефала-2 привести препроцессированием кода «к общему знаменателю».
>
> И ещё две новости в том же духе, начну с хорошей:
> В моём Рефале-С есть достаточно современных «фишек» естественным путём:
>
>1. Многоплатформенность в основе (интерпретатор на Golang);
>2. UTF-8 в основе (тот же Golang с этим отлично справляется);
>3. Отсутствие серьёзных ограничений по размерам программ и данных;
>4. Программу можно модернизировать в процессе выполнения;
>5. Встроен пошаговый отладчик.
>
>
> И «плохая»: с апреля вступил в «творческий кризис», сломал версию и пока
> не починил её. Надеюсь в течении лета как-то выправить ситуацию.
>
> Вступать в споры по поводу платформы не намерен. Но есть ряд соображений,
> почему сделано так так сделано. Никакой «чужой» код не был использован при
> этом.
>
> Суббота, 19 июня 2021, 23:55 +03:00 от Василий Стеллецкий swi_AT_cnshb.ru <
> refal@botik.ru>:
>
> Доброго времени суток всем!
> Итак, благодарю вас всех за такое ... трехдневное молчание.
> Считаю предложение Василия Стеллецкого считать "базовой" версией рефала
> для реального программирования версию рефал-2 молчаливым большинством
> принятой!
> Дальше осталась техника реализации этой задачи...
> Моя версия рефал-2 не годится - слишком много ограничений, нет возможности
> создать очень большую программу.
> Предлагаю как вариант, версию (я правда, с ней не знакомился, но верю, что
> всё в ней хорошо, если что - сообщество подправит ;) ):
> [
> Ура! Сегодня, 30.05.2005, наконец появилась адаптированная к современным
> платформам Windows-(95/98/ME/NT/2000/XP) и UNIX (FreeBSD, Linux) реализация
> языка Рефал-2. Работа выполнена по открытой лицензии и свободно доступна
> для любых применений, включая коммерческое использование.
> Подробности на рефал-сайте http://www.refal.net/~belous/refal2-r.htm
>  (зеркало http://www.refal.org/~belous/refal2-r.htm ) .]
>
> Желаю успехов [молчаливому] сообществу в реализации [молчаливо] 

Re: Re[2]: Рефал "мертв"? Да здравствует Рефал.

2021-06-21 Пенетрантность Arkady Klimov arkady . klimov_AT_gmail . com
Добрый день, Василий!
Не знаю за других, но я сидел неделю в отпуске на даче и комп не включал.
Поэтому и молчал.
Я поддерживаю мысль о специфическом рефал-мышлении. Когда-то, не имея
рефала под рукой, приходилось писать на С алгоритмы логического вывода -
так я их просто записывал на рефале на бумаге, а потом в комп вводил код на
С. А сначала пытался писать сразу на С - и ничего не получалось!
Правильно ли я вас понял, что вы имеете опыт использования рефала-6? Мне
было бы интересно узнать подробности.
Когда-то еще в 80-х и я писал на рефале-2, мне нравилась реализация на
Бэсм-6, где был замечательны


пн, 21 июн. 2021 г. в 11:39, Александр Гусев gusev_aleksandr_AT_mail.ru <
refal@botik.ru>:

> Добрый день, Василий!
>
> Активность в сообществе действительно невысока нынче. Всем нужно как-то
> выживать, а выживать только на Рефале не получается у всех. ))
>
> «Есть две новости: плохая и хорошая»
>
> «Плохая» в том, что Рефал-2 в существующем виде очень архаичен и по этой
> причине не может стать популярным. Публика пугается самого простого —
> синтаксиса. Цитировать не буду. Нужно иметь готовые задачи и, желательно,
> достаточный опыт в данном диалекте, чтобы продолжать им пользоваться на
> новой платформе.
>
> «Хорошая» в том, я интересуюсь развитием Базисного Рефала, который
> достаточно близок к Рефал-2, как я понимаю. Т.е. несложно для желающих
> синтаксис Рефала-2 привести препроцессированием кода «к общему знаменателю».
>
> И ещё две новости в том же духе, начну с хорошей:
> В моём Рефале-С есть достаточно современных «фишек» естественным путём:
>
>1. Многоплатформенность в основе (интерпретатор на Golang);
>2. UTF-8 в основе (тот же Golang с этим отлично справляется);
>3. Отсутствие серьёзных ограничений по размерам программ и данных;
>4. Программу можно модернизировать в процессе выполнения;
>5. Встроен пошаговый отладчик.
>
>
> И «плохая»: с апреля вступил в «творческий кризис», сломал версию и пока
> не починил её. Надеюсь в течении лета как-то выправить ситуацию.
>
> Вступать в споры по поводу платформы не намерен. Но есть ряд соображений,
> почему сделано так так сделано. Никакой «чужой» код не был использован при
> этом.
>
> Суббота, 19 июня 2021, 23:55 +03:00 от Василий Стеллецкий swi_AT_cnshb.ru <
> refal@botik.ru>:
>
> Доброго времени суток всем!
> Итак, благодарю вас всех за такое ... трехдневное молчание.
> Считаю предложение Василия Стеллецкого считать "базовой" версией рефала
> для реального программирования версию рефал-2 молчаливым большинством
> принятой!
> Дальше осталась техника реализации этой задачи...
> Моя версия рефал-2 не годится - слишком много ограничений, нет возможности
> создать очень большую программу.
> Предлагаю как вариант, версию (я правда, с ней не знакомился, но верю, что
> всё в ней хорошо, если что - сообщество подправит ;) ):
> [
> Ура! Сегодня, 30.05.2005, наконец появилась адаптированная к современным
> платформам Windows-(95/98/ME/NT/2000/XP) и UNIX (FreeBSD, Linux) реализация
> языка Рефал-2. Работа выполнена по открытой лицензии и свободно доступна
> для любых применений, включая коммерческое использование.
> Подробности на рефал-сайте http://www.refal.net/~belous/refal2-r.htm
>  (зеркало http://www.refal.org/~belous/refal2-r.htm ) .]
>
> Желаю успехов [молчаливому] сообществу в реализации [молчаливо] принятой
> им программы!
>
> --
> С уважением,
> --
> Василий Стеллецкий
> mailto:s...@cnshb.ru 
> mailto:sw...@narod.ru
> 
>
>
>
> 17.06.2021, 00:12, "Василий Стеллецкий swi_AT_cnshb.ru"  >:
>
> Господа! Извините, что решился ввязаться в вашу дискуссию...
> 1) специфическое мышление при программировании на рефале всё-таки есть.
> Когда меня, студента в конце 1970-х (я к этому времени уже знал фортран),
> В.Л.Топунов познакомил с рефалом, я вроде всё понимал, но писать на рефале
> смог только примерно через полгода...
> Мне не удалось обучить рефалу ни сына ни кого-либо из сотрудников...
> Правда, я над ними по полгода не висел ;)
> 2) Я не теоретик - скорее практик.
> Когда в 90-х возникли задачи текстовых преобразований данных, мне так и
> хотелось их решить на рефале...
> Но! Рефала я тогда на персоналках не нашел...
> Сначала я в Turbo-C написал "рефальское отождествление", а потом в мае
> 1998-го - свою реализацию рефала/2.
> Т.к. мне было важно именно применение "инструмента", - я реализовал только
> то подмножество возможностей, в которых нуждался...
> 3) мне кажется, что рефал губит множество версий: и базовый, и 2, и 5, и
> 6, и +, и 5lambda, не говоря уж о D и что-то там еще...
> Когда в начале 2000-х проявилось рефальское сообщество, я познакомился с
> версиями 5, 6, +...
> Почему-то я выбрал для использования - 6. Там была развитая работа с
> файлами, а в моей тогдашней версии этого еще не было.
> Если входных или выходных файлов было более одного, для моего тогдашнего
> рефала - это была проблема.
> Мне сейчас приходится не читать, а расшифровывать те программы, которые я
> тогда написал на