РЕФАЛ
— язык программирования, ориентированный на описание задач преобразования символьной информации. Запись алгоритма на Р. предстает в виде композиции некоторого числа рекурсивных функций на множестве строк символов. Обычное обозначение

, где S — строка, а

символ ф-ции, заменяется на

Здесь К—знак «конкретизации», служащий для явного указания на необходимость вычисления значения ф-ции, а знак — является закрывающей скобкой для К. Описание ф-ции распадается на несколько предложений (правил конкретизации), относящихся к случаям, когда аргумент имеет тот или иной частный вид.
Для вычисления значения ф-ции рассматриваются последовательно предложения и применяется первое из них, оказавшееся подходящим. Напр., ф-ция
которая в заданной строке заменяет все последовательности из нескольких подряд идущих звездочек на одну звездочку, описывается двумя предложениями:
Знак замены
отделяет левую часть предложения от правой;
свободные переменные, которые могут принимать произвольные значения. Использование Р. для машинного выполнения аналитических преобразований в прикладной математике и теор. физике дает практически важные результаты; Р. с успехом используют также в сфере автоматизации программирования и машинного доказательства теорем.
Лит.: Турчин В. Ф. Метаалгоритмический язык. «Кибернетика», 1968, М 4; Турчин В. Ф., Сердобольский В. И. Язык РЕФАЛ и его использование для преобразования алгебраических выражений. «Кибернетика», 1969, N5 3. В. Ф. Турчин.