Написал модуль
## Код:
```
MODULE hello;

IMPORT StdIO, Commands;

PROCEDURE Run(context: Commands.Context);
BEGIN
    context.out.String('Привет!');
    context.out.Ln;
    context.out.Update
END Run;

BEGIN
        Run(StdIO.env)
END hello.
```

Скомпилировал командой
## Код:
```
./oberon --config=oberon.ini compile hello.Mod
```

Скомпилировалось. Появились соответствующие файлы с расширениями .GofUu и .SymUu.

Слинковал командой (подсмотрел в исходном тексте модуля Linker.Mod)
## Код:
```
./oberon --config=oberon.ini link --fileName=hello --fileFormat=Raw --extension=.GofUu --displacement=08048000H hello
```

Слинковалось. Появился файл hello. Сделал его исполняемым и запустил. В консоль прописалось
## Код:
```
Привет!
```

Однако команда почему-то завершилась с кодом ошибки 1. А ещё я не смог понять, что там за колдовство происходит с StdIO.env и contecxt.out. У объекта Commands.Context нет никакой процедуры out.

Пока так.

А сборщик мусора при запуске отдельно скомпилированной программы будет работать?