Язык рабочего процесса или WFL ("wiffle") - это язык управления процессом для больших систем Burroughs, включая серию Unisys ClearPath / MCP, и их операционная система Master Control Program. Разработанный вскоре после B5000 в 1961 году, WFL является эквивалентом ClearPath Job Control Language (JCL) на мэйнфреймах IBM и сценариями оболочки из . Unix-подобные операционные системы. В отличие от JCL, WFL - это структурированный язык высокого уровня, укомплектованный подпрограммами (процедурами и функциями) с аргументами и инструкциями высокоуровневой программы потока управления. Программы WFL компилируются в двоичные исполняемые файлы, как и любой другой объект MCP.
WFL используется для высокоуровневых системных операций, таких как выполнение задач, перемещение и копирование файлов, обеспечивая возможность восстановления на высоком уровне. Таким образом, это не язык общего назначения, поскольку вы не можете использовать его для выполнения общих вычислений. Вы можете открывать и закрывать файлы, например, для проверки их атрибутов; однако вы не можете читать или изменять их содержимое в WFL - это вы делаете на языке общего назначения и вызываете его как задачу из WFL.
WFL имеет читаемый синтаксис высокого уровня, похожий на АЛГОЛ. В нем нет низкоуровневых команд JCL, подобных ассемблеру, таких как // SYSIN DD
и т. Д., Для подключения аппаратных устройств и открытия файлов для программ. Все конструкции WFL работают с высокоуровневыми абстракциями задач и файлов. Параметры также являются реальными параметрами HLL, а не параметрами позиции стиля $ 1, $ 2... сценариев оболочки.
WFL также имеет команду блока инструкций, которая используется для предоставления операторам инструкций, необходимых для выполнения текущего задания. Эти инструкции отображаются с помощью команды оператора «IB».
WFL был компилируемым языком в средах. Поскольку некоторые интерфейсы ОС могут изменяться от выпуска к выпуску, код WFL Medium Systems включал копию исходного кода в объектный файл. После выполнения задания WFL он проверяет, совместим ли объект с версией ОС. В противном случае это вызовет перекомпиляцию объекта с использованием источника, встроенного в объектный код.