Спасибо за такое объяснение.

А может быть это достигнуто библиотечным путём? Подобно тому как транслятор функционального или логического ЯП может быть написан на императивном.

Ведь пользуемся мы языком запросов SQL. А программа на Обероне, императивная, описывает, например, данные, т.е. по сути является декларативной.

Код:
BEGIN (* Декларируем команды в конфигурационном файле: *)
  Lad.Section("[Desktop]");
  (*============================================*)
  Lad.CmdBool("UseRecycleBin", IsRecycleBin, SetRecycleBin,
    Win.IsWinVer( {Win2000..Win2003} ), {Lad.NeedLogOff}
  );
  ...
END Desktop.
Нас здесь может смущать только последовательность исполнения. Кстати, на Обероне возможно и мета-программирование. Об этом есть статья Йозефа Темпла, кстати, автора транслятора Ofront.