Два разных поведения одного и того же кода Prolog с и без отладки
Я использую латентную стабильную версию 6.6.6 64 бит SWI-Prolog для Windows. Код следующий:
start :-
new(Frame, frame('Test')),
send(Frame, open),
send(Frame, append, new(Pic, picture)),
send(Pic, height, 600),
send(Pic, display, new(_Ref1, text('This will disappear in 3 seconds', center, font(screen, roman, 16)))),
sleep(3),
send(Pic, clear),
sleep(3),
send(Pic, display, new(_Ref2, text('Good bye!', center, font(screen, roman, 16)))),
sleep(2),
send(Pic, clear).
Код делает скучный персонал: он создает окно и холст для изображения с высотой 600 пикселей. Он отображает текст, который должен исчезнуть через 3 секунды, через 2 секунды появляется новый текст, который должен исчезнуть через 2 секунды.
Если я запускаю его без отладки, первый текст исчезает через 8 секунд, и все.
Если я запускаю с графической отладкой, код делает то, что должен (см. Описание кода).
Поэтому я беспокоюсь о том, почему два разных результата одного и того же кода имеют два разных результата и почему без отладки код не работает должным образом?