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" (которым доступна ещё и информация *о типах выражений*, доступная после проверки типов компилятором!). Сергей
