Это простой и легковесный интерпретатор функционального языка программирования Рефал. РЕФАЛ — язык функционального программирования, ориентированный на обработку символьных данных: анализ компьютерных программ, трансляция, обработка текста на естественных и искусственных языках. Основными операциями в Рефале являются сопоставление с образцом и рекурсивный вызов.
Данный интерпретатор реализует минималистичный диалект Рефала под названием
"Крошечный Рефал" (Tiny Refal). Многих элементов классического Рефала в нём нет,
но он в полной мере демонстрирует основные идеи Рефала.
Выражения могут содержать два типа скобок, которые всегда должны быть сбалансированы и правильно вложены:
- структурные скобки — круглые скобки (...), служат для структурирования данных;
- скобки конкретизации (скобки активации) — угловые скобки <...>, служат для выделения участков выражения, подлежащих дальнейшим преобразованиям.
Работа программы заключается в сопоставлении каждому выражению внутри скобок активации преобразованного выражения, определяемого полем программы.