РЕФАЛ — метаязык, опередивший своё время. Продолжаем рассказывать про языки программирования XX века.
В 1966 году советский кибернетик Валентин Фёдорович Турчин занялся разработкой уникального метаязыка РЕФАЛ (рекурсивных функций алгоритмический). Изначально РЕФАЛ предназначался для различных символьных преобразований, семантического и синтаксического анализа текста.
Однако уже к моменту первой реализации в 1968 году РЕФАЛ превратился в функциональный язык программирования, во многом опередивший своё время.
Уже тогда с помощью РЕФАЛ можно было переводить тексты, генерировать стихи, анализировать числовые последовательности и переписывать программы с одного языка на другой.
РЕФАЛ был основан на нормальных алгоритмах Маркова — сочетании набора символов какого-либо языка (алфавита) и алгоритмических правил их подстановки.
Как писал В. Ф. Турчин: «РЕФАЛ соединяет в себе математическую простоту с практической ориентацией на написание больших и сложных программ».
Исполнение программы на РЕФАЛ происходит путём компилирования её исходного кода в промежуточную программу для абстрактной машины, которая затем интерпретируется.
Современный диалект РЕФАЛ+ появился в 1990 году. Он применяется главным образом для анализа текстов, оптимизации программ (суперкомпиляции) и решения задач в области искусственного интеллекта. На базе популярной платформы Eclipse создана интегрированная среда разработки для РЕФАЛ+.