On Tue, May 13, 2025 at 11:21 PM Arkady Klimov arkady.klimov_AT_gmail.com <
[email protected]> wrote:

А по вашему вопросу от себя хочу добавить, что, как мой собственный
> инструмент для повседневной работы - похоже, да, рефал умирает - в связи с
> появлением (уже правда лет 15 ей) языка Julia, которую я сам сейчас активно
> изучаю и использую. Всяческие списки многоуровневые там фактически есть и
> паттерн мэтчинг тоже (в виде надстроек), хоть и не столь красивый, как в
> рефале. Ну и много чего еще интересного, чем рефал похвастать не мог.
> Причем обрабатывать джулию на джулии же можно столь же резво (как рефал на
> рефале), если не резвее.
>

Тут ещё можно сказать, что Джулия является ещё и наследником Лиспа. Помню,
что мы когда-то любили сравнивать Рефал с Лиспом, и получалось, что Лисп -
это "отстой", что-то уровня "ассемблера", по сравнению с Рефалом. Но это
было из-за недостаточного понимания сущности Лиспа. Рефал - это готовый к
употреблению язык. А Лисп - это только основа (framework) для создания
специализированных языков. И, на практике, мало кто работал на "чистом"
Лиспе. Обычно, над Лиспом делались какие-то надстройки, с помощью которых
люди и писали что-то более или менее сложное.

Например, если посмотреть, как у меня сделан специализатор Unmix, то в нём
сначала делается надстройка, реализующая нечто вроде Рефала (сопоставление
с образцом и использование результатов сопоставления в правой части). И
специализатор написан  более или менее в "рефальском" стили. Выглядит -
более или менее "съедобно". (Точнее, Unmix написан не на Lisp-е, а на
Scheme).

А в Джулии тоже можно делать надстройки, как в Лиспе. Но есть ещё одна
мощная штучка: можно реализовывать не только макросы (которые "видят"
только синтаксис), но и "generated functions" (которым доступна ещё и
информация *о типах выражений*, доступная после проверки типов
компилятором!).

Сергей
  • Алг... Александр Коновалов a . v . konovalov87_AT_mail . ru
    • ... Arkady Klimov arkady . klimov_AT_gmail . com
      • ... Sergei Romanenko sergei . romanenko_AT_gmail . com
    • ... Стеллецкий Василий sw710_AT_yandex . ru

Ответить