Спасибо всем за ответы. Получился широкий спектр мнений: от "написать несколько функций" до "будет тяжело сделать". Во всяком случае, я пытался использовать горячую замену в Дельфи, там для этого есть "пакетная архитектура". Ограничений столько, что сразу заходишь в тупик. Мне думается, что всё же в Обероне не слишком гибкая горячая замена. Но при этом есть GCL - реализация Common Lisp на Си. При каждом вызове инкрементного компилятора CL генерируется маленький файлик на Си, затем вызывается внешний компилятор Си, он генерирует разделяемую библиотеку, которая динамически компонуется запущенной программе. Т.е. не только на Обероне, но и на Си можно написать Лисп. Обратное, действительно, затруднительно - на Си можно сделать больше всяких "чудес".

Видимо, чтобы сделать такую же гибкую горячую замену в Обероне, нужно действовать по аналогии с этим компилятором. Каждая функция должна быть отдельным модулем. При этом получится плоская структура модулей.

В целом, похоже, что идея перейти на Оберон не слишком хорошая. С другой стороны, то, что Оберон компактен - это огромный плюс. Может быть, стоит сделать вариант трансляции Яра в Оберон, но это когда-нибудь потом (и явно не очень скоро).