a2 как приложение запускается в виде консольной программы-командной оболочки, из которой стартует gui (или не стартует, если соответствующие команды отсутствуют). Куда уж  меньше ужимать?

## Код:
```
module Hello;
import StdIO, Commands, Options;

procedure Run( context: Commands.Context );
var options: Options.Options;
var str: array 256 of char;
begin
  if ~context.arg.GetString( str ) then (* skip app name *)
    context.error.String("Critical error: no arg"); context.error.Update;
    context.result := Commands.CommandError;
    return;
  end;
  
  new( options );
  options.Add( "s", "show", Options.String );

  if options.Parse( context.arg, context.error ) & options.GetString( "show", str ) then
    context.out.String( str ); context.out.Ln;
    context.out.Update;
  end;
end Run;

begin
  trace("Hello, World!");
  Run( StdIO.env );
end Hello.

компиляция
oberon.exe --config=oberon.ini compile Hello.mod

линковка для вин64

oberon.exe --config=oberon.ini link --fileName=hello.exe --fileFormat=PE64CUI --extension=GofWw --displacement=401000H Trace Traps Hello
```
