Намедни пришла в голову мысль о реализации способа динамической загрузки модулей Oberon/F (БлэкБокса) посредством вызова из собранной динамической библиотеки наподобие
libBBox.
В отличие от динамической загрузки (модулем StdLoader) из типичной в ББ структуры папок подсистем (Obx/Code/Hello1.ocf), загружать из:
- локального файла-контейнера, скомпонованного из набора (скомпилированных) модулей подсистем [ObxHello0.ocf, ObxHello1.ocf, ...], находящегося в любой папке на компьютере (по аналогии - небольшой чемоданчик);
- удалённого файла той же структуры, только позволяя скачивать его по сети и загружать оттуда необходимые модули.
И каждый такой контейнер может выступать как независимое приложение с собственной средой времени исполнения, виртуальной песочнице.
Загрузчик должен быть установлен в виде системной службы (как типичные системные программы современных ОС) и позволять загружать приложения, указав путь, по которому надо брать файл-контейнер. Контейнер также может быть сжат в потоке Z/LZMA и прочих, плюс с проверкой целостности.
Таким образом, требуется обдумать интерфейс обращения к контейнеру.